A website,
hosted on an ESP32.

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.

Visitors
Uptime
Signal
Memory Used
CPU Temp
Storage
Temperature
Humidity
Heat Index
eCO₂
VOC
Altitude
Power Outages (dumsor)
Last updated stale
...

Sensors readings reflect the indoor environment.

Live activity
Waiting for a visit... See all →
Latest message
Loading latest message... Read all →
Loading visitor map...
Today
Loading today's data...
View full stats history →
Sep 3, 2026
Fixed a boot-loop caused by a corrupted flash filesystem (crashed on the first file write after Wi-Fi connect) by reflashing firmware and filesystem and restoring state from the R2 backup. Daily R2 backups now also include the last 7 days of sensor logs, and the device prunes logs older than 10 days so the 1.3MB flash partition can't fill up again.
Aug 26, 2026
CCS811 reliability fix: a CO2 sensor that latches its internal error flag (after a power glitch or bus disturbance) is now software-reset and re-initialized automatically while the rest of the board keeps running, instead of showing "not responding" until a manual reboot. The error log now also records the chip's own error code (e.g. heater fault, sensing-element max resistance) when a recovery is attempted, and the bus-recovery path no longer masks a dead sensor as healthy.
Aug 6, 2026
Live ADS-B aircraft tracking via the local piaware receiver: new /adsb page with an interactive map and flight table, plus a tracking strip on the homepage. The ESP polls the receiver every 5s, filters to the planes being tracked, and streams compact updates to every viewer through the same SSE pipeline as the sensor stats.
Aug 5, 2026
Dropped the SD card. The board has no SD slot, so all storage now lives in the 4MB on-chip flash: config, web assets, logs, stats, guestbook, and history sit in a LittleFS partition (2MB app + 1.875MB filesystem). Done by shimming the existing SD.* file calls to flash (fs::LittleFSFS SD), so none of the storage code had to change; web assets are served pre-gzipped to keep everything inside the partition.
Aug 4, 2026
Tried moving the project to a T-Display Keyboard board. Its GPIO 21/22 are wired to the keyboard rows, so the stock ESP32 I2C pins aren't free. Workaround: I2C now runs on configurable pins (I2C_SDA/I2C_SCL) and the bus-recovery routine manually clocks the configured SCL pin instead of Arduino's default SDA/SCL macros, so it can't drive the keyboard rows.
Aug 4, 2026
This project was forked from HelloESP by Tech1k on 4th August. All credit for the original project goes to them.