hardware project · 2024
Smart Home Guardian
A network of small Arduino devices that keeps watch over a home or building, checking each room for the early signs of a fire and raising the alarm before a small problem becomes a dangerous one.
- My role
- Hardware and software developer
- Tools
- Arduino (C++), nRF24L01 radios, gas and climate sensors
- Team
- 5 people
Demo: the room devices detect a problem, their lights turn red, and the main unit sounds the alarm.
The challenge
House fires often start with warning signs nobody notices in time: a room getting too hot, smoke building up, or a gas leak. A single smoke alarm in a hallway can't tell you which room is the problem. We wanted a simple, affordable system that watches every room on its own and tells you exactly where something is wrong.
How it works
The system has two kinds of devices. Small room devices sit in each space we want to monitor, and one main device collects everything in one place.
- Room devices constantly check temperature, humidity, smoke, harmful gases and alcohol in the air. Each one processes its own readings, and if something looks unsafe, its light switches from green to red.
- The main device receives updates from every room. Its screen shows the status of each room, and when a problem comes in, it highlights the issue next to that room's number and sounds a buzzer so no one misses it.
Talking without wires
The devices talk to each other wirelessly using nRF24L01 radio modules. We chose them because one main device can listen to up to six room devices at the same time, and the modules automatically confirm each message arrived and resend it if it didn't. That reliability matters for a safety system.
One challenge was interference: the radios share the same 2.4 GHz band as Wi‑Fi and Bluetooth. Choosing the right channel and data rate helped keep messages getting through clearly. With a simple network on top, the same design could scale up to monitor many more rooms.
What's inside
- Brain
- ATmega328P microcontroller (the chip inside an Arduino Uno)
- Sensors
- DHT11 (temperature and humidity), MQ‑2 (smoke and gas), MQ‑135 (air quality and alcohol)
- Alerts
- RGB LEDs, a 20×4 LCD screen and a buzzer
Reflection
This was my first time working with microprocessors and low-level code, and it was one of the most challenging projects I've taken on. Instead of writing code that runs on a computer, we were writing code that had to talk directly to chips, sensors and radios. Small things I'd never had to think about before, like memory limits, timing and how a signal travels between devices, suddenly mattered a lot.
When something didn't work, the problem could be anywhere: a line of code, a loose wire, or a radio losing its signal. Learning to track down issues one piece at a time taught me patience and gave me a much deeper understanding of how technology works underneath the screens we use every day.
Building it as a team of five also showed me how much good communication matters when everyone's work has to fit together. If we took it further, I'd love to add phone notifications so people get an alert even when they're away from home.