ePaper Display

ePaper presents a different way of thinking about presenting data.
These notes come as I experiment with Lilygo EDP47.
This impressive device costs less than $50 AUD and features:

  • ESP32 microcontroller
  • Wifi
  • Battery management and housing
  • 4.7inch ePaper display
  • Four pushbuttons

The demonstration code and particularly the Weather monitor project available on GitHub are very useful resources in tackling the device.

Apart from remembering to enable PSRAM in compilation, it’s quite trouble free.

ePaper in use

The main advantage of ePaper is its tiny power consumption, allowing a device to run for ages on battery power.
Considering the relative needs to display most current information that is updated frequently then ePaper might not be the best choice since getting the data probably means running the wifi and clearly uses CPU.

For my tests, then I sought data from MQTT and HTTP servers and decided that I could tolerate 15 minute updates on the screen.

What’s critical is that when the ESP is in deep sleep mode and the display turned off, the display continues to show its last update.

My measurements to date show the unit consumes:

  • 140mA while gathering data
  • less than 100uA while asleep (between 15 minute updates)

Screen Management
Unlike TFT and OLED screens typically used with ESPs, the ePaper warrants different handling.

  • Writing strings, drawing lines and boxes can be addressed to NULL, in which case they are drawn directly to the screen.
  • Alternatively and additionally, these strings and drawings can be sent to a framebuffer for later retrieval using an instruction that sends the whole composed buffer to screen at once.
  • That’s preferable in many cases since the screen can be sensibly composed and the action of refresh managed smoothly.
  • Screen drawing on epd is very slow, and blanking the whole screen or any defined rectangular portion causes two or three dramatic “blinks”.
  • With my limited experience of these, I have tended to compose the whole screen in buffer after getting and processing the display data and then turn on the screen, clear it and update with the framebuffer. YMMV.

All in all these are a very satisfying and powerful device. There must be lots of applications….. ?

See my post “epd Practical issues” for the nuts and bolts of this unit.