Home Automation

From Makers Local 256
Revision as of 15:37, 4 March 2010 by Bendersgame (Talk | contribs)

Jump to: navigation, search


  • Pick an authentication method DONE USB
  • Computer driven scripts to send signal to USB DONE
    • read in USB info DONE
    • send out serial command DONE
  • Pick an physical entry method DONE
  • Use serial command to trigger entry method DONE
  • Attach everything to the door DONE

Entry Automation

General Implementation Notes

  • The system needs to be powered, and preferably include a UPS
  • Overriding key access is nice for graceful failure
    • Of course, this just underlines the fact that this is an access registry system more than anything
  • Probably need a normal handle in the door with an electric door strike for the cheapest implementation.
  • If the implementation simply replaces the metal key with a token, it will have the same problems. Unless two- or three-factor authentication is used and/or the physical security of the lock and door are improved, it's about as secure as it was.
  • Simple enough to manage the coming and going of people.



  • Hands-off access
  • Hands-off tracking of access
    • As long as user has their RFID tag on them, their presence within a certain proximity around the reader will be recorded.


  • Keys easily stolen with anonymity



  • Need a reader. Can be found for under $100
  • Need tags
  • Need a server



  • Rotating keys are available
  • Physical access is required for key duplication


  • Hands-on access
  • Interface may be fakable with any interface that has the same signal levels iButton Spoofing --Omegix 23:02, 8 May 2008 (CDT)
    • Unimportant, because the threat of theft through kicking the door in is much higher than spoofing --Korc 20:51, 8 May 2008 (CDT)

USB Authentication


Each USB device has a unique serial ID. USB keys are cheap, readily available, and many can fit on a standard metal keyring.



Authentication Flow

  1. User inserts key into USB hub hooked to a PC
  2. Computer reads serial ID of key
  3. Computer compares serial ID to list of valid serial ID in a table \ DB \ Flat File
  4. If good, computer writes data ("Unlock!") to USB line of Microcontroller
  5. Microcontroller throws a pin high for 5-10 seconds.
  6. Pin is likely 3-5volts. Pin is wired to either a 200ma transistor or relay
  7. Relay, when thrown, sends 12V of 200mA current to an electric doorstrike

Useful Microcontroller (Arduino/Freeduino) Resources

Suggested Implementation Phases

  1. Get microcontroller to throw a pin high
  2. Get microntroller to read commands issued from external system (serial/USB)
  3. Get microcontroller to throw Pin high after recieving external command
  4. Build and test simple door strike circuit


In order to get 12V of 200mA current to the doorstrike, we'll need to protect the freeduino from flyback current. After consulting with protomech, 1kOhm resistor, one 1N4002 diode, and one 2N2222 transistor should do the trick for making a safe 12V relay for the doorstrike.

Other Materials

Mechanical Implementation


Electric Deadbolt

  • This Guide Shows how to easily hack a Powerbolt 1000.
    • Cost is roughly $80

Servo Controlled

The idea here is to have a servo attached to a standard deadbolt. The microcontroller will need to not only receive a signal from the computer, but also sense a window-open detector, and control a servo.

This sketch from Feltinix shows how a stick hanging from the servo casing could be used to action / reaction hold the servo in place.

If you were to attach the stick to the deadbolt turner or the plastic connected to the servo motor shaft, that would allow for a manual unlocker for the door in the event of a power failure


This image from gregabyte shows a mechanical override system that could be implemented for under $20


The flowchart for the circuit is below.

Edits to Flowchart
  1. Sound a buzzer right before the door unlocks or locks so that users are aware that something is about to happen