To many of us, our garage (or workshop) is probably one of the most important parts of the house. If a burglar broke in, we’d likely be more worried about our tools! [Ron Czapala] decided he needed an alarm system in his garage to keep his stuff safe, so he decided to build one from scratch.
The system makes use of a Parallax 4×4 keypad membrane, a MCP23008 port expander, a Parallax Propeller, a LCD screen, and a few switches to represent future magnetic reed switches located in the door and window.
Using circular buffers, the propeller has several states for monitoring the garage.
- Not armed — ignore all sensors
- Armed — system will react to changes in the sensors
- Exit delay — system has been armed, 45 second countdown has begun to allow you to exit the garage
- Window trigger — if the window is opened, the alarm will go off immediately (siren and strobe light)
- Door trigger — alarm will go off in 60 seconds if correct code has not been entered on the keypad
For a complete demonstration, check out the following video where [Ron] explains it all!
http://www.youtube.com/watch?v=plLQFZlsKHA
Do you know what’s even cooler for your home alarm system? Lasers. Check out this laser trip wire alarm!
[Thanks Andrew!]
Using a circular buffer for the code is a bad idea, it helps bruteforcing it
Exactly what I was thinking.
With a circular buffer, just hitting 1234567890123 tries all 10 different possible sequential passwords.
With a little thought, a pattern could be worked out to test all of the possible key combinations in a very short time. (the only limit is the interrupt timer response sequence.)
On second thought, the keypad is probably not the weakest link.
It’s never a good idea to have the control circuitry in the same box as the keypad.
The keypad HAS to be easily accessible for use, but the control loop/battery/etc needs to be located inside of the secured area, and as far from the entrances as possible.
Without some type of tamper trigger or external watchdog circuit on this system, there is nothing stopping an attacker from just ripping the entire box off of the wall (and breaking the wires connecting to the siren).
Step 1: open door
Step 2: break box
Step 3: yank wires
Step 4: back pickup into garage, and load up.
Even if the box has to be in the garage, the siren should have a separate power source and a watchdog up in the attic that triggers as soon as it loses contact with the main box.
In my opinion, the best way is still to grant the arming/disarming module function accessible before the door entry (as much as you can, and well hidden); Which mean exit the keypad and rather use RFID (hide the reader behind a thick wall or wood), RF or even IR. You might as well add a status led or a buzzer that will let you notice if you activated or deactivated the system.
The benefit of doing it, in my opinion, is that you can reduce (or even remove) the delay before you trigger after a door entry detection. It will highly discourage the burglar if when he opens the door, the siren show up immediately and every second he fails to disable the alarm will scare him gradually.
I agree that reducing the alarm activation delay is a great idea.
I would say that even with instant activation, having the control hardware easily identified/found is still an issue.
If the alarm can be deactivated in less than a minute, the neighbors are likely to assume that it was a false alarm.
I would have the control hardware in a different area, and possibly even have a decoy setup in the garage to delay the burglar.
If he thinks that disabling the alarm is going to be easy, he’s going to try to disable it instead of using the free time before the neighbors come check to fill a sack with stuff.
If you’re lucky, the only loss is the steel box that the decoy was mounted in.
awfully hard to disarm the system. Every time you come home you have 12 seconds to enter the correct code. the neighbors will get used to it constantly going off so they will always ignore it.
All commercial alarms have a 1-5 minute entry delay. So having a 1 minute entry alarm delay is a great idea.
What is better is add an alarm code that is the SAME code but with an additional number at the end that is a “disarm” but is actually a silent alarm that will trigger sending a SMS that terrorists are forcing the owner to disarm the alarm under duress.
Actually with 16 keys and a 4 character key (allowing repeated characters) in a specifice sequence there are 65536 possible codes.
Maybe a maximum attempt of 3 passcodes should be implemented. After that it gets locked out from trying anymore until you insert a physical ‘master key’ which would allow the keypad to accept the correct passcode.
By properly locating the keypad inside the zone protected by the door and window sensors, he’s addressed the brute-forcing problem. A burglar has only 60 seconds to execute the attack before the alarm is raised.
More important than a circular buffer is keeping the logic simple. Simple systems can be more easily reviewed, more thoroughly tested, and therefore more reliable. And reliability is the most important attribute of a burglar alarm system (or any safety system.) The challenge for these systems is that they sit idle 99.99% of the time due to their nature, but when called upon to act, they must always respond perfectly.
He’s much better off having code he’s confident in, rather than worrying about a brute-force attack he’s already mostly mitigated.
Absolutely brilliant, i’ve been wanting to do something similar but instead of a system from scratch i’m resorting to implementing changes to my current alarm system. When i finish will send it through with details. Wow, really great project.
This is very cool. I watched another video on the project in its finished state with strobe and housing completed. I was curious (as I don’t know anything about the Parallax Propeller), is it able to log information such as the exact time the alarm went off, or even which sensor tripped the alarm? That information is important in tracking down who, what, or why it went off. Could even set a surveillance camera to kick on if it’s tripped… Idea’s up the wazoo!
The Propeller has “eight processors, called cogs, that can perform simultaneous independent or cooperative tasks”. Different cogs can handle different duties. It can easily write to a SD card, or USB stick with the right hardware. Adding a RTC module would allow for accurate time keeping. Many features could be added but might be a bit overkill for one door and one window.
My custom built alarm is even simpler – based on a single TI MSP430 IC, there is only a keypad, keypad controller IC two mechanical relays and a couple of additional capacitors, resistors and diodes. No LCD – just two LEDs. When a key is hit on the keypad, the computer wakes up and shifts the keys hit into memory. This is checked against the correct hard-programmed code. If it’s incorrect, two more attempts are allowed before locking the keypad for five minutes, by which time the alarm will be sounding and waking up the whole neighborhood. The circuit and the keypad are in the same location, but the system has been designed so that if the circuit is disconnected, either the power or the reed switch lines are cut, or there is any tampering with the circuit, the alarm (mounted in the attic) will sound and cannot be disabled without physically climbing into the attic to rip the alarm out. Even cutting main power will not work as the alarm is backed up by a UPS.
If anyone would like to see it, it was published in Nuts and Volts back in September 2013.
Intelligent manufacturing alarm system I want to ask and get extra parts and a power failure is the
I used a PB137 voltage regulator, a 12V gell cell and DC wall-wart to power my system
http://forums.parallax.com/showthread.php/155592-Hackaday-Alarm-System-Propeller-keypad-(w-MCP23008)-LCD?p=1273713&viewfull=1#post1273713