Just picked up one of these neat ePaper displays from AliExpress for $9.90 for the esp8266. It’s 2.13" in diagonal, has a resolution of 250x122 and is made by Lolin.
Lolin produce a whole bunch of quality esp8266 items - including the ubiquitous Wemos D1 Mini and various I2C sensors. It’s not a shield in that you can sit it on top of an ESP - you need a couple of cables to use the lcd with the esp, you’ll want to get the TFT I2C Connector Shield ($0.70) and TFT e-Paper Cable ($0.80).
Software side, the product comes as-is with no instructions - so it’s off to Github to find potential projects.
I started using Micropython initially but quickly hit a dead-end with a seeming lack of support for this specific ePaper display - you might have some luck with this issue.
However for PlatformIO/Arduino there’s library published in 2019 by Wemos themselves: LOLIN_EPD_Library.
You can use this in your PlatformIO projects by adding these lines to platformio.ini
:
lib_deps =
Adafruit GFX Library@1.6.1
LOLIN_EPD
The Adafruit dependency is incompatible in newer versions, 1.6.1 is the newest version I found that compiles.
There’s a good example program here.
This demonstrates how to render text (from fonts!) onto the display as a full update - where you’ll see the display blank black, white, then update. It also demonstrates selective partial updates of parts of the display by rendering a bitmap there. Herein lies a bit of a limitation - you can’t render text as partial updates, only bitmaps. There may be solution to this point issue #3.
Another ‘feature’ of ePaper is the display will accumulate noise on every partial update, so you’ll need to do a full update every so often anyway.
I’m planning to use this alongside light and environmental (gas) I2C sensors to show a status dashboard for the room, and also publish the values to MQTT for integration into my home automation.