Friday, 25 December 2015

My Fancy Bluetooth-LE Operated Door Lock



This series of blog posts shows how to reverse engineer an electronic door lock (such as are typically available at any hardware store), and modify it so that it can be controlled (via Bluetooth-LE) from an Android phone. [1]




This all started with a small itch I wanted to scratch, that I got carried away with.

I have a home office where I work out of every day.  The only problem with a home office is that home is where the kids live too.  Being the kind of guy I am, my office is filled with tons of high-tech, expensive, breakable, potentially dangerous, and age inappropriate toys.



So I bought an electronic door lock at the local hardware store.   Nothing fancy, just a locking handle with a simple electronic keypad.




... but I got tired of having to key in the code every time, so I wanted to figure out how to modify to door lock to use Bluetooth (LE) to automagically unlock the door whenever my Android phone was close to the door (none of that NFC nonsense where I actually have to take it out of my pocket  -- too much work).

...but first I needed to reverse engineer the door lock.

Part 1 - Reverse Engineering an Electronic Door Lock using an Oscilloscope

... then I needed to control the Door Lock over BT, so I used an Arduino Uno compatible device with BT-LE capabilities (Bluno Beetle) to control the doorlock.

Part 2 - Controlling my Electronic Door Lock using an Arduino

...  then I needed to write a somewhat decent Android app to actually lock and unlock the door automagically

Part 3 - Controlling my Door Lock from Android using Bluetooth-LE

[1] I actually chose a pretty uncommon door lock (since it just happened to be what the store had in stock), but I suspect that a similar technique would work for other door locks as well.

IN FACT, if you buy me another more popular doorlock, that you'd like me to reverse engineer, I'll give it a shot.




9 comments :

  1. I really liked the project, well done!
    Wouldn't it have been easier (and cheaper) to use the bus pirate instead of an oscilloscope?

    ReplyDelete
    Replies
    1. Not really, no. The bus pirate is useful when you know what the protocol is (SPI, I2C, serial, etc.)

      It's not so great, when you don't know what the protocol is... or as in this case, where it's somewhat custom (async serial with a strange wakeup pulse).

      Delete
    2. Oh! And thanks! Glad you liked the article.

      Delete
  2. This comment has been removed by the author.

    ReplyDelete
  3. Actually, I'm also looking for a security system that I can control through using Bluetooth or WiFi system. My current lock system is key based and I really don't like to carry keys all the time with me.
    www.gpls.com.au

    ReplyDelete
  4. Bluetooth version 1.1 has made leaps and bounds in progress and as a result is not backwards compatible with previous versions. more

    ReplyDelete