Solar E-Paper Display
Posted by Matthew Little on
I wanted to make an E-Paper display that would run continuously without the hassle of recharging, so wanted to power it with a small solar panel. I had both my E-Ink display kit and my solar charger kit, so I decided to put them together to create a solar powered E-Ink display. This worked great and, with a few display updates every day, will easily stay powered if placed on a sunny window sill.
The enclosure was designed in Inkscape and is available in the github repository for this project. It was cut on a laser cutter using 3mm Poplar plywood and some various fixings.
I built the unit and the charging part worked well. The next thing was to upload the example code I had previously written. This is available here:
But when I uploaded it did not work for me due to updates within the libraries. So I have spent the next few days sorting out the code and updating the examples so it works with a clean install of Arduino. All the details are in the top part of the libraries and the github repository above has been updated.
The main 'gotcha' is that there are two versions of the LilyGo E-Paper display which use slightly different E-Paper units. If you use the wrong one you will see that the display is slightly blotchy and undefined. I have tried to make it easy to change from version 1 to version 2 - please check the "board_def.h" file and adjust the code below as required for your unit:
#elif (TTGO_T5_2_0) || (TTGO_T5_2_3)
//#include <GxGDE0213B1/GxGDE0213B1.h> // 2.13" b/w
//#include <GxGDE0213B72/GxGDE0213B72.h> // 2.13" b/w GxGDE0213B1
// Version 1:
// #include <GxGDE0213B72B/GxGDE0213B72B.h> // 2.13" b/w GxGDE0213B72
#include <GxDEPG0213BN/GxDEPG0213BN.h> // 2.13" b/w form DKE GROUP
//#include <GxGDE0213B72B/GxGDE0213B72B.h> // 2.13" b/w
//#include <GxGDEH0213B72/GxGDEH0213B72.h> // 2.13" b/w new panel
#define SPI_MOSI 23
#define SPI_MISO -1
#define SPI_CLK 18
The other big change is the use of WiFiManager to handle all the config settings and wifi passwords. I had done this previously but the updated firmware here is much better. You can press the external button to put it into access point mode and update things. You can also add vairables for the examples in the configuration screen and they get stored to EEPROM (for the open weather map example).
Share this post