marshallevetts.com

Weather Station

/ SW Calgary
--:-- Last reading — —
Outside right now
--.-

Waiting for the sensor…

Reading the barometer…
—
Day — of the lunar cycle
—hPa
—
—

Trends

Drag or hover the chart to scrub through readings
Temperature
Station pressure

How it works

ESP32 → Apache → MariaDB → this page
The ESP32 weather sensor board

An ESP32 microcontroller paired with a barometric pressure and temperature sensor sits on the home network and takes a reading every minute. The firmware tracks the current time via an onboard RTC module and the lunar cycle age in software, then POSTs a small JSON payload over HTTPS to ingest.php — a PHP endpoint running on Apache2 on an Ubuntu 26.04 server.

Each reading is written to a MariaDB table by a dedicated low-privilege database user (weather_writer) that only has INSERT and SELECT access to the weather database. This page pulls history from latest.php and draws everything — sky, moon, gauge and charts — on raw canvas, no charting library.

ESP32 + BMP280→ HTTPS POST→ ingest.php→ MariaDB→ latest.php→ you
View the firmware