The primary feature I wanted was a PoE (Power over Ethernet) door lock, so I built one. I also have a rack-mounted battery bank that provides backup power. I gutted a cheap number pad deadbolt lock and put an ESP32-S3 with a small Wiznet5500 Ethernet module inside the battery compartment.
Another feature I desired was TOTP (Time-based One-Time Password) codes, ensuring the keypad code changes regularly. This way, it doesn’t matter if someone observes you entering the code.
The system communicates with my window and door contact sensor security module over UDP to determine the door’s status for auto-locking. It’s been working well for a couple of months.
It utilizes Frigate for face detection via MQTT.
I attempted to add Apple HomeKey support, but the Wiznet’s Ethernet chip connections are limited to eight. I managed to get it working, only to discover my device was too old to use it. However, I successfully added a button to the lock screen to unlock the door.
I’m also interested in implementing an Android tap-to-unlock feature but haven’t found a solution yet.
I conducted some palm vein scanning tests, but it’s a rather ambitious goal.
My metal door has a foam core, making it easy to route wires through the foam using a coat hanger.
I considered using metal wire loops and wired hinges, but after some failed AliExpress shipments, I opted to use boxes I had on hand to create my own version of a wire loop. If the wire becomes brittle, I can easily replace it.
There are many more features I’d like to add, but it’s been a fun project so far!
The PoE functionality is supposed to be integrated into the main ESP32 board, but I haven’t acquired one that fits within the lock’s main body. For now, I’ve modified a PoE adapter positioned to the side while I continue experimenting.