-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This project implements the DDC/CI protocol and aims to provide a base to add this functionality to monitors that do not support it.
Standard 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.
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 (git 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;
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
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:
Linux:
- ddccontrol: https://sourceforge.net/projects/ddccontrol/
Windows:
- softMCCS: http://www.ddc-ci.com/
- ScreenBright: http://screenwhite.com/screenbright/
- and other