Home

Introduction

This project implements the DDC/CI protocol and aims to provide a base to add this functionality to monitors that do not support it.

Disclaimer

Standart disclaimer applies. You must know what you're doing and must have a experience in electronics. I take NO RESPONSIBILITY for any damages. There are NO WARRANTIES, etc., etc.

Please don't do anything if you have no experience, this can be life-threatening.

Project hardware

The heart of the project is ATmega48. Other AVR MCUs can be used with minor code modifications, provided they have hardware TWI (I2C), PWM and some spare I/O pins. 4K flash or more is recommended.

MCU fuses should be set to:

  • internal RC oscillator, by-8 divider is disabled (i.e. 8MHz clock)
  • brown-out detector 2.7V

The more or less final version of schematics is below (svn tag: "stable-2").

Connectors:

  • CONN1A - hardware buttons to change brightness level;
  • CONN2 - to the backlight driver;
  • CONN3 - to the monitor main board;

LED1 binks shortly when one of the following happens:

  • board initialized;
  • brightness changed with either buttons or via DDC/CI;
  • current settings are written to the EEPROM;

schematics

Testing hardware

For testing purposes DDC bus can be connected to video card without monitor. For D-SUB, monitor presence must be emulated with 75 Ohm load on R, G, B lines.

Here's simple I2C probe for LPT port: http://www.boichat.ch/nicolas/ddcci/method.html

Real hardware

Tested with Crossover 27Q monitor (green led driver with lower minimal brightness mod). See image for information about where connect to. No additional components required.

Demo videos:

schematics

Software

Linux:

Windows: