Project tutorial

Dimmable Arduino LED Strip Driver © GPL3+

Tutorial of how to build an Arduino based illumination LED strip drive with dim capabilities.

  • 2,614 views
  • 4 comments
  • 13 respects

Components and supplies

A000066 iso both
Arduino UNO & Genuino UNO
×1
12v DC Power Supply
With enough amps to power all your LED strip
×1
Illumination LED Strip
×1
09939 01
Rotary potentiometer (generic)
×1
Fairchild semiconductor tip120 image
Darlington High Power Transistor
×1
Mfr 25fbf52 2k21 sml
Resistor 2.21k ohm
×1

Necessary tools and machines

09507 01
Soldering iron (generic)

Apps and online services

About this project

Well, I live in Brazil and here we love to buy cheap things we don't need from China and wait for it's arrival until we forgot we bought it in the first place.

My girlfriend is one of those people (me too). She bought a illumination white LED strip but she didn't knew that you can't just plug it to the wall to power it so I had the great idea of building one dimmable LED strip driver!

Theory

A LED will vary its brightness according to the voltage supplied to it. The problem is that usually cheap DC power supplies are constant, they can provide a constant voltage, in the case of this project 12V.

So to workaround that we will have to make our own circuit to regulate the voltage output, using PWM (pulse width modulation). PWM works by switching the voltage on and off very quickly, depending on the ratio between the time on and the time of we can have an average output voltage between 0V and 12V.

Circuit

For this circuit I’m powering the Arduino and the LED Strip with the same power supply, for that I’m using the Arduino’s power jack that can power the Arduino with voltages between 7V and 12V.

Double check if your power supply connector have the same polarity as the Arduino’s connector with is positive in the center, like in the picture below.

The potentiometer is connected to the analog input of the Arduino to regulate the level of the PWM output to the TIP120 power transistor (by software).

As noticed by TJ Blevins in the comments, be aware that the TIP120 can handle up to 5 amps, it should be enough, but if you are planning to drive a long LED strip or several of them you might need a more powerful transistor.

This is my final assembly I soldered directly to the power jack the capacitor the smooth the PWM signal and also I soldered the the positive connector (exposed in the back of the connector) directly to the positive input of the LED strip and the ground connector (exposed in the side of the connector) to the ground of the board I made.

It is not represented in the circuit schematic but in the final assembly I put a switch between the connector (middle pin) of the TIP120 and the negative terminal of the LED strip to cut the power of the LED strip completely when switched off.

Code

The code is pretty simple and self explanatory. You can download it in my Github page at: link to code

Video

Final Considerations

This is the first of my projects that I documented but I'm planning to write guides for lots of projects I love making.

You can check out my future projects in my blog.

Please ask any question or suggestions you have, I'll be pleased to answer.

Comments

Similar projects you might like

Arduino Automated Parking Garage

Project tutorial by ashraf_minhaj

  • 604 views
  • 5 comments
  • 7 respects

A Microwave Interface for the IKEA Duktig Kids Kitchen

Project showcase by Myles Eftos

  • 1,993 views
  • 9 comments
  • 11 respects

Servo Signals and Characterization

by 3 developers

  • 2,027 views
  • 4 comments
  • 15 respects

Music Adaptive RGB LED with Arduino and Processing

Project in progress by ounane mohamed elfarouk

  • 1,243 views
  • 8 comments
  • 14 respects

Cellular IoT with Blynk & Hologram

by Moheeb Zara

  • 5,507 views
  • 9 comments
  • 19 respects

Monitoring Temperature Remotely with Blynk for Dummies

Project in progress by Cmtelesann

  • 1,508 views
  • 2 comments
  • 5 respects
Add projectSign up / Login