Simple desk controller for controlling volume of a media player and four buttons used for anything. Powered by ESPHome.
Front | Top | Back |
---|---|---|
![]() |
![]() |
![]() |
- Rotary knob to controll volume of media player
- Rotary knob can mute or play/pause media player
- Four buttons which can do what ever you want
- Sleek design
Tweet thread showing of some of the features
Part | # | Comment |
---|---|---|
Wemos D1 Mini | 1 pcs | ESP8266 development board |
Rotary encoder module | 1 pcs | |
Keyboard switches | 4 pcs | I am using Cherry MX Greens clicky tactile |
Key caps | 4 pcs | I used some spares from a Keychron K2 keyboard |
Wires | N.A. | |
M3 6 mm screw | 4 pcs | |
M3 nut | 4 pcs |
Wemos D1 Mini | Rotary Encoder | Buttons | Cable color |
---|---|---|---|
3V3 | VCC | Red | |
GND | GND | Button 1/2/3/4 | Black |
D1 | Button 1 | Yellow | |
D2 | Button 2 | Purple | |
D3 | Button 3 | Blue | |
D4 | Button 4 | Green | |
D5 | PIN A (CLK) | Yellow | |
D6 | Button (SW) | Green | |
D7 | PIN B (DT) | Blue |
- Print the parts (github/Printables). Insert the M3 nuts into the 3D printed lid.
- Solder components. Do not solder the wires to the keyboard switches before you have inserted the switches into the 3D printed parts. Try to use as short wires as you can to make everything fit in the case
- Flash Wemos with the ESPHome code
- Assemble everything. Fasten the rotary knob to the lid. Put a dab of glue on the Wemos ESP8266 chip to fasten it to the case (super glue should do it). Put on the rotary knob and put on your wanted
Muting and unmuting a Sonos media player requires a bit of templating. This script takes care of that
Someone made an article on using this project (russian): Кейпад для управления умным домом — проект выходного дня/Keypad for controlling a smart home - a weekend project