Project tutorial

Dimmable Arduino LED Strip Driver © GPL3+

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

  • 2,991 views
  • 4 comments
  • 14 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

NodeMCU LED Strip Controller

Project tutorial by B K

  • 5,124 views
  • 12 comments
  • 22 respects

Bluetooth control led with lcd led status display real time.

Project tutorial by Youssef Sabaa

  • 15,625 views
  • 4 comments
  • 26 respects

Robotics LED Strip

Project tutorial by Arduino “having11” Guy

  • 2,362 views
  • 3 comments
  • 11 respects

NeoPixel LED Strip Server

Project tutorial by Andrea De Gaetano

  • 1,977 views
  • 4 comments
  • 5 respects

LED Emergency Lights using WS2812 RGB LED Module

Project tutorial by bigboystoys13

  • 9,423 views
  • 4 comments
  • 17 respects

HUB75 LED Display Driver

Project tutorial by Alex Stepanov

  • 5,269 views
  • 0 comments
  • 3 respects
Add projectSign up / Login