ETLAS: E-PAPER DASHBOARD
05 SEPTEMBER 2024
Etlas is a news, stock market, and weather tracker powered by an ESP32 NodeMCU
D1, featuring a 7.5-inch Waveshare e-paper display and a
DHT22 sensor module.


The top left panel displays the end-of-day stock prices from the Polygon.io API, relayed through my own
FastCGI-wrapped Flask app hosted on a VPS. The stock symbols can be configured
through the Flask app’s application settings. The server.fcgi script enclosed
in the tarball at the end of the page contains the Flask app.
The following diagram outlines this system architecture.

Unlike my e-reader, which worked with raster images,
Etlas downloads time series data as CSV and computes the price curves on the
ESP32.
The more prominent panel on the right of the e-paper display shows local
(Singapore) and world news from the Channel News Asia
RSS feed. The MCU downloads and parses XML data from the RSS feed directly
before rendering it to the display. Although I did it this way to avoid writing
server code, it limits the feeds from which Etlas can receive data. In a future
version, I will relay the RSS feed through a server (like the stock prices) to
make it more flexible.
The bottom panels (middle and right) display the temperature and relative
humidity from a DHT22 sensor. The DHT22 driver, arguably the most interesting
part of the software, reads real-time sensor data by comparing relative pulse
widths. The pulses themselves are too quick for the ESP32 to reliably measure
directly. I ported this
implementation for ESP8266 modules to my ESP32. All credit for the algorithm
belongs to them.
Much of the heavy lifting of acquiring, interpreting, and rendering data from
different data sources is performed on the microcontroller using less than 512
KB of memory. The embedded software that makes that possible is written in C
using the ESP-IDF v5.2.1. My e-paper display driver is a port of Waveshare examples for Arduino
and STM32 platforms.
I’ve been using Etlas daily (for a couple of hours on weekdays and all day on
weekends) since August 2024. As of October 2025, it’s been running reliably for
over a year. If you are interested in an e-paper display like this, drop me an
email at the address on my home page.
Files: source.tar.gz
Etlas is a news, stock market, and weather tracker powered by an ESP32 NodeMCU D1, featuring a 7.5-inch Waveshare e-paper display and a DHT22 sensor module.
![]() |
![]() |
The top left panel displays the end-of-day stock prices from the Polygon.io API, relayed through my own FastCGI-wrapped Flask app hosted on a VPS. The stock symbols can be configured through the Flask app’s application settings. The server.fcgi script enclosed in the tarball at the end of the page contains the Flask app.
The following diagram outlines this system architecture.

Unlike my e-reader, which worked with raster images, Etlas downloads time series data as CSV and computes the price curves on the ESP32.
The more prominent panel on the right of the e-paper display shows local (Singapore) and world news from the Channel News Asia RSS feed. The MCU downloads and parses XML data from the RSS feed directly before rendering it to the display. Although I did it this way to avoid writing server code, it limits the feeds from which Etlas can receive data. In a future version, I will relay the RSS feed through a server (like the stock prices) to make it more flexible.
The bottom panels (middle and right) display the temperature and relative humidity from a DHT22 sensor. The DHT22 driver, arguably the most interesting part of the software, reads real-time sensor data by comparing relative pulse widths. The pulses themselves are too quick for the ESP32 to reliably measure directly. I ported this implementation for ESP8266 modules to my ESP32. All credit for the algorithm belongs to them.
Much of the heavy lifting of acquiring, interpreting, and rendering data from different data sources is performed on the microcontroller using less than 512 KB of memory. The embedded software that makes that possible is written in C using the ESP-IDF v5.2.1. My e-paper display driver is a port of Waveshare examples for Arduino and STM32 platforms.
I’ve been using Etlas daily (for a couple of hours on weekdays and all day on weekends) since August 2024. As of October 2025, it’s been running reliably for over a year. If you are interested in an e-paper display like this, drop me an email at the address on my home page.
Files: source.tar.gz