  We explore the connection between simple polytopes and self-dual binary codes
via the theory of small covers. We first show that a small cover $M^n$ over a
simple $n$-polytope $P^n$ produces a self-dual code in the sense of Kreck-Puppe
if and only if $P^n$ is $n$-colorable and $n$ is odd. Then we show how to
describe such a self-dual binary code in terms of the combinatorial information
of $P^n$. Moreover, we can define a family of binary codes
$\mathfrak{B}_k(P^n)$, $0\leq k\leq n$, from an arbitrary simple $n$-polytope
$P^n$. We will give some necessary and sufficient conditions for
$\mathfrak{B}_k(P^n)$ to be a self-dual code. A spinoff of our study of such
binary codes gives some new ways to judge whether a simple $n$-polytope $P^n$
is $n$-colorable in terms of the associated binary codes $\mathfrak{B}_k(P^n)$.
In addition, we prove that the minimum distance of the self-dual binary code
obtained from a $3$-colorable simple $3$-polytope is always $4$.
