Automatic monitor brightness controller

This is an automatic ā€œmonitor brightness controllerā€ based on environmental light conditions. This system use USB port base sensor unit to measure the light level and control monitor brightness accordingly. We design this system to reduce the eye stress by matching the monitor brightness with environmental lighting.

The sensor unit of this system is build around PIC18F2550 8-bit microcontroller. To measure the light level we use LDR with MCUā€™s inbuilt ADC. The control software of this unit is design to work with Microsoft Windows operating systems and it use Windows APIā€™s DDC/CI related functions to control the monitors/display devices.

Automatic monitor brightness controller

Firmware of USB sensor use 50-point boxcar filter to get the average readout from the ADC and that value is passed to PC over USB HID interface. Thanks to this HID interface this system may not need any special device driver, and it can use in any compatible PC with minimum amount of configuration changes.

We successfully test this setup on several PC configurations. At the designing stages we mainly use Viewsonic VA1901wm LCD monitor to test this setup.

This is an open source hardware project and all itā€™s source codes, design files and compiled binaries are available to download at https://github.com/dilshan/brightness-control. All the content of this project are distribute under the terms of MIT Licenses.

For more detail:Ā  Automatic monitor brightness controller

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter