DDC/CI (Display Data Channel Command Interface) lets you control monitors with software instead of navigating the nipple or rear buttons. In a perfect world, we could control all monitors with DDC, but unfortunately, that's not the case...
- Some monitors simply don't support DDC :(
- Some monitors like Samsung's G9 ultrawides support DDC only on HDMI
- *nix (i.e. macOS & Linux) users of DisplayLink don't have DDC support
If you are in one of those last two situations HardwareDDC might be for you! It uses an ESP32 to send raw I2C DDC signals to your monitor's HDMI port while another port is used for video.
HardwareDDC features an ESP32 with reset and boot buttons, an HDMI connector exposing GND, SDA and SCL, and it's powered by USB-C which also exposes the UART console. Optionally, it can be powered by 5V directly through the GPIO pins, and additional GPIO pins are available for debugging and future expandability.
The PCB and the 3D printed ABS case are available here.
Once you have your board, you can flash the firmware with the web installer.
Controlling HardwareDDC is done through hotkeys, instructions can be found here
- Improve Microsoft Windows UX/Create Proper User Interface
- Support Multiple Monitors
- Convert DisplayPort to VGA for a non-network-based approach
Shoutout to these projects that make HardwareDDC possible: