Weather, events, and notifications on a Waveshare e-paper display

No comments
Disclosure: This post contains affiliate links. If you click through and make a purchase, I’ll earn a commission, at no additional cost to you. Read my full disclosure here.

E-paper panels from Waveshare make the perfect display for any ESPHome project. They don’t consume much power, they’re legible under direct sunlight, and are easy to set up through the given ESPHome component. Lately, these panels have become affordable enough to allow hobbyists to use them in their projects.

That is precisely what the creator of today’s featured project did: They built a weather, events, and notifications station using an ESP32 and the largest Waveshare e-paper display  available. With its 7.5-inch diagonal, it is larger than just about any smartphone and Kindle out there and even competes with the iPad Mini (7.9‑inch).

The notification display using a Waveshare e-paper display and powered by ESPHome
The finished project (source: /u/gumpy5)


View this featured ESPHome project in Ben Owen’s repository on GitHub.

Hardware needed for the notification display

This project requires the use of an ESP32. Though generally cheaper, the ESP8266 just isn’t powerful enough to drive the second version of this large e-paper display which has a resolution of 800*480. Additionally, the creator makes use of a wakeup pin. To keep the whole thing looking clean and minimalistic, it uses a battery instead of being connected to the mains or a USB device at all time.

The insides of a notification display using a Waveshare e-paper display and powered by ESPHome
The insides (source: /u/gumpy5)

The battery used is a 2500 mAh lithium-ion polymer battery from Adafruit, which can only be charged easily if you have the right ESP32 board. Luckily, Adafruit produces exactly such a board, which will make maintaining the e-paper notification display much easier. The advantage this batter has over competing products is size. Or thickness, to be more precise. At just 8.1 mm, this battery could allow the project to stay about as thin as a picture frame.

As a relatively newly created project, the exact battery life isn’t known yet, but I’d guess it should last for weeks and not just days. To conserve power, the ESP32 is set to sleep for 30 minutes at a time between updating the sensors and screen. Without the use of deep sleep, it would last just four days at the most.

Adafruit HUZZAH32 – ESP32 Feather Board
  • CPU: 240 MHz dual-core Tensilica LX6
  • Flash: 4 MB in the WROOM32 module
  • Connectivity: 802.11b/g/n Wi-Fi and Bluetooth
  • Extras: Built-in lithium-ion/Polymer charger

The chassis is something most of us won’t be able to recreate, as it is laser-cut out of a piece of acrylic. Then again, something similar could be achieved using a 3D printer. Or you could build it manually out of wood. The acrylic does have the advantage of having a really smooth surface, which a 3D printer alone can’t achieve.

How the Waveshare e-paper notification display works

As mentioned, this project utilizes the deep sleep function of ESP32 boards. The e-paper notification display will wake every 30 minutes, run for 60 seconds, and will then return to deep sleep. To allow for over-the-air (OTA) updates, the creator has used a binary_sensor which, when enabled, will keep the board awake.

You will find over 100 lines controlling the text_sensor in this project’s code. To be able to display the weather as icons and not just text, the creator uses around 100 icons in the bitmap format. The icons are, just like the code, available to download from the GitHub repository.

The most complex bit of programming is found in the events. These required a long JSON list in a template sensor that pulls the next three upcoming events. As with the weather, the events also have icons next to their title.

How the notification display using Waveshare e-paper could be modified

While I’m not one to criticize someone else’s work, I do think about what changes I’d make whenever I discover a new ESPHome project. The same goes for this notification display using a Waveshare e-paper panel.

The creator has done an excellent job at keeping things neat and clean. The first change I’d make would not be beneficial to its design, as it would make the whole thing thicker. Despite that, I think the convenience factor trumps the added bulk. I would replace the 2500 mAh lithium-ion polymer battery with an 18650. You can get fantastic charger modules for 18650 batteries  which would allow you to place a female USB-C port somewhere on the outside of the 3D-printed chassis for easy charging. Or you could purchase a shield which has an 18650 and charging components integrated .

By replacing the LiPo battery with an 18650, I could also ditch the ESP32 board used in this project and replace it with a universal raw e-paper panel driver board. These driver boards have all the circuitry needed to drive raw panels, which are cheaper .

Leave a comment

Share to...