E-Ink displays are special because they can hold data for ages without any power. Power is only required to change the contents of the display.
These are excellent under sunlight for readability and best choice for static, long cycle, non-changing information like tags, posters, calendars, ebooks, ID cards, etc.
I just got one of these cool displays on hand, so I decided to make a desktop electronic calendar showpiece.
I bought this from waveshare. There are example codes there for Arduino, Raspberry Pi and STM32. The problem with regular Arduinos (like Uno) is that it has only 2 kB RAM. Since the display requires buffering for global variables, Uno becomes unstable. I had a TM4C123 Tiva board from TI which can be programmed just like an Arduino in Energia IDE. The good news is it has 32 kB RAM. With slight modification of the code for Arduino provided by waveshare, the thing is up and running.
First, cuts and holes are made on a rectangular shaped plastic box for cable run, hiding the Tiva Board, placing the display on the front.
Next, hot glue is used to place the box on a Sparkfun Breadboard holder in a tilted position. Then 3AA Battery holder, a power switch and a USB Female port is hot glued for portable on board power option.
Finished product looks like this:
Energia is just an Arduino clone IDE. Almost everything is the same. The main codes for driving the display are borrowed from the waveshare example for Arduino (this project will work with Arduino Mega). I just made some adjustments to SPI bus initialization and made myself calendar functions. Rest of the part is shock.
Video demonstrates power up, updating calendar page, power down and information retained on display after unplugging power:
Future DevelopmentsThere is one problem with any development board (due to debugging circuitry) is the difficulty to reduce current consumption. If a bare Microcontroller is used, its easy to get into sleep mode and save power. That is not the case here, that's why I have made a push power switch for powering the system only when I need to update information on the display. The ideal system should be fully automatic, MCU should wake from sleep periodically (once every month) and update the display automatically.
Maybe more options like:
- RTC Clock for TIme
- Indoor Weather Info (Temperature/Humidity)
- Special Reminder Message
These will make it more cool! Anyways, there is always room for improvement.
Other Application Ideas- Dynamic Poster
- Harry Potter's World like Newspaper
- Smart Business Card
- Info Table at restaurant
- Color Changing Car
Note
The display driver required delay between operations, it's a slow-pow thing because there are physical ink particles inside the display need time to settle down.
This project is Arduino compatible (with chips have 2+ kB RAM).
Comments