Main Content

This is a door locking system that uses a card with a preset color sequence printed on it to unlock the door. The system is still in the prototyping stage, i’m waiting for the actual lock part to arrive in mail to continue developing this. The idea behind this system is to avoid using RFID authentication, as it can be ‘stolen’ without contact, and this system offers a simple physical object that you use to authenticate yourself - think of it as an updated physical key. The system can offer much more than the conventional keys: if you lose your key, you simply print a new one, you can use a number of different keys for the same lock (or just one if you choose), the system logs all entries with timestamps (useful for tracking access), you can use your regular printer to print new keys, you can unlock it via Wi-Fi when paired with your phone or another device, the system can be used to authenticate in various situations (doors, cabinets, computers, entry points etc.

This particular system relies on a color sensor TCS230 to sense the color in front of it. It does so by looping through 3 arrays of photodiodes on the sensor (RGB and clear) and reading the frequency on the sensor output; which in constant conditions allows for accurate color measurement. This is the main working principle behind this device. It’s all hosted on and Arduino Uno at the moment, but i’m preparing the project for migration onto one of the ESP32 boards which will allow it to host a small web server and allow for user connections for administration/monitoring of the system.

In the video you can see a short demonstration of the system prototype. The video shows rejection of any invalid swipes (wrong card, wrong swipe direction etc.) and confirmation of a valid card swipe: flashing LED The prototype in the video is just a 3D printed shell that houses the sensor and the arduino board, but in the future it’s gonna be replaced with an aluminum housing that houses the solenoid locking coil as well as the mentioned components.

To-do list:
- Complete semi-automatic calibration sequence
- Add support for larger color sequences (at least 8 colors)
- Add extensive commenting to the source code
- Re-design the housing to accept the solenoid
- Add an IR diode and IR receiver to sense the initial start of swiping (and end of it)
- Add another LED to signal a failure to unlock
- Design the web admin panel
- Migrate the project onto an ESP32 board (or ESP8266)
- Incorporate physical safety features
- Work on weatherproofing the housing
- Incorporate automatic key generation software into the web admin panel”

Link to article