Skip to the content
4 layers54.3 × 90 mmHardwareddc aux mitm, the printed circuit board in 3D

Hardwareddc aux mitm

TeaRex-coder/hardwareddc34

a custom PCB that makes adjusting monitor settings easy and convenient

Size
54.3 × 90 mm
Copper layers
4
Thickness
0.54 mm
Parts
48
Nets
89
Pads
297
Tracks, vias
514, 122
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
20 Jun 2024
Updated
15 Jul 2026

Overview

Hardwareddc aux mitm is an open-source printed circuit board by TeaRex-coder, from the TeaRex-coder/hardwareddc repository on GitHub, published under the BSD-3-Clause licence. It is a 4-layer board of 54.3 × 90 mm with 48 parts on 89 nets, routed with 514 tracks and 122 vias.

It is built around the SN65MLVD200AD and AMS1117-3.3. Its parts include 22 resistors, 11 capacitors, 7 connectors, 3 ICs and 1 diode. It belongs with the RP2040 boards of this library.

Main components

2

README

README.md

HardwareDDC

A custom PCB that makes adjusting monitor settings easy and convenient

front-view assembled top-view

What is DDC?

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
  • Your monitor only supports DDC through HDMI (not DisplayPort)

If you're in one of those last three 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.

Getting Started

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 on the website, and the files can be found 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


Sponsors

PCBWay Logo

Thank you PCBWay for sponsoring this project providing PCB prototyping <3

Review & Opinions

TL;DR Would I recommend PCBWay's PCB service? Yes!

It's impossible for me to provide an unbiased opinion as PCBWay has provided boards free of charge to help me work on this project. However, my experience was overall positive. Starting with their marketing rep Liam, he offered a partnership respectfully and fairly. When placing the order, the team helped me, a novice to PCB design and PCBWay's services, follow some best practices regarding board design and ordering. Finally, the production tracker helped keep my curious mind informed and the assembled product functioned as intended.

When researching PCBWay's brand before agreeing to a partnership, I noticed a customer expressing disappointment in the assembly of an HDMI connector. I took this with a grain of salt, as the dissatisfied customers are generally the loudest, but it was still a concern. The boards I received had well-soldered DisplayPort connector pins to a level as good, if not better than I could do by hand.

PCBWay Logo

I hope the experience I received is representative of any regular PCBWay customer despite PCBWay expecting a review. If you need PCB prototyping for your project, consider giving them a go :)

Flux Logo

Thank you Flux AI for providing breakout boards for HardwareDDC <3

Future Ideas

  • Improve Microsoft Windows UX/Create Proper User Interface
    • Add more information to GUI (e.g. connection status)
    • Enable user-modifiable hotkeys
  • Support Multiple Monitors
  • Create a non-network-based approach

Extras

Shoutout to these projects that make HardwareDDC possible:

Parts

48
QtyValueFootprintReferences
60Resistor_SMD:R_0603_1608MetricR15, R16, R17, R18, R19, R20
6100nCapacitor_SMD:C_0402_1005MetricC1, C3, C4, C5, C8, C9
451Resistor_SMD:R_0402_1005MetricR4, R5, R11, R12
3MountingHole_Pad_MPMountingHole:MountingHole_2.2mm_M2_ISO7380_PadH1, H2, H3
2100KResistor_SMD:R_0402_1005MetricR6, R7
210kResistor_SMD:R_0402_1005MetricR1, R8
210uFCapacitor_SMD:C_0603_1608MetricC7, C10
21K5Resistor_SMD:R_0402_1005MetricR3, R10
21MResistor_SMD:R_0402_1005MetricR13, R14
21nCapacitor_SMD:C_0402_1005MetricC2, C6
23K3Resistor_SMD:R_0402_1005MetricR2, R9
247272-000147272-0001:CONN_47272-0001_MOLJ1, J4
25K1Resistor_SMD:R_0402_1005MetricR21, R22
2SN65MLVD200ADPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU1, U2
1100nFCapacitor_SMD:C_0603_1608MetricC11
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U3
1Conn_01x03_PinConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ9
1Conn_02x02_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x02_P2.54mm_VerticalJ7
1Conn_02x04_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_VerticalJ8
1D_TVSDiode_SMD:D_SOD-323D1
1HDMI_AConnector_Video:HDMI_A_Molex_208658-1001_HorizontalJ5
1RaspberryPi_PicoModule:RaspberryPi_Pico_SMDA1
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ6

More from TeaRex-coder/hardwareddc

1
  • 4 layers54.3 × 75 mmHardwareddc aux breakout, the printed circuit board in 3D

    Hardwareddc aux breakout

    TeaRex-coder/hardwareddc

    a custom PCB that makes adjusting monitor settings easy and convenient

    19 parts34BSD-3-Clause

Similar boards

  • 2 layers100 × 50 mmSfp receiver, the printed circuit board in 3D

    Sfp receiver

    b4ck5p4c3/caroline

    🕰️ Primary Clock & Frequency Reference

    32 parts1MIT
  • 4 layers119.8 × 129.8 mmIoboard head, the printed circuit board in 3D

    Ioboard head

    jorisplusplus/pcdock

    FPGA base pcdock

    236 parts
  • 2 layers290.1 × 130 mmPro V2, the printed circuit board in 3D

    Pro V2

    kata0510/Lily58

    6×4+4keys column-staggered split keyboard.

    312 parts2.3k
  • 2 layers26.2 × 45.5 mmPL18 multiprotocol, the printed circuit board in 3D

    PL18 multiprotocol

    pascallanger/DIY-Multiprotocol-TX-Module

    Multiprotocol TX Module (or MULTI-Module) is a 2.4GHz transmitter module which controls many different receivers and models.

    24 parts1.9kGPL-3.0
  • 4 layers99 × 53.3 mmPSLab, the printed circuit board in 3D

    PSLab

    fossasia/pslab-hardware

    PSLab Hardware Design and Schematics https://pslab.io

    199 parts1.7kApache-2.0
  • 4 layers85 × 56 mmPslab mini, the printed circuit board in 3D

    Pslab mini

    fossasia/pslab-mini-hardware

    PSLab Mini Hardware https://pslab.io

    182 parts1.2kApache-2.0
  • 4 layers100 × 54 mm32Bit shift register, the printed circuit board in 3D

    32Bit shift register

    MaltWhiskey/Mega-Cube

    16x16x16 PL9823 Cube with Teensy 4.0 and FlexIO driver

    64 parts766
  • 2 layers44.2 × 29.3 mmI2c tiny usb, the printed circuit board in 3D

    I2c tiny usb

    harbaum/I2C-Tiny-USB

    Cheap and simple I²C to USB interface

    27 parts454

Questions

How big is the Hardwareddc aux mitm PCB?

It measures 54.3 × 90 mm and has 4 copper layers, 0.54 mm thick.

What parts does the Hardwareddc aux mitm use?

48 parts, built around the SN65MLVD200AD and AMS1117-3.3. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Hardwareddc aux mitm KiCad files?

From the TeaRex-coder/hardwareddc repository on GitHub, at the commit this page was made from: the board is experiments/hardwareddc-aux-mitm/hardwareddc-aux-mitm.kicad_pcb and its schematic experiments/hardwareddc-aux-breakout/hardwareddc-aux-breakout.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Hardwareddc aux mitm design in my own project?

Its repository publishes it under the BSD-3-Clause licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).