Didier Stevens

Friday 29 July 2011

My Home Surveillance System

Filed under: Arduino,Hacking,Hardware — Didier Stevens @ 10:21

Aside from having installed my own Home Automation and CCTV system, I also designed and installed a surveillance system at home. This post will discuss some of the design decisions I took. Some of them are different from more conventional alarm systems.

The surveillance system has many sensors in and around the house (passive infrared (PIR) sensors, reed switches, temperature sensors, …) and can take several actions, like starting sirens, turning on lights, sending text messages, making phone calls, taking pictures, … Which  actions are taken depend on the alert level that was set.

First design decision : this system is designed to deter common burglars, not burglars with inside knowledge of the system.

Second design decision is that the system will log all events coming from sensors, regardless of triggering an alarm.

Third design decision is that there is no alarm delay: if a sensor triggers that would cause the alarm to sound, then the alert sounds immediately. There is no delay or pre-alarm phase. I believe an immediate alarm has a greater deterrent effect. With this design, it’s best to avoid false-positives as much as possible.

Fourth design decision : use analogue PIR detectors, not binary PIR detectors. A classic (binary) PIR detector will just tell you that movement occurred. With an analogue PIR detector, you get the amplitude and duration of the movement, which is useful information to weed out false alarms, or ignore movement from small pets.

Now on to some interesting or unusual use cases.

I have a sensor on the doorbell too. When someone rings the doorbell, the event is logged and the system takes pictures of the front door. I’ve seen some interesting events since this doorbell sensor was installed. For example, I expected a package to be delivered after 18:00. The sender had instructed our national courier company to deliver the package after 18:00. You can probably guess they didn’t follow the instructions. I have evidence they attempted to deliver well before 18:00, and what’s even worse, they left a note saying they had passed around 18:15…

Like modern, commercial alarm systems, I have several alarm zones. For example, I can set the alarm level for when we go to bed. In this mode, the alarm will go off if there is movement inside the house, except in the bedroom and nearby rooms/hall. But come morning, you have to remember to switch off the alarm before you leave the bedroom.
Not with my system. If my system detects movement in the protected zone, and if there has been movement in the bedroom zone just before, it will disable the alarm in stead of sounding the alarm. So no false-alarms triggered in my house by sleepy-heads.

Outside lights that switch on when movement is detected are supposed to deter burglars, but they are so common that I believe the deterrent effect is negligible. My system turns on some lights inside the house when it detects movement outside while it is dark and there is no movement inside. I believe this has a much greater deterrent effect, because it’s so uncommon. And it will also take pictures. I now have a large picture collection of neighborhood cats in my back garden 😉

I’ve recently installed wireless interconnected smoke alarms. I will connect one smoke alarm to my home surveillance system, so that my system is aware when smoke alarms trigger and can act appropriately.

Testing all these functions is fun. I’m ” testing in production “, you can imagine that I don’t have a second home that I can use as a test system.
So sometime you can see me run around the house like a madman, but I’m just testing a new feature I programmed… 😉


  1. Nice post, thanks for sharing.

    I’ve been mentally planning improvements to my own home security system. I had been toying with the idea of CCTV at front door, but really like the idea of taking a picture when the doorbell is rung. I’ll be stealing that, thanks 😉

    Comment by Andrew Waite — Friday 29 July 2011 @ 10:48

  2. Hi Didier,

    As always, your information is not commonplace.

    However, I’d like to know more. Can you give me clues about the products you have installed (manufacturers, …)

    Thank you.


    Comment by pat — Friday 29 July 2011 @ 11:01

  3. What’s your passcode?

    Comment by lseltzer — Friday 29 July 2011 @ 11:27

  4. @Andrew My posts are here to share my ideas, so please feel free to use them, and post your own in the comments

    Comment by Didier Stevens — Friday 29 July 2011 @ 11:53

  5. @pat I think I’ll write a second post to answer this.

    Comment by Didier Stevens — Friday 29 July 2011 @ 11:54

  6. @lseltzer RFID!

    Comment by Didier Stevens — Friday 29 July 2011 @ 11:55

  7. This just sounds so cool! Very curious to hear how your family reacts to your ‘testing in production’ though, after they get stunned by your new electric defence perimeter for example 😉

    On a more serious note: would you be able to post more details on the brand of equipment you are using? I’ve been thinking of this myself, would be great to not have to start from scratch.

    Comment by dwaler — Friday 29 July 2011 @ 12:00

  8. Nice. Looking forward to the next post!

    Comment by masbe — Friday 29 July 2011 @ 12:26

  9. Hello Didier,
    Awesome post! Just one question… The Belgian law says that home alarm systems must be registered at your local Police office. How do you deal with this? (Documents are provided by authorized dealers)


    Comment by Xavier — Friday 29 July 2011 @ 12:49

  10. I’d be interested in hearing more about what HW/SW you’re using as well. For example “taking a photo when someone rings the doorbell” isn’t exactly standard functionality, how are you doing all of this?

    Comment by Dave — Friday 29 July 2011 @ 13:24

  11. @Xavier

    Hi Xavier,

    Since July 2010, this registration is done on http://www.epol.be and is very simple.

    Comment by Didier Stevens — Friday 29 July 2011 @ 14:46

  12. Challenge accepted…..

    Comment by Anonymous — Friday 29 July 2011 @ 19:44

  13. I once discovered that some car had a short delay between trigger and alarm. My guess was that it was so that the burglar would hit the glass, anticipating a siren, it would not sound. Then the burglar would feel safer and more vulnerable to the alarm.

    Quite classic trick in the films. So you might want to add a small delay and measure some tension-release-startle cycles in expensive films where they optimize for the effect.

    Comment by Irve — Monday 1 August 2011 @ 22:00

  14. @Irve Once a former burglar told on TV that he didn’t worry much about sirens, because most people don’t pay attention to them.
    What he didn’t like however, were sirens inside the house, because then he couldn’t hear what was happening inside and outside the house.

    Comment by Didier Stevens — Thursday 4 August 2011 @ 20:01

  15. […] use Phidgets USB interfaces and sensors for my home surveillance system. For the moment, my home surveillance system consists of Python programs running on a PC, but once […]

    Pingback by My Home Surveillance System: Some Details « Didier Stevens — Friday 5 August 2011 @ 11:02

RSS feed for comments on this post. TrackBack URI

Leave a Reply (comments are moderated)

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Blog at WordPress.com.