Skip to content
/ ddcvcp Public

Arduino library to control external monitors over DDC/CI VCP by slightly abusing the VGA/DVI/HDMI port.

Notifications You must be signed in to change notification settings

tttttx2/ddcvcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DDC/CI VCP library

This is an Arduino library for controlling external computer monitors over the VESA DDC/CI standard. This standard is present on many different types of connectors but depends heavily on the actual manufacturer to implement it properly. Check if your setup is actually compatible with this.

Examples

Some simple examples can be found in the examples directory.

Functionality

  • setting and reading brightness
  • setting and reading power status
  • setting and reading input source
  • custom VCP commands

More Functionality can easily be added. See ddcutil for some further reference on VPC codes.

Connector

The Arduino is to be connected to VGA, HDMI or DVI using the corresponding pins for DDC. This is essentially an I2C connection and uses the standard arduino Wire library so use the appropriate pins for I2C on your microcontroller.

Disclaimer: I only tested this with a VGA connection, however DVI and HDMI should work as well. Pay attention to using the correct voltages though!

VGA

  • Pin 15: DDC Clock (SCL)
  • Pin 12: DDC Data (SDA)

DVI

  • Pin 6: DDC clock (SCL)
  • Pin 7: DDC Data (SDA)

HDMI

  • Pin 15: DDC Clock (SCL)
  • Pin 16: DDC Data (SDA)

About

Arduino library to control external monitors over DDC/CI VCP by slightly abusing the VGA/DVI/HDMI port.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages