This entire site runs on a chip with 520 KB of RAM. Every page, every sensor reading, served by a microcontroller. Sign the guestbook or view the source.
Sensors are inside a sealed frame, so readings reflect the enclosure, not the room.
May 10, 2026
Refreshed the photo carousel. The current framed shot now shows the device with the DS3231 and nameplate added over the past couple weeks, with the April 19 mounting-day shot kept as the second slide. New boot video too: sharper, tighter cut, no audio track. Hero image on the GitHub repo got the same treatment.
May 8, 2026
/chronicle got a few quality-of-life updates. Today's in-progress entry shows above the archive, refreshing as the chip writes more of the day. Filter chips slice the archive to just milestones, records, anomalies, busy days, or quiet days. Each entry has a share button, and arrow keys step between days on entry pages. Guestbook translation got smarter too: better source-language detection so casual English no longer trips the translate button, and previously-untranslatable diacritic-less Czech, Polish, and Italian now translate correctly.
May 6, 2026
Chronicle entries now align to the chip's local timezone instead of UTC, so each day's entry covers the chip's actual day from where it's running. The chip also notices when one of its sensors stops working, retires it, and writes a chronicle entry about the loss. Behind the scenes, archive folders moved to a year-grouped layout so the chip can run for decades without slowing down. Firmware 1.4 also drops the boot-time CSV migrations to free flash for future features; pre-1.3 installs need to flash 1.3 first.
May 4, 2026
Added /chronicle: a daily entry the chip writes about itself. Auto-generated from sensor readings, visitors, and weather, archived from today onward. Each midnight the day's snapshot freezes into a permanent entry. Five starter templates pick the right shape for the day (busy, quiet, anomaly, milestone, generic), and there's a permalink for every entry.
May 3, 2026
Snake got its own page. Same game, with two leaderboards now: today's top scores and the all-time top ten. Strong scores cross to all-time on their own. Each top entry has a watch button that plays back the actual game. Past quarters move to a Hall of Fame archive so the leaderboard stays fresh.
May 1, 2026
The site can now track its own electricity use with an optional smart plug. The homepage shows live wattage and lifetime energy, plus cost and CO₂ if you set your grid rate. Outdoor weather card grew with air quality, UV index, atmospheric CO₂, dewpoint, and pressure trend, and the icons now match the time of day.
Apr 29, 2026
Added a DS3231 real-time clock module on the breadboard. Boot logs and timestamps are correct right away instead of being wrong for a few seconds until NTP syncs. History page got a year-grouped collapsible layout that stays readable as archives pile up over time. New /about page with the short version of the project story for casual visitors.
Apr 27, 2026
Snake now has a global leaderboard. Top 10 with 3-letter initials, shared across the 404, offline, and timeout pages. Anti-cheat is server-side: the worker hands out a seed at game start, you submit your move log on game over, and the worker replays it to confirm the score. Only way onto the board is actually playing.
Apr 26, 2026
Snake added to the 404, offline, and timeout fallback pages. WebSocket reconnect path is simpler now and recovers faster from transient drops.
Apr 25, 2026
Live uptime's "Best" substat shows from the start instead of waiting a full day.
Apr 24, 2026
Homepage sections lazy-load now, so quick visitors don't fetch things they never scroll to. Inline one-tap translate on non-English guestbook entries via Cloudflare Workers AI. Reply forms got the same character counter as the main form. Console flag tooltips show the full country name on hover.
Apr 23, 2026
Guestbook got two-level reply threading with inline previews and per-message share/copy links. Pagination expanded with a jump-to-page input once past 10 pages. Moderation deletes now tombstone, so the reply chain stays intact with the original message blanked. HTML pages now serve pre-gzipped, cutting transfer size about 4× on every page load.
Apr 21, 2026
Fixed a URL quirk where //anything was leaking through as a page view. Visitors had discovered it and were "chatting" by putting messages in URLs that showed up on the console. Those now return a proper 404. Reboots switched to a deep-sleep wakeup so the device comes back cleanly after OTA updates, instead of needing a physical power cycle.
Apr 19, 2026
Public relaunch on a fresh ESP32. Full rebuild: air quality sensors, historical charts, guestbook with moderation, admin panel, OLED dashboard, daily off-site backups, and a Cloudflare Worker relay so it can live on WiFi without a tunnel.
Nov 2023
The original ESP32 burned out after a little over 500 days online. Site went into a read-only archive of stats, news, and photos until the relaunch.
Jan 30, 2023
Published the first "final" version of HelloESP.
Jul 6, 2022
Added a photo of the ESP32 with the BME280 attached.
Jul 5, 2022
Images now served from the ESP32 itself. Migrated to ESPAsyncWebServer.
Jul 4, 2022
Visitor counter now runs fully off the ESP32 via SPIFFS.
Jul 2, 2022
Added BME280 sensor readings: temperature, humidity, and altitude.
Jun 27, 2022
HelloESP launched. A little project showing what these tiny boards can do.