I made my own garage door keypad because i didn't like the commercial options

I didn’t like the keypad options available to me so I made my own using an esphome and a weigand compatible keypad.

The features I wanted were:

  • personal codes
  • ability to know who opened the garage door
  • control of the alarm system: when a neighbor brings in a package for us when we’re out of town I want it to be easy to drop it off in the garage.
  • a heavier duty keypad

The project was pretty easy, it’s entirely vibe coded and vibe engineered. It’s a wiegand keypad, an esp32, and the supporting hardware and automations.

The hardest part was fishing the wire through the wall. I put the hardware on din rails and fully enclosed it.

You can get the BOM and more details here: GitHub - CitizenRacer/GarageDoorWiegandKeypad · GitHub

The only thing I did that I’d describe as non standard or overkill is I don’t store the codes for the garage as plain text codes. Instead I have the esp32 HMAC them and store the hmac values. I did this to prevent ever leaking the codes should my config file get pushed to GitHub. It’s overkill and there are many other ways to skin this cat but I wanted to use the burnable fuses.


3 Likes