(I have fixed the alignment of the pause button btw)
Figured I’d share here as well in case some users don’t use Reddit.
Short Clip: https://www.youtube.com/shorts/wBLwShh9J8c
Before I add some background info, I want to mention that I’m a bit self-conscious when it comes to speaking so although the YouTube Short is ~50 seconds, it took me 4+ hours to record the voiceover alone. That being said, my plan for this was always to create a detailed guide and I filmed more than enough footage for that (my favorite part) If you genuinely enjoyed the idea, a “like” and comment goes a long way (or so I’ve been told)
I had been using an old Ring keypad for basic automations in my home office. #1 would toggle the fan on/off, #6-#9 would toggle a certain music playlist, etc. It worked fine, but I wanted to have something in the living room that anyone could use.
Opening up the keypad without completely mangling the enclosure took some time, and separating each button from the membrane without ripping anything made my hands arthritic. The geometry of the buttons differed, so measuring, modeling, and 3D printing was a labor of love filled with trial and error (and frustration)
It’s not perfect and there are so many improvements to be done, but it’s functional. The buttons in red require to be held for a short moment, so I placed some automations there I would not want to “butt dial” For example, holding the button on top of the iRobot one announces my phones location. I have ESP32s hidden throughout the house running Bermuda so when it’s toggled, my Sonos speaker announces the location, waits 3-4 seconds, then audibly pings my phone.
Why are the previous, pause, and next buttons on the top row? With the exception of the “X” and "✓" buttons, #s 0-9 have a short delay. The top row (formerly disarmed, home, and away mode) fire instantly making it perfect for this use case.
Resources Used
- Elegoo Matte White PLA
- Overture translucent PETG
- 0.2mm nozzles (I know it’s not recommended for translucent PETG but I had no choice. Zero issues though)
- Patience
Future Goals
- Continue working on the buttons to “perfect” the different tiny locking tabs they each have to prevent them from spinning
- The delay of the non-instant buttons is ~1.5s, but I want to see if it’s possible to reduce or eliminate that. This could open the door to double-tap automations
- I’d like to print my own faceplate “skin” like this but getting accurate measurements has been difficult for me. Some help on this would be great.
- PLA and PETG don’t mix so I had to print inserts and caps seperately. I recently stumbled upon “matte” PETG eSUN makes so I’m curious.
- Make a long-form video! This project has been incredibly rewarding and I’m sure there are incredibly talented users on here who can make it x10 better using what I’ve learned.
Thanks for reading!

