Local sensing
ESP32 weather hardware records temperature, relative humidity, and atmospheric pressure every 30 seconds.
Independent station notes
A home-built view of the air over Lancaster, Wisconsin.
Lancaster, WI Weather! is an independent weather station serving Lancaster, WI. It combines measurements made on site with public forecast, alert, daylight, and radar information from authoritative government sources.
High-level design
Components
ESP32 weather hardware records temperature, relative humidity, and atmospheric pressure every 30 seconds.
PostgreSQL stores observations. Completed JSONL batches are transferred atomically over restricted SFTP.
Python, FastAPI, Jinja, and lightweight JavaScript produce server-rendered pages, interactive charts, unit controls, and mobile touch behavior.
The National Weather Service supplies forecasts and active alerts. The U.S. Naval Observatory supplies sunrise and sunset, with a local calculation as fallback. NWS KARX supplies radar imagery.
Nginx serves the application through TLS. Cloudflare provides proxied DNS, HTTPS redirection, and dynamic-address updates.
Systemd timers import observations every 15 seconds, refresh forecasts and alerts every 15 minutes, and refresh radar every five minutes.
Design boundaries
The public site cannot directly reach the sensor or collector database. It receives completed transfer batches, exposes no public data API or account system, and keeps PostgreSQL on a local Unix socket. No advertising or visitor-tracking service is used by the application.