Low power e-paper dashboard using ESP32

Similar projects worth following is a low power e-paper display with a wide array of possibilities. It can be a weather dashboard, to-do list, picture frame, basically anything that requires a display.


  • ESP32 based low power e-paper display
  • WiFi and Bluetooth for connectivity
  • Under 20uA current consumption in sleep mode
  • Onboard CP2104 USB-UART converter for programming
  • Micro SD Card slot for storing images, files, etc
  • Piezo buzzer for notifications and alerts
  • 4x tactile buttons for user input
  • Battery charger circuit
  • Extension header for interfacing and expanding capabilities

  • Better 3D printed case

    Rohit Gujarathi05/09/2021 at 12:08 2 comments

    Designed a better looking case. The SLA material gives it a nice matt finish. I had to increase the wall thickness for better snap fitting. The curved edges give it a polished look. A stand and a hook are added for keeping it on a desk or hanging it on a wall.

  • Revision 2

    Rohit Gujarathi05/09/2021 at 11:48 0 comments

    The revision 2 PCBs are here! This revision contains quite a few changes to simplify manufacturing as well as lower the sleep current. These have a green solder mask but eventually will go for the original white one.

    The front panel is removed since it was difficult to manufacture reliably and was adding a lot of cost. 4 tactile buttons have been added instead. 

    The dependency on PCF8574 for controlling a few of the IOs is removed and is now only connected to the expansion header. So it's easy to control the e-paper without the overhead of I2C communication with PCF8574.

    The CP2104 circuit is changed to bus powered, so it consumes power only when connected to a host. The LDO is changed to XC6220B331MR-G which has a lower quiescent current. These changes helped reduce the sleep current quite a bit.

    The sleep current is well below 20uA now!

  • Release v0.1

    Rohit Gujarathi02/08/2020 at 16:03 0 comments

    Software for this project is never ending. I find new enhancements and features that can be added almost everyday and I am sure you guys will come up with even more. This release contains a subset of basic features to call it a ‘smart clock’?

    Currently it shows the time, date, calendar, weather and to-do list. It fetches the time from a time server. The weather is fetched from weatherunderground and the to-do list from todoist. I have modified the wifimanager library for easy configuration of SSID, password, time zone, todoist and weatherunderground API keys. The configuration is saved to SPIFFS so it can persist across resets. The time is updated via partial refresh every minute and a full refresh every 5th minute to avoid ghosting. 

    The icons are from feathericons. The wifi symbol indicates if the device successfully connected to wifi when it had to update the weather and to-do list. This update interval is currently set to 6 hours.

    It is pretty low power at the moment.  Consumes under 75uA in deep-sleep mode and should run at least 30 days with update every minute. It will run much longer if updated once a day.

  • 3D printing an enclosure

    Rohit Gujarathi02/05/2020 at 02:23 0 comments

    I finally got around to making the 3D printed enclosure. If I may say so myself, it looks quite slick. I was going for a minimalist look with the thinnest bezels possible. It is completely designed using freecad and the files are available on github.

  • Building The GUI

    Rohit Gujarathi12/16/2019 at 10:16 0 comments

    Building the GUI was not difficult at all. I first designed it in gimp and then converted it to code. The GxEPD library has an easy to use interface for displaying text, images, and geometrical shapes. The font I used is the GoBold , and the weather icons are feather icons

    Adding the functionality was the difficult part. The plan is to use the weatherunderground API for weather, todoist for TO-DO list and a network time server for syncing time. All these details will be updated every six hours. The esp32 is in deep sleep for most of the time. It wakes up changes the time with a partial refresh and sleeps. Every 5 mins it does a full refresh to avoid ghosting.

    Full Image

  • Hardware

    Rohit Gujarathi12/16/2019 at 10:12 0 comments

    I always wanted a display on my office desk which showed time, tasks, calendar, etc and all I could find were devices with LCD displays. Their design did not appeal to me so I decided to make one myself with an e-paper display. The e-paper displays from good-display are very aesthetically pleasing if designed well and don’t need any power to display an image, which means the controller can update and go to sleep.

    The design of is very simple. It uses the esp32 as the main controller with wifi and bluetooth functionality, SD-card slot, GPIO expander (PCF8574), piezo buzzer, RGB LED and 2 capacitive touch buttons. And to program it I have added a CP2104 USB-UART chip which is powered through a solder bridge, so i can cut the trace for lower power consumption when required. The board does not have any sensors but can be added through the GPIO expander.

    The front panel contains the RGB LED and the two touch buttons. They are connected using a flat flex cable to the top side of the PCB. It wraps around the e-paper.

View all 6 project logs

Enjoy this project?



Rohit Sharma wrote 01/06/2022 at 13:38 point

Hey, this is cool, how can I buy this?

  Are you sure? yes | no

peter jansen wrote 02/14/2020 at 04:51 point

This is a great project!  I've been looking for something like this for 6 months.  Any idea when you'll be manufacturing them?

  Are you sure? yes | no

Rohit Gujarathi wrote 02/14/2020 at 05:38 point

Hi Peter,

Thank you for your interest. The manufacturing timeline and decision depends on the kind of response we get. So at the moment we cannot provide an exact date.

  Are you sure? yes | no

ostropest wrote 12/28/2019 at 22:24 point

very nice, but problematic power.

is possible add wifi and solar panel? offgrid or

many people (i too) searching a ssh+terminal+linux=offgrid machine

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates