
Independent project
Real-Time Environmental Monitoring
A Raspberry Pi sensor platform measuring the actual air in the room, temperature, humidity, pressure, and particulates, with everything from sensor to dashboard on one device.
I didn't want an app's guess about the air in my flat. I wanted the real numbers, from real sensors, on hardware I could hold in my hand.
Atlantic Forge
The itch
Weather apps and smart-home gadgets are happy to estimate the air around you. I wanted the actual readings: temperature, humidity, pressure, and particulates, measured by real sensors in the room, on cheap hardware I fully controlled. I called the result ClimaSense.
The move
The easy path would have been an off-the-shelf sensor that phones home to a vendor cloud, which defeats the entire point: if the goal is owning your data, the data cannot live on someone else’s server. So I set one constraint before writing any code: the entire stack, sensors, logging, database, and dashboard, has to run on the device itself. That single rule made most of the later decisions for me, and pushed the whole design toward a stack light enough for one low-power board to carry.
How it works
A Raspberry Pi wired directly to temperature, humidity, pressure, and particulate sensors. Small Python scripts read every sensor on a schedule, write each reading to PostgreSQL, and raise alerts when a threshold is crossed. A Nuxt and GraphQL dashboard, packaged with Docker, shows the live picture. All of it runs on the Pi. Nothing touches the cloud.
Real sensor data is humbling. A room is rarely as comfortable as it feels.
What I learned
- One hard constraint, everything on-device, made most of the later decisions obvious.
- A low-power board is more than enough for continuous logging, alerting, and a live dashboard.
- Owning the whole stack means the readings are mine, with no account and no subscription.
- Constraints chosen early are cheaper than flexibility defended forever.
