ESPHome desk control board

A six-key panel with a PIR sensor, buzzer and OLED, mounted under the desk. Custom PCB, printed keycaps, wired into Home Assistant.

ongoing
Keys
6, each with an RGB LED
Sensing
PIR presence
Output
OLED · buzzer
Board
Custom PCB

Home Assistant is excellent until the moment you want to do one specific thing and have to find a phone, unlock it, open an app and locate a toggle. Physical buttons don’t have that problem. This one lives under the edge of the desk, where a hand can reach it without looking.

A grey printed enclosure mounted under the edge of a desk, with six white keycaps, a PIR sensor dome, a buzzer, and a small OLED showing the time, air pressure and light level.
Mounted under the desk edge. The OLED reads the time alongside pressure and light level.

Rather than wire tactile switches to a dev board, it’s a custom PCB: six switch positions each with an RGB LED behind it, a buzzer, and a header for the display.

A bare green PCB with six labelled switch footprints, each with a small RGB LED beside it, plus a buzzer footprint and a pin header.
The bare board. Six switch positions, an addressable LED per key, buzzer and header.

The keycaps are printed in translucent filament so the per-key LED shows through — the button can report state rather than just accept input.

A second one, with a bigger button

A small laser-cut plywood box with finger-jointed corners, a large red latching mushroom button on top, two switches on the front face and a knurled thumbscrew on the side.
The same idea with a latching mushroom button, in laser-cut ply rather than a print.

Same principle, different vocabulary. A latching mushroom button says something a keycap can’t: this is deliberate, and it stays where you put it.

← All projects