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:
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:
However, the output I received was:
>make: Entering directory ‘/home/pi/repaper/gratis/PlatformWithOS’
>ERROR: PANEL_VERSION=’NOT-SET’ is incorrect
>please set to one of:
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:
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..
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.