Scott Penrose


Scott is an expert software developer with over 30 years experience, specialising in education, automation and remote data.

What is it

This version is a basic door controller. It uses a keypad for entering 4 digit numbers and opens the striker for 10 seconds on success, or delays on error.

Why reinvent the wheel

These devices are everywhere, why would I create a new one. There are three reasons:

  • This device is $17 for the [[Arduino_BBB?]] and $2.5 for the keypad input and I already had the striker - so cheap project. Commercial kits start around $100.
  • Learn yet more about embedded programming and the Arduino
  • Future expansion - the plan to add an RFID reader then network connection. Even with both of those i am only adding about $25.
  • Fun - yes I said three, but fun is always there.


  • Basic requirements
    • Flash status LED
    • Watchdog reset - todo
    • Read up to 4 key presses - done
      • Timeout if too long between presses - done
      • Use "*" to reset anyway (force clear) - todo
    • Compare 4 keys to valid inputs (first version hard coded) - done
      • Open door for 10 seconds, and flash on light - done
      • OR Flash light quickly twice for error - done
  • Future:
    • Error delay is slower and slower with incorrect entries, correct one resets
    • Multiple valid keys input (possibly stored in EEPROM)
    • Record input/outputs, circular buffer in EEPROM
      • Need to consider how to read (serial port) and how to record time? even if relative.
    • Alternative inputs - such as RFID
    • Network access for Logging, RFID/PIN changes and remote opening

  • Project
  • Arduino