Home security - burglar alarm


over last year I have build and installed home security system based on Arduino. Well actually it stared more then 3 years ago when I was building my house and installed all wires for PIR sensors and smoke detectors into walls and ceilings. There are many Arduino based units like this around here, but maybe mine will be a bit different. I have joined last year to hackaday.com prize, but didn’t make it past quarter finalist. Well, I enjoyed the building and programming of the system, and because of the hackaday contest I have started also a blog to document my steps: http://openhomesecurity.blogspot.cz. This brings back to where I started, and I would like to present my work here.

The system is based on main unit which have ATmega1284P and remote control units with ATmega168P or ATmega328P. They are both connected by RS485 running over my proprietary protocol. Main unit has analogue and digital inputs to various sensors like PIR and reed switches. It has also Ethernet W5200 attached to it, that is used to serve web pages. On web server there are several pages to easily configure all the functions. Also the Ethernet post all inputs into MQTT and also is able to receive commands through it. Next it has radio unit RFM12B, very popular here, which connects the remote sensors. Remote sensors can be also other hardware sensors like humidity, pressure or temperature, that can be later passed by MQTT to database on local computer or internet host. Not last it has GSM modem that is sending SMS based on events in the system. And 2 relays to turn on siren.

Here is how the hardware looked before installation:

Main unit software id driven by NilRTOS, very nice and fast real time OS. I must say just wonderful piece of code that is able to move 8 bit ATmega to different level. I have published all my software to GitHub and also hardware schematic to blog.

Now after a year of real world testing I have polished the code, fixed few bugs, I'm deciding that do next. I have few things on mind. Design new PCB, bigger with all things on it. Move the software to Arduino 1.6 to resolve the last but, that is bothering me a little, with SPI transactions. And port the RTOS from NIl to newer version called ChibiOS RT that allows dynamic threads and dynamic allocation of memory. But for me all works for many months just fine, and now I would like this to maybe become some kind of community project, so I'm not alone in this. Let me know .. :slight_smile: