No description or website provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.travis.yml Travis: Initial setup, run tests Sep 16, 2017


Electronic lock connected via wireless (Wi-Fi) and MQTT using MsgFlo. The lock is intended to enforce 'checking out' and 'checking in' portable tools in a shared workshop environment.

It makes it possible to:

  • Know whether a tool is currently in its station
  • Checking for neccesary safety course before allowing usage
  • Holding people responsible when equipment is not get returned or broken

First funtional prototype

Each lock has a key with a matching key pattern. The key is physically attached to the tool using a wire. An optical sensor detects that the right key is used. IR leds normally light through, only a matching key will fully block light.

Key & lock geometry

The key and lock can be CNC-milled, lasercut or 3d-printed.


Proof of concept

  • July 2017: Functional prototype was built during 2-day hackathon
  • First production version planned for October 2017

Bill of Materials

Google Doc

  • Microcontroller - ESP8266 or similar. We used a Wemos D1 board.
  • actuator - we used a solenoid that is rated for 12V (it actually actuates at about 7V, but slowly), it draws about 0.3 - 0.7 A. Alternatives: 1 2
  • mosfet - we used a IPP055N03L
  • resistor - a 10k ohm resistor for pulldown on the control signal
  • power supply - a 12V DC power supply for the actuator / solenoid
  • IR led 0805, 120deg. Kingbright kp-2012f3c
  • IR phototransistor 0805, 120 deg. Kingbright kp-2012p3c

Setup firmware

  • Install Arduino libraries PubsubClient and Msgflo
  • Setup wifi connection: Add a file Config.h defining parameters WIFI_SSID and WIFI_PASSWORD
  • Configure MQTT details in the sketch


v1.0: First fabricated version

  • Electronics: Switch to a standard transmissive detector, PCB mounted.
  • Mechanics: Update to vertical PCB orientation, check connections
  • Produce initial 4 locks
  • Mechanics: Add a casing/box for 4-8 locks. Securely wall/table mountable.



Made by

einsmein, tingox and jonnor

State machine

State machine diagram


Developed in KiCAD. Schemantic used for first protototype


Developed in FreeCAD. Lock model

SIG: gnd+in PWR: 12v+gnd OUT: 12v+out

IN GND 12v 12v OUT