The densely packed e-paper display looks better than any LCD

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.
Advertisement

E-paper screens are a thing of beauty. They require no power unless changing states, and they can be read, no matter how much sunlight enters a room. Blacks appear black and there is no backlight bleed. In my opinion, this makes them much more suited for at-a-glance screens than the LCDs found on Google Home and Amazon Alexa devices.

Advertisement

Developer ofilis on GitHub wanted to pack as much information on their 4.2″ e-paper screen from Waveshare as possible, and was kind enough to share their code and designs with the rest of us. In this article, I will be taking a look at the project, and introducing you to perhaps your next ESPHome project.

Table of Contents

A Waveshare e-paper display powered by ESPHome

A Waveshare 4.2″ e-paper display being powered by ESPHome running on an ESP32
Individual pixels can barely be seen on the finished project

At the heart of this project is an e-paper display from Waveshare, who sells models from 1.54″ up to 7.50″. The 4.20″ model used in this project has a resolution of 400×300 pixels. With 119 ppi, this model becomes a retina display at a distance of 74 cm, meaning that you will barely be able to see individual pixels if it’s sitting on your desk at arm’s reach.

Powering the e-paper display is an ESP32, though this project should also be possible using an ESP8266. Only the largest Waveshare e-paper displays require the more powerful microcontroller due to its expanded RAM. To be able to drive the display, a universal e-paper raw panel driver HAT, also from Waveshare, is required. This is down to the display used for this project. Waveshare sells both display modules and raw displays. The latter do not include any panel drivers, whilst the modules do. Using the separate driver HAT does give you more flexibility, as it is attached to the screen using a ribbon cable.

A 4.2″ e-paper display module from Waveshare
The display module includes the panel drivers on the backside

What the Waveshare e-paper displays using ESPHome

Front and centre of this information display is the current weather, date, and time. The weather is simplified using a large icon alongside the current outdoor temperature and chance of rain. Below the current weather is the forecast for the next three days.

Advertisement

To the weather’s left are various sensor readings, such as the temperature of individual rooms, and current status of the printer ink. To the weather’s right are the times for sunrise and sunset, alongside the wind strength and rain precipitation.

To wards the bottom of the e-paper display, the status of two presence sensors and three door/window sensor displayed. Icons are once again used to make these readable at a glance.

Advertisement

A 3D-printed case for a Waveshare e-paper display and ESP32

To complete the project, and hide its nerdiness, the creator decided to 3D-print a case into which all the components can be placed. To not have to design their own, they went with a model that is freely available on Thingiverse. The only downside of this model is that it is meant for battery-powered projects and as such is bigger than need be. Perhaps the creator is planning on adding batteries later on. After all, one of the advantages of e-paper displays is their low power-draw.

An ESPHome project that displays information on an e-paper screen from Waveshare
Creality Ender 3 S1 FDM 3D Printer

  • Direct dual-gear extruder: The Sprite is lighter and features less inertia and more precise positioning, supports PLA/TPU/PETG/ABS print filaments.
  • Dual Z-axis: With a Z-axis dual-screw and Z-axis dual-motor design, the Ender 3 S1 works smoother and more synchronously to lower the possibility of lines and ridges on the sides of your print, thus improving the printing quality.
  • CR Touch automatic bed levelling: 16-point automatic bed levelling technology saves you the trouble of manual levelling and makes levelling simple and easy.
  • PC spring steel printing platform: The innovative printing platform is a combination of a PC coating, a spring steel sheet and a magnetic sticker, the model can be sticked to the platform or take off more easier.

If you fancy a different design but can’t be bothered with creating it yourself, there are many options available on 3D-model sharing sites. One example is this more compact case I also found on Thingiverse.

Code for the ESPHome-powered e-paper display

There are two components to this project’s code and, thankfully, the creator has published both. The first includes the Home Assistant configuration and the second is the code for ESPHome, which is used to pipe sensor data to ESPHome and subsequently to the display.

Advertisement

Home Assistant configuration for the e-paper screen

To replicate this project, you will need to have set up both the moon and time_date platforms in Home Assistant. Additionally, you will need to have a weather integration set up. Based on these two platforms, over 25 template sensors are created, such as extracting the temperature, precipitation, wind strength, and more in to individual sensors. When looking at the code, keep in mind that the creator uses the Turkish language, and you might need the help of a translation app to understand everything.

ESPHome configuration for the e-paper screen

If you have ever worked with screens in ESPHome, you will know that you need to add any fonts you wish to use manually. The creator of this project went with Google Sans (bold and medium) and also the Material Design Web Icons.

It is the ESPHome YAML, though, were the fun starts. Even if you aren’t planning on replicating this project, there is much to be learnt here. The individual sensors previously created in Home Assistant are all configure and made ready to be displayed.

Advertisement

Next, the display configuration is where the complexity starts. Each state, such as whether the weather component is cloudy, foggy, snowy, etc. needs to be set up individually. There are also a handful of presence and door/window sensors included, which need an individual configuration, dependent on their state. This is one of the best examples of how to configure a Waveshare e-paper display in ESPHome, I have found so far.

System Bridge is yet another way to integrate Windows with Home Assistant

The Home Assistant Companion app for Wear OS is here

Advertisement
Liam Alexander Colman, the author and maintainer of Home Assistant Guides.

About Liam Alexander Colman

Liam Alexander Colman has been using Home Assistant for various projects for quite some time. What started off with a Raspberry Pi quickly became three Raspberry Pis and eventually a full-blown server. I now use Unraid as my operating system, and Home Assistant happily runs in a Docker container. My personal setup includes many Zigbee devices as well as integrations with existing products such as my Android TV box. Read on to find out more on how I got started with Home Assistant.

Leave a comment

Advertisement
Share to...