Hooking up an e-paper display to my Raspberry Pi

Recently I’ve started experimenting with a Raspberry Pi. This small device is a small linux computer almost the size of a creditcard, and costing just 40 euro. It comes with all basic connections you need like network connection, 2 USB ports for keyboard or other peripherals, an HDMI outlet and a general purpose bus for connecting LED’s, servo motors and all kinds of other electronics. This makes it a very accessible and great tool to build amazing prototypes or just play around.

When you dive into it, you will see there’s a quickly growing community of young and older people playing around with the Raspberry Pi and the more mature Arduino board, and building all kinds of cool projects (sending them to space for example). I got mine in May, and during the summer I found some time to do some experiments.

My first goal was to attach an E-paper display to test if it could be used as an outdoor sports display. E-paper is a great technology, and I expect a lot from it. It uses very little energy (only to change the screen), it is light and flexible, and great for outdoor activities due to it’s high readability  A disadvantage is that the technology is still quite closed and difficult to get. Despite the fact that e-readers are pretty common nowadays, you can’t just order your own custom E-paper display.

Luckily, I found these guys from Embedded Artists that offer an affordable E-paper display which is relatively easy to connect to a Pi, and with help from the rePaper project it only took me a few evenings to get it working. And although the shot below shows my first success, with the right font settings the screen is really clear and (using a single refresh) also suited for displaying dynamic content.

The board form Embedded Artists comes with some demo code in C, that switches between two images. The best way to start is to study and understand this code, and use that knowledge as a base for your own code. As you might expect, operation of the screen is quite low-level, and I would highly recommend to study the explanation of the COG-process on the rePaper site before diving into the code. Trust me, it will save you a lot of time.

When that is done, you will need to write code that converts your input to a 1-bit black&white image. I ended up using a C library called MagickWand, which (after brushing up my C skills) made it actually pretty easy to display some simple text.

My next goal is to connect some sensors using Bluetooth LTE. I hope to share an update on that pretty quickly.

  1. vvdt posted this