“A 7.5” e-ink display for displaying useful information such as news, weather, crypto prices, tube status and word of the day.
Story
Introduction
E-ink is a fascinating technology due to its low power properties. Being able render an image to a screen and keep in there indefinitely without power is a powerful thing with infinite possibilities.
The motivation for this project came initially from a simple desire to work with e-ink. The idea for the project came a little later. I wanted something that could sit in a central location in my flat and persistently display useful information. I didn’t want the inconvenience of wires so it had to be battery powered and also I didn’t want to charge the battery regularly; every three months or so would be acceptable.
Hardware
I chose a 7.5” e-ink screen from Waveshare with a Raspberry Pi HAT. The main board I wanted to use was a Raspberry Pi Zero, as I had one spare. In order for the battery to last as long as I wanted I knew I needed a way to turn the Pi on and off at set times. To achieve this I used a Sleepy Pi 2, this is a Pi add-on board for power management with an onboard Arduino for programs.
The battery is a 2, 000mAh lipo from Adafruit and I also got a custom made picture frame from eFRAME to house everything in.
Software
My preferred language is JavaScript so that’s what I chose for this. I wrote a Node application to pull in the data I needed and also produce a Bitmap image to be displayed on the screen.
I decided on the following data:
News headlines.
Tube status for the Metropolitan line and the Jubilee line (the two lines I live near).
Word of the day - from the OED.
Crypto currency prices - for Bitcoin, Litecoin and Ethereum
Weather
For generating the image I used the node-canvas library which is a Node implementation of the canvas element. With this I also used my own library called Shapely which abstracts away a lot of the complexity of canvas related code.”