Fork me on GitHub

Project Notes

#719 Voltage Controlled LED Dimmer

Demonstrating a voltage-controlled LED current source with a triangle wave generator.


Here’s a quick demo..



The brightness of an LED is proportional to the current, not the voltage.

Adjusting LED brightness is best achieved by controlling the current. PWM techniques “trick” the eye into seeing different levels of brightness by rapidly switching the LED on and off.

The circuit presented here demonstrates an FET current-mirror with current determined by input voltage. For demonstration purposes, it uses an Op-amp triangle wave generator as a source.

The circuit is similar to the Arduino-controlled LEAP#608 LED Current Control

Circuit Design




Uses two op-amp units:

  • first configured as a Square Wave Generator
  • with the output fed into a second unit configured as an integrating amplifier, resulting in a triangle wave


Current Mirror

The basic current mirror provides a 1:1 current source. Dissimilar resistors in the tail of the input/output current source set up proportional current control. Essential current is proportional to the input/out source resistor values.

I’ve tested an output source resistor of 46Ω with input source resistors of both 4.7kΩ and 47kΩ. Results are tabulated below.

4.7kΩ : 47Ω

V(cl) I(cl) V(rl) I(rl)
200mV 0.043mA 64mV 1.36mA
400mV 0.085mA 176mV 3.745mA
600mV 0.128mA 328mV 6.979mA
800mV 0.170mA 500mV 10.600mA

47kΩ : 47Ω

200mV 0.004mA 40mV 0.851mA
400mV 0.009mA 104mV 2.213mA
600mV 0.013mA 232mV 4.936mA
800mV 0.017mA 384mV 8.170mA

Credits and References

About LEAP#719 LEDOscillators
Project Source on GitHub Project Gallery Return to the LEAP Catalog

This page is a web-friendly rendering of my project notes shared in the LEAP GitHub repository.

LEAP is just my personal collection of projects, usually involving an Arduino or other microprocessor in one way or another. Some are full-blown projects, while many are trivial breadboard experiments, intended to learn and explore something interesting (IMHO!).

The projects are usually inspired by things found wild on the net, or ideas from the sources such as:

Feel free to borrow liberally, and if you spot any issues do let me know. See the individual projects for credits where due. There are even now a few projects contributed by others - send your own over in a pull request if you would also like to add to this collection.