Noah Header

Noah Baculi

Software Engineer

Desk Control Panel Front Module

Desk Control Panel

Designer and Engineer, 2025
Desk Control Panel Interface

Working with multiple computers at my desk, I wanted a way to seamlessly switch between them without constantly reaching behind monitors or fumbling with separate switches. I designed this under-desk control panel to act as a centralized KVM (Keyboard, Video, Mouse) hub with controls for additional peripherals.

The panel manages dual HDMI switches, a USB hub switch for shared peripherals, speaker channel routing between computers, and MOSFET-controlled USB power for accessories like an audio mixer and a meeting countdown sign.


Desk Control Panel Front Enclosure

Front Interface Module

The user-facing module houses the ESP32-C3 microcontroller and all input/output controls. A 0.96" OLED screen displays the current state of connected peripherals. Latching switches control the HDMI sources, while a momentary button toggles the USB hub between computers. Toggle switches route left and right speaker channels, and a rotary encoder provides additional input for menu navigation and settings.

The firmware is written in Rust using a no_std environment with the esp-hal crate and Embassy async framework. The control panel also integrates with a companion Meeting Sign project via manual bit-banged UART for timer control. View the full source code and technical documentation on GitHub.


Desk Control Panel Back Module

Back Peripheral Module

Located behind the desk, this module houses the custom distribution PCB I designed that connects to all the peripherals. The front and back modules communicate via CAT5 ethernet cables, which provide a standardized connection with plenty of conductors for power, ground, and signal lines. This modular design streamlined installation and maintenance.


Custom Distribution PCB

The simple custom PCB handles signal distribution and power switching. I used P-Channel MOSFETs (IRLML6402) to control USB power, with gate resistors and pull-ups to ensure safe behavior during MCU boot. Voltage dividers step down 5V signals to 3.3V for the ESP32 GPIO pins to monitor USB hub state:





Enclosure Designs (CAD)

I designed both enclosures in CAD, optimizing for under-desk mounting with all inputs and outputs oriented on the same side. I also designed the front module to allow mounting my existing standing desk control panel. Explore the CAD models below:


Front Interface Module



Back Peripheral Module



Custom Distribution PCB