logo
Kurashizu Blogwhere ideas flow
  • Home
  • News
  • Blog
  • About
  • Home
  • News
  • Blog
  • About

© 2026 Kurashizu. All rights reserved.

Admin·New Post·Service Status
Powered by Cloudflare·30.10.26
← Back to news

So I have a weatherman, which also tells me the news

Original article
dexteroot.net|19 points|3 comments|by picklerick12|Sep 19, 2026

My Personal News & Weather Station (Part 1)

By Yogiraj H | Published July 2, 2026 #telemetry #esp32 #epaper

The summers in my area are notoriously oppressive—dry, scorching, and often simply unbearable. To find some relief, I decided to implement several strategies to lower my home's internal temperature. However, I knew that to measure success, I first needed a baseline.

I wanted to calculate the average temperature and the standard deviation (σ\sigmaσ) of my living space over a set period to understand the volatility of the heat.


The Philosophy of Information

While tackling the heat, I was also fighting a different battle: the war against algorithmic curation. I've been actively trying to limit the amount of content pushed to me by the "black boxes" of YouTube, Instagram, and Reddit.

"I wanted to reclaim control over my digital consumption, moving away from recommendation engines and back toward intentional discovery."

To achieve this, I adopted miniflux and relied on RSS feeds and the transparent nature of Hacker News (HN). While this worked well, I still found myself missing the "bleeding edge" updates that frequently pop up on HN. Additionally, I have a passion for astronomy—specifically tracking eclipses or the occultation of planets and stars—to determine when to deploy my telescope. This naturally extended into a desire to monitor local air quality.

The Hardware

I remembered an e-paper display gathering dust in my electronics bin. I had originally purchased it from hubtronics.in years ago for a project involving STM32/MC60 embedded programming. Using Claude Code, I decided to transform this forgotten piece of hardware into a static information dashboard.

Technical Specifications: LILYGO T5 4.7"

ComponentDetail
SoCESP32 (Dual-core Xtensa LX6 @ 240 MHz)
ConnectivityWi-Fi 2.4 GHz (802.11 b/g/n), Bluetooth 4.2 + BLE
Memory520 KB SRAM / 8 MB PSRAM / 16 MB Flash
Display4.7" e-Paper (960 ×\times× 540), 16-level grayscale (ED047TC1)
Power/MiscUSB-C, Li-Po connector, RTC, ≈170μA\approx 170 \mu A≈170μA sleep current

E-Paper Dashboard Concept

Designing the User Interface

The primary challenge was determining how to project diverse data points onto a single screen to maximize "glanceability."

The Iterative Process

  1. The "Blob" Phase: My first attempt was a disaster. I ignored layout entirely, resulting in a single, left-aligned mass of text.
  2. The Grid Phase: I prompted Claude to create a 2×32 \times 32×3 (height ×\times× width) grid. This was a significant improvement.
  3. The Attention Phase: I refined the grid so that critical information was larger and more concise.
  4. The Final Layout: I realized the 320px cell for HN headlines was too cramped. I merged the bottom-right two cells into a "Double-Wide HN Zone," placing the date, time, and sunrise/sunset data at the bottom of this section.

Styling Choices:

  • Typography: Switched from OpenSans →\rightarrow→ Montserrat for better fit.
  • Visuals: Replaced image assets with geometric primitives.
  • Convention: Used UPPERCASE UNDERLINED text for titles.

Network Architecture

The system follows a simple client-server model:

The backend is a server written in Clojure that aggregates data and serves it as a static JSON object. The ESP32 fetches this via a fixed internal IP address.

{
  "weather": { "temp": 32, "humidity": 40 },
  "hn_top": ["New AI Breakthrough", "Lisp is back!"],
  "astro": "Lunar Occultation tonight"
}

The Hurdles

I attempted to implement mDNS using ESPmDNS to avoid hardcoding IP addresses. Despite several debugging sessions with Claude, I could not get it to resolve the hostname. I eventually abandoned this, as the static IP was sufficient for my needs.

Current Status & Roadmap

The device currently fetches data, renders it, and enters sleep mode. However, it isn't perfect:

  • Wake-up Bug: The ESP32 often fails to wake up after its 10-minute sleep cycle.
  • Error Handling: If the server fails, the screen stops updating rather than displaying the last known good value.

Future Improvements

  • Integrate a physical sensor for indoor air quality.
  • Sync and display TODO/Reading lists.
  • Implement Change Detection: Only refresh the e-paper if the data has actually changed (to save power and prevent screen wear).