Joey
All projects

CircleLock

A smart lock with no screen: ESP32-C5 firmware and an iOS app.

How it opens the door. The box sits on the door about two feet under the handle, and the servo winds a string onto its spool to pull the lever down. An animation modelled on the CAD below, not footage.

The phone signs an offline ECDSA P-256 challenge inside its Secure Enclave. The cloud can carry the command, but it never gets to decide that the door opens.

What's inside

  • Walk-up detection from an iBeacon arrival state machine.
  • Motor safety: watchdog-capped servo control, jam detection from learned travel, and a failsafe when the link drops.
  • Every module is split into a hardware half and a host-testable half. 411 tests pass with no board attached. Hardware bring-up is next.
Six screens of the CircleLock app, each a single circle over one word. Closed: an empty green ring. Opening: the ring half filled. Open: a solid green circle. Checking: a white ring. Not you: a dim ring with red lettering. Jammed: a ring half filled in dark red.
The app's one screen, in six of its twelve states. The circle shows the door and is the only control.
CAD view into the open enclosure: a servo with a flanged spool on its shaft beside a round opening in the wall, a blue relay on its board, and the mounts around them.
The enclosure in CAD, with the servo, its spool and the relay in place.

Joey

Projects