This wiki has been archived and made read-only.
For up-to-date information about TkkrLab and it's projects please visit our main website at

Lock-O-Matic 2.0


Jump to: navigation, search
Project: Lock-O-Matic 2.0
Name Lock-O-Matic 2.0
Initiator Renze
Status {{{Status}}}
Skills {{{Skillz}}}
Summary Now with twice as much essence of condensed hamster!


Currently our space uses the Lock-O-Matic V1 access control system. While the old system works it has a couple of limitations and irritations. With this project I hope to be able to solve the problems and limitations that the current system has.

Lock-O-Matic 2.0 will not only provide more security by allowing the use of SHA-1 capable iButtons but it will also provide for more usecases like machine access control.

Feature wishlist

  • Reading iButtons of both the ID-only (DS1990) and EEPROM/SHA-1 (DS1961) variety.
  • Protection circuitry that protects the one-wire bus against damage
  • Be able to store a (virtually) unlimited amount of keys
  • Keys are stored on the device in flash and (for backup purposes) on an SD-card
  • Multiple protected digital inputs for connecting buttons and switches
  • Multiple protected digital outputs (FET/relay) for connecting doors and lights
  • (WS2812 digital LED output)
  • Switch that detects when the case of the device is opened (tamper-protection)
  • Full self diagnistic capabilities for detecting hardware defects.
  • Configurable using a webinterface (built-in webserver)
  • Connection to internet services (IRC, MQTT)

Application 1: Front door

The device will read iButtons using the reader placed outside. When a valid key is detected the device will open the door. A switch will be connected to the device to allow for setting the space status (closed/open-for-a-short-time/open). To show the space status an indicator light will be connected to the digital outputs.

(Also possibility for button that opens the door from inside)

Extra I/O needed: Up to 4 digital inputs and up to 4 digital outputs.


Application 2: Laser cutter

The device will only allow starting a job when an authorized user presents his or her key. The device will monitor the time the laser has been on. Once a certain amount of laser-on time has passed the device will warn the operators ("root"-users) of the device that the device needs to be checked (to ensure cleaning has been done properly). The device logs the name of the person who last used the laser cutter. If a user finds a defect or a machine that has not been cleaned properly then the culpit can be identified.

What microcontroller / programming language

STM32 / Micropython

Essence of condensed hamster

Still not sure why this is needed but we've got it: