E-Ink Display for Daily News, Weather and More

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.”

Link