Esphome

An E-Ink Display - Icons And Basic Graphics

An E-Ink Display - Icons And Basic Graphics



We have previously shown how to display text on our E-Ink display, but to enhance the user experience, it’s crucial to be able to create basic icons and graphics.

ESPHome provides detailed documentation on this topic. As an example, here’s a simple code snippet from my lambda:



//
// center vertical line
//
it.line(max_x/2,row_indent, max_x/2, max_y-row_indent);

max_x and max_y are the max dimensions of my screen.

Icons are slightly more complex, but libraries like Material Design make life easier.

An E-Ink Display - HomeAssistant Data

The next focus is how can we present data that we are interested in onto our E-Ink display screen. One of the things I want to use the display for is to show information on the energy usage of our home. Within Home Assistant I have access to info like the current house battery level, energy imported from the grid, energy exported and the current costs.

So within ESPHome you can expose home assistant data by defining entries in the sensor section of the YAML file as follows :

An E-Ink Status Display - Battery Status

An E-Ink Status Display - Battery Status



The firebeetle 2 supports charging and being powered via a LiPo battery. This means it can be moved around and left without being plugged into a USB cable for extended periods of time. In addition the firebeetle also supports a deep sleep mode that reduces its power consumption hugely (one for a later post).

To get hold of the current battery voltage you can use a sensor in esphome :

An E-Ink Status Display - First Steps

I’ve been looking at the excellent TRMNL TRMNL device and have been very impressed by the simple ecosystem they have created and the openness of the software. My particular itch was to create a display showing information about elements of our home. Things like energy usage/generation, car charge levels, weather forecasts etc. It looks like this would all be possible with TRMNL and I might need to write a simple plugin for the homeassistant data I wanted to consume. However, the waiting list for a device had grown significantly so I had to look at alternates.