Specifications

Figure 1. Firefox Displaying
Linux Journal
on an E-Ink Display
E-paper devices have been on the market since around 2006
or so. The good news is that Linux has become the de facto
standard operating system for almost all of these devices. The
two major products, Amazon Kindle and Sony PRS series, both
utilize embedded Linux to achieve their functionality. Those prod-
ucts are great, but it also is fun to build your own device and use
your own applications. That is where the Gumstix embedded
device comes into play. E-Ink has a kit called the AM200 E-Paper
Development Kit that provides all the hardware accessories you
need to build your own E-paper device. Best of all, the kit is
designed to work with Linux and is quite hack-friendly.
The AM200 kit serves to provide proof of concept for
E-Ink. The software it provides helps you run a user-space
application that lets you decode portable pixel map (PPM)
images to the display. This is just to demonstrate the basic
capabilities of the kit. It does not let you run normal X11
applications, such as xterm or xeyes. That’s where this article
comes in—it should help you add a set of building blocks that
expand the system’s functionality. These building blocks will
enable the system to support a standard X server. Once you’ve
gotten an X server on the system, you pretty much can run
anything that’s available from the realm of the penguin and the
wildebeest, including your favorite Web browsers and PDF readers.
First, let’s do a quick review of the hardware infrastructure
we’re using to better understand the software we need to add.
The display shown in Figure 3 is an E-Ink Vizplex display that
has a Thin-Film Transistor (TFT) back end. This is connected
through the fine pitch (FPC) ribbon cable to the adapter board.
This adapter board is there to distribute the correct signals to
the display connectors and also to provide some expansion but-
tons that can be accessed using General-Purpose Input/Output
(GPIO) from the Gumstix. This adapter board sources its signals
from the Metronome controller board, which is the display
interface. It carries the Metronome controller, which has an
associated Linux framebuffer driver called metronomefb to
which X will be talking. The Metronome controller board is
connected via another FPC ribbon cable to the Gumstix board.
The Gumstix board has the XScale PXA255 CPU and all the
associated interfaces, such as Bluetooth, SD card, USB and
others. The Lyre mainboard is the carrier for the Gumstix
board. This Lyre mainboard has the power block, battery stuff,
status LEDs, USB network interface and USB serial interface
that allows us to control the Gumstix from a standard PC.
Now, let’s dig in to the software side of things. The
Gumstix board has relatively strong Linux support. That said,
the development environment for it is not yet perfect.
But, these things are continuing to see rapid change, so
be prepared to roll up your sleeves and hack a bit.
When your Gumstix board arrives, it could have one of two
possible firmware configurations. The first is firmware built using
a set of tools called buildroot. Buildroot is a collection of make-
files and scripts to help you set up a cross-compile environment
for embedded systems. Buildroot will help you pull down
everything you need to build a root filesystem image for your
Gumstix board automatically. It was the de facto standard for
Gumstix until about a year ago. The second possibility is a board
with firmware built using the OpenEmbedded (OE) framework.
OpenEmbedded is a new software framework for building
embedded distributions. It is quite a bit more advanced than
buildroot in terms of capabilities. It also is the currently preferred
build environment for Gumstix. For the purpose of this project,
either one should be good enough, and both are fairly easy to
use. I cover the steps for both of them in this article.
www.linuxjournal.com august 2008
| 57
Figure 2. Running Dillo, xeyes, XClock and XLogo on an E-Ink Display
Figure 3. Picture and Block Diagram of the Hardware: E-Ink Vizplex
Display, Li Ion Battery, Display Adapter Board, Metronome
Display Controller Board, Gumstix Board and Lyre Mainboard
65
432
1