all projects / aeroom — 2024
æroom
Intelligent control for connected spaces
overview
æroom is a full-stack IoT platform for monitoring and controlling indoor climate and air quality across multiple rooms. It connects hardware sensors to a web interface through a complete data pipeline — from physical device to database to UI. The course brief asked us to build a connected system from scratch: hardware, backend, and frontend. The design challenge wasn't just technical — it was treating that complexity as a design problem in itself. IoT systems are usually either closed consumer products or developer tools with no thought given to the actual user.
- <1s sensor-to-dashboard latency
problem
The gap in IoT platforms is almost always the same: systems that are technically capable but practically inaccessible. Either locked-down products with no flexibility, or open developer tools that require deep technical knowledge to operate. The brief pushed us to occupy the middle ground — a system built from raw components but designed for a real user. The multi-room, multi-user context added a meaningful design challenge: how do you give people the right information about their spaces while managing access sensibly across a household or small organisation?
process & insights
The project ran two tracks from day one: hardware integration and software architecture. On the hardware side, configuring ESP32 microcontrollers with temperature, dust particle (PM2.5), and air quality (VOC) sensors — getting reliable readings and managing wireless transmission before any UI work could begin. On the software side, designing the full data pipeline from MQTT transport through a Node.js broker to MongoDB storage.
- 01
MQTT is the right transport layer for IoT — lightweight, real-time, designed for constrained devices
- 02
The hardware has to work reliably before the software is worth designing — unstable readings invalidate everything downstream
- 03
Multi-room, multi-user design means information architecture is as important as the sensor stack
- 04
Authentication and access control are core to the product — not an afterthought
- 05
Hiding technical complexity (MQTT topics, sensor IDs, database queries) behind a room-centric interface is the whole design job
solution
Each ESP32 unit measures temperature, dust particles, and VOC air quality, transmitting via MQTT to a Node.js broker that processes incoming data and writes to MongoDB for persistent queryable history. The web interface abstracts the entire technical stack behind a clean, room-centric UI. The platform supports a multi-room dashboard with live sensor readings across all spaces, per-room device management, and a family sharing system where room access can be granted to other accounts via key-based permissions. Authentication gates all data — only authorised users can view or control specific rooms.
- Multi-room dashboard: All rooms and live sensor readings in one unified view
- Device management: Add, remove, and configure sensors per room
- Family sharing: Grant room access to other accounts via key-based permissions
- Data history: Timestamped readings in MongoDB, queryable over time
- Full authentication: Access control gates every room — only authorised users see their data
outcome
æroom was primarily a technical achievement — proving that a complete IoT stack could be built and understood end to end. But the design constraint was equally demanding: making the complexity disappear behind a UI that doesn't require a Node.js background to use. Building something functional and building something usable are two distinct challenges. This project was the first time I had to solve both at the same hardware level — and the gap between them turned out to be bigger than expected.
view on github →