From c00ff9a3b56b6aa28367488f62afcc6f8185a91f Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Sat, 25 Oct 2025 16:23:39 +0800 Subject: Render rest of the project write ups. --- _site/projects/etlas/index.html | 100 ++++++++++++++++++++++++++++++++++ _site/projects/etlas/index/index.html | 50 ----------------- 2 files changed, 100 insertions(+), 50 deletions(-) create mode 100644 _site/projects/etlas/index.html delete mode 100644 _site/projects/etlas/index/index.html (limited to '_site/projects/etlas') diff --git a/_site/projects/etlas/index.html b/_site/projects/etlas/index.html new file mode 100644 index 0000000..ebcc018 --- /dev/null +++ b/_site/projects/etlas/index.html @@ -0,0 +1,100 @@ + + + + + Etlas: e-paper display for news, stocks, and the weather + + + Etlas: e-paper display for news, stocks, and the weather + + + + + + + + + +
+ +
+ + + +
+
+

ETLAS: E-PAPER DISPLAY FOR NEWS, STOCKS, AND THE WEATHER

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

+ + + + + + +
frontback
+ +

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.

+ +

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

+
+ +

by W. D. Sadeep Madurange

+
+
+ + + diff --git a/_site/projects/etlas/index/index.html b/_site/projects/etlas/index/index.html deleted file mode 100644 index 667c42e..0000000 --- a/_site/projects/etlas/index/index.html +++ /dev/null @@ -1,50 +0,0 @@ -

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.

- - - - - - -
frontback
- -

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.

- -

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

-- cgit v1.2.3