About this project
E-paper is a low power, high contrast display technology such as is used in the Kindle ® and other e-book readers. One of the really nice features is that the display panel keeps displaying whatever image was sent last, even when power is removed. I've always thought it would be rather cool to have such a display for the Raspberry Pi.
What is it? The E-Paper HAT
So I made a printed circuit board (PCB) which meets the Raspberry Pi Foundation's HAT specification, including device tree configuration of the required GPIO pins by the HAT EEPROM.
The board is able to drive a 2.7" 264 x 176 pixel E-paper display panel and I'm really rather pleased with the way it looks. It can also drive the 1.44" and 2" display panels from the same manufacturer.
The board also features a DS3231 real time clock (RTC) IC with a CR1220 lithium coin cell for battery backup when the Pi is powered down. The DS3231 is accurate to 5 parts per million, or to within 3 minutes per year. The RTC can generate an interrupt/alarm signal and also a 32KHz clock signal which can be connected through to GPIO pins by solder pad links, if required.
There is provision for you to fit up to four (provided) pushbuttons to the pcb, two either side of the RGB led.
So now I would like to make a lot more of them so that all you folks out there can have one too.
Why did you do it?
When I started looking around to see what was available, my first stop was a development kit from Pervasive Displays (who make the panel I have chosen), then I came across a more compact arrangement from Embedded Artists in Sweden. Unfortunately they both have the drawback that they require trailing cables from the GPIO connector to the board. I wanted something that would just sit right on top of the Pi with no cables to worry about, and I wanted a real time clock on board as well.
What do I get?
- Single - one tested circuit board with display panel attached.
- Twin - two tested circuit boards each with display panel attached.
- 5-pack - not surprisingly, five tested boards each with display panel attached
What can I do with it?
In conjunction with your Raspberry Pi and some power you might make:
- Desk or wall clock
- Weather station
- Twitter feed display
- Anything else you can dream up
It's great for projects where power is at a premium, because it only draws significant current while writing a new image to the display and it retains the last image sent to it even with the power off.
What you can't do is watch movies or fast changing images - it's not that kind of display. The manufacturer gives the operating temperature range for the panels as 0 to 50 degrees Celcius and recommended storage temperature between -20 and +60 Celcius,
Software to drive the display is available from the Repaper GitHub repository comprising a low level C driver which interfaces to a host of Python demo programmes which you can hack to your heart's content. It is possible to draw a completely new image to the panel or to partially redraw sections of the display, using functions from the Python Imaging Library (Pillow) and text can be placed using a variety of system fonts in various sizes.
Detailed instructions on setting up the real time clock and on installing and configuring the GitHub display code will be provided.
The software is provided under an Apache Version 2.0 licence which gives you plenty of freedom to do what you want with it, as long as you leave the original copyright attributions in place.
To be cost-effective, I really need to make a minimum of 250 E-Paper HATs, so get your pledges in now.
Risks and challenges
The circuit is tried and tested and is based on the reference design from the panel supplier. The prototypes are working well as you can see in the video
The main hurdle is likely to be delivery time on the panels, for which I have been quoted up to 16 weeks.
The circuit boards should be available long before the display panels arrive, so they can be tested and configured ready for final assembly.
If this should prove to be really popular, I can see that delivery times might slip for some people, but not excessively. Family and friends will be drafted in to help, if necessary.
I have chosen to use the Royal Mail Signed For service for both UK and international dispatch, which should provide some level of reassurance on actually getting goods to backers.Learn about accountability on Kickstarter
There is a table headed GPIO usage on E-Paper HAT in the section 'About this project' which lists all the pins used and what they are used for. Please note that, although the real time clock uses the i2c bus, you can still hang other devices on the same bus, as long as they don't try to use the bus address 0x68 which is reserved for the clock chip. I have tried this and it works fine. Also, although data for the display is sent over the SPI bus, I understand it is still possible to connect one other SPI device using the same MISO (GPIO9 or P21), MOSI (GPIO10 or P19) and SCLK (GPIO11 or P23), as long as you use CE1 (GPIO7 or P26) as the select line. I have not tried this. There is a distinct possibility that three more pins will be used for an additional (secret :-) feature, but I have tried as a matter of design, to leave TXD (GPIO14 or P8) and RXD (GPIO15 or P10) free in case anyone wants to hang a serial console on there and also CE1 (GPIO7 or P26) for the second SPI channel. I hope that covers most people's questions about the GPIO. If I missed something, please shout out and I'll try to provide an answer.
This is only an indication but I just did some measurements on a Raspberry Pi 2 running the clock demo with partial refresh. I also forced a full refresh by clearing the image buffer in between clock refreshes. With a static display, current draw is around 250mA. When the display is updating, that rises to 280-285 mA. It doesn't seem any different whether it's a partial or full screen update. The update cycle lasts between one and two seconds.
Support this project
- (30 days)