Build a Cloud-Free DIY Smart Home Keypad

Control your smart home locally with the open source Zigbee Touch Keypad that runs for six months on a single charge.

nickbild
about 1 hour ago • Home Automation
The Zigbee Touch Keypad (đź“·: Dominic Buchstaller)

Smart home enthusiasts have plenty of choices when it comes to wireless buttons, motion sensors, and door contacts. Keypads are another story. Commercial options are few and far between, and those that are available tend to be tied to proprietary ecosystems, require mains power, or cost considerably more than other home automation tools.

Dominic Buchstaller wanted a simple keypad for his front door that wouldn’t send data to a black box in the cloud or require any wiring. Is that too much to ask? Apparently it is, so he had to build his own. Simply called the Zigbee Touch Keypad, Buchstaller’s PEZ dispenser-sized device runs for six months on a single battery charge and can be wirelessly integrated into existing smart home systems.

A keypad installed by the front door (đź“·: Dominic Buchstaller)

The keypad is built around an ESP32-C6 development board paired with an MPR121 capacitive touch controller, creating a slim 2Ă—6 touch interface with buttons for the digits 0-9, plus Clear and Enter. Rather than relying on mechanical switches, the labels are printed directly onto the PCB solder mask, eliminating overlays or moving parts that could wear out over time. Everything fits inside a 3D-printed enclosure that clips together without visible screws, giving the finished device a clean appearance that blends into modern interiors.

Communication is handled over Zigbee, allowing the keypad to join existing Home Assistant installations through either ZHA or Zigbee2MQTT. Once paired, it reports entered passcodes, battery voltage, and battery percentage using standard Zigbee endpoints. The firmware is configured as a Zigbee end device, but because the ESP32-C6 includes native IEEE 802.15.4 support, Buchstaller notes that the same hardware could just as easily be adapted to Matter or Thread by replacing the radio stack while leaving the touch and power management code largely unchanged.

After ten seconds of inactivity, the keypad enters deep sleep while the touch controller remains in an ultra-low-power scanning mode. The first touch generates an interrupt that immediately wakes the microcontroller, allowing it to begin accepting input within milliseconds. Combined with a 1300 mAh lithium-polymer battery, this approach delivers an estimated six months of operation between USB-C charging sessions, with battery information continuously reported back to the home automation system so low-charge alerts can be configured.

The project is fully open source and includes everything needed to reproduce the hardware. Along with the firmware, Buchstaller provides Gerber files for the touch PCB, a printable enclosure, PlatformIO build files, and a sample Home Assistant automation that maps keypad codes to actions like unlocking doors.

For anyone looking to add a secure keypad to their smart home without depending on proprietary hardware or cloud services, the Zigbee Touch Keypad looks like a good option. Further details are available in the GitHub repository.

nickbild

R&D, creativity, and building the next big thing you never knew you wanted are my specialties.

Latest Articles