Adafruit Repaper 2.0″ Display

E-ink is a great technology. Its the display technology behind the Amazon Kindle. The display is very easy on the eye because the display is not a light source. The display works in bright lights. And the display maintains its image when power is removed. All great!

There are a few downsides: generally they are only two tones, they are relatively expensive, and they have a very low refresh rate.

But if you need a ultra low power display that is readable in sunlight these are great. And the prices are coming down significantly for developer kits. And I have heard that there are color prototypes.

Here is what the 2.7″ version looks like hooked up to a Raspi:

2015-12-13 15.11.38.jpg

Notice that the Raspi is unplugged from power.

You can order this part here.

Here is a video showing the screen refreshing:

The instructions on Adafruit are pretty well written. However, there are few issues I ran into.

First Issue: Pin Mapping

Pin mapping to the Raspi doesn’t match the pins on the Raspi or the Adafruit Pi Cobbler Plus. (At least I couldn’t figure it out.) Save yourself a lot of trouble by not using the Pi Cobbler Plus as a guide and instead go to the Raspi reference material here.  I like my Pi Cobbler Plus for connecting the GPIO to a breadboard but the GPIO labels silk-screened on it do not help here.

Second Issue: Missing parameter on Make command

The documentation on Adafruit will say to run a make command like this:
>make rpi
However, the output I received was:
>make[1]: Entering directory ‘/home/pi/repaper/gratis/PlatformWithOS’
>
>ERROR: PANEL_VERSION=’NOT-SET’ is incorrect
>
>please set to one of:
>
> PANEL_VERSION=’V110_G1′
> PANEL_VERSION=’V230_G2′
> PANEL_VERSION=’V231_G2′

(…)

The error is telling you that you need to pass in a parameter. The PANEL_VERSION parameters meaning is as follows:

V110_G1 is for 1.44″ displays.

V230_G2 is for 2.0″ displays.

V231_G2 is for 2.7″ displays.

So if you have a 2.0″ Repaper display you would run the make command like this:
>make rpi PANEL_VERSION=V231_G2
Same applies to the next build command…
>sudo make rpi-install PANEL_VERSION=V231_G2

Third Issue: SPI port Disabled and Configuration Change Required

When I ran the service start command…
>sudo service epd-fuse start
I received the following error:
>[….] Starting EPD: epd_fuseERROR: could not insert ‘spi_bcm2708’: No such device
It turns out that my Raspi did not have SPI enabled. You can verify this using this command:
> lsmod | grep spi
If the result is empty you don’t have SPI enabled (below I’ll explain how to enable it).
If the result is something like:
>spi_bcm2835 7948 0
then you might have spi enabled but the EPD is looking for spi-bcm2708 (see the error message from above and notice the last 4 digits might be different). To change the EPD to look for the correct spi module change the epd-fuse configuration by opening the file:
>sudo nano /etc/init.d/epd-fuse
In the file editor, find the modprobe setting line and changing the line from:
>modprobe spi-bcm2708
to
>modprobe spi-bcm2835
To enable SPI open the Raspberry Pi’s built in configuration tool:
> sudo raspi-config
and navigate to the “Advanced Options” (using the down arrow) and select it (hit enter) and navigate down to “A6 SPI” and enable it. Reboot..
>sudo reboot
After reboot reconnect (assuming SSH) and try to start the service again:
>sudo service epd-fuse start
It should work now. You can proceed to the Python demos listed in the documentation on Adafruit’s site.