Picture of Build the Ultimate Larson Scanner!
I have watched the availability of high power (>10W) LED's jump over the past year or so and... drop in price.  I came across some very inexpensive 10W white LED's from Deal Extreme that were in the $3 dollar range and put out 900lumens, which is more than a 60W incandescent bulb. I immediately thought 16 of these would make a great Larson scanner. What exact neuron sequence fired in my brain that caused this thought is unknown, but it seemed like a good idea! So as we say in Texas, “Hold my beer, I want to try something”.


To be able to use these I needed the ability to easily regulate the current to them and to be able use a PWM signal to adjust the brightness. So I started thinking about it and doing some research. I also needed it to be simple and not require surface mount components and making circuit boards. I found some nice designs based on switching inverters but most of these were intended to be efficient constant current LED drivers with one brightness level. Or in the case of flashlight drivers, a couple of brightness levels.

Remove these adsRemove these ads by Signing Up

Step 1: The Driver

Picture of The Driver
Then I came across the classic MOSFET constant current driver for LED's. There is a great instructable for this one here

Below is my rendering of the schematic. (Original then with two mods to allow PWM)

The only thing missing was how to PWM it. I had an idea. What if instead of connecting the collector resistor to the main positive supply, I connected it to the output pin on an Arduino? If the pin was low (ground) it should turn the MOSFET off and thus the LED. After a little breadboarding I discovered that it worked great! This opened up a lot of possibilities for driving high power LED's as the component costs for each one of these is about a dollar and they are simple to build. Instead of a breadboard. I used the old standby: Point to point.

Doing a little research on Digikey I found a great MOSFET to use. It is T-220 mount and the case is entirely plastic. This means you don't have to worry about insulating the electrical connection to the metal tab when you mount it. And, it was less than a dollar if you buy in bulk.

Along with the 10W LED's from Deal Extreme, I found an 80W warm white one for $18 and a 60W RGB one for $21. That site is dangerous. 60WRGB LED's are like crack. I ordered a couple of each and some of the plastic reflectors to go with them.

How it works (yea, the math stuff):

The heart of this current regulator is the NPN transistor. I am using the 2n3904 which has a .7V drop on the Base Emitter junction when forward biased. This voltage is also present across the Sensing Resistor Rsense. Which is also where the LED current flows to ground. Because we always have .7V here we can pick a value for this resistor that sets our LED current.  To function properly the NPN transistor needs to be biased into its normal range of somewhere between 1 and 10 milliamps of current. This is where the Collector Resistor comes into play We need to size this based on the supply voltage. If it is a stand alone regulator, meaning you just want to always light the LED's at the correct current, you should use 3.3K to 4.7K and that will work with 12VDC all the way up to 35VDC. Why would we need the different voltages? We will see when we look at the different high powered LED's.

There are a couple versions of the constant current regulator:

The first is the classic, I just want to have my LED supplied by a constant current and not control it. Use the first circuit for that one.

Second it the “I am going to control it from and Arduino pin directly” This one also will also work for any 5volt logic gate such as the wonderful 74595 TTL shift register. There are libraries out there to drive these from an Arduino and string many of them together. This circuit will work for this application. The only real difference is that we are connecting the collector resistor to the logic output pin. If you use a 3.3K resistor the most load the gate will see is 1.5ma of current. Well within the drive capability of the TTL chip and an Arduino.

Third (and this is what I am using for my 6 foot Larson scanner!) is this one. It is the Sparkfun breakout board for the TLC5490 which conveniently has a 2.2K resistor tied to VCC on the PWM outputs. For those of you new to this chip, it features 12bit PWM and is meant to directly drive LED's up to 100ma or servo's. There are libraries for the Arduino to do just that. In particular there is a great one written by Alex Leone. You can find it here:  This is the one I am using to drive my Larson Scanner.

Because the Sparkfun breakout board includes a 2.2 K resistor, I don't have to include a resistor on my current regulator.  How awesome is that? You have to be aware that now when the TLC5490 is “off” the 2.2K resistor turns "on" the transistor and the LED. So to turn the LED off, you have to turn on the TLC5490 output. In the code driving it you just have to think backwards sending the TLC a value of 0 turns the LED on full brightness and a value of 4095 turns it off.

I have played around with this chip for awhile and have always wanted to use it to drive larger loads. Plus running it at 100ma per output gets it very hot. Using an external current regulator for the load like this barely gets the chip warm.
66mopar1 year ago
hmmm. Is it feasible to make ceiling mount garage lights with this setup?

Would be really
nice to do this with 2-3w LEDs on a 40cm rail to that it could fit my grill on
my car >:) The afterglow on the LEDs really does it. The other Larson
Scanner project that I have seen lacks the afterglow, and without it it’s just
a running Christmas light. And with 10w I get in trouble with the law, so 2-3w LED
would be nice ;)

DJJules (author)  ptollgren lazarov1 year ago
That is easy! Use a 2Ohm resistor for the current sense Resistor and it will current regulate to 350ma and then use Red LED emitters like this one:

Thanks.. The project is on my todo list now ;D

polofsson1 year ago
im curious, why use the constant current driver? since all the current is passning the resistor, why not just size it properly and be done with it?
DJJules (author)  polofsson1 year ago

I did this because then I do not have to worry about the exact voltage going into the LED/resistor combo. For example the LED has about a 10V drop across it that doesn't change (or very little with current) so if I have a 12 volt source I need a 2Ohm resistor that can dissipate 2Watts (I squared R) but if the voltage goes up to 14V (like in a car or something) then all of a sudden I have way to much current going through the LED in fact I will have 2 amps and it and the resistor will fry.

monty3241 year ago

Hold me, my beer wants to try something. Great set-up, ive been thinking about using LED's like these to light my shop.

That is a good price for that LED, I just bought the same ones from Electronic Goldmine for 5.00 we seem to have similar tastes in projects, having just built a bath light for my camper using the same LED's I can offer this, the heat out put of those lamps drops greatly when you back away from maximum current, you may lose10% brightness, and 80% of the heat.
PS why were you so concerned with heat in a strobing application?
dsur1 year ago

What is Larson Scaner? Some good link?

DJJules (author)  dsur1 year ago
It is named after this guy: He created Battlestar Galactica. Also used by Kitt in NightRider. Which is the voice in my video that says "All Systems Go Michael"

jptrsn1 year ago
I love this! Do you plan on adding separate constant current drivewwrs for each colour channel? I'm assuming that with the current configuration you can't adjust the colour. I did something similar with 3W RGBs to make a high power motion controlled colour organ. Now it seems underpowered...
DJJules (author)  jptrsn1 year ago
Yes. Grab one of those 60W RGB LED's and if there are two strings of each color then drive it with 700ma (350ma X2) and to do that use a 1Ohm resistor as Rsense in the regulator and use your original color organ circuit (if it using PWM) and drive the regulators from it.


Go big, or go home, thats my motto. Ever considered using flash tubes?

spikec1 year ago
That thing is badass, puts all the little ones I built to shame. Nice job.
DJJules (author)  spikec1 year ago
Thank you. I had to go BIG lol!
cowstick1 year ago
I wonder how well these would work as off road lights on my Jeep.
atze021 year ago

Looks great!!!

I buy a lot of my gadgets at DX too, but for LEDs I usualy check:


DJJules (author)  atze021 year ago
Those guys have 100W emitters! I'm in trouble now! And the 10W chips for a couple bucks. Amazing
SimoMies1 year ago

Favorited, gonna refer to your drive schematics when I have the time to start building RGB balcony lights controlled with 'duino :)

DJJules (author)  SimoMies1 year ago
Thanks! That was the "secret sauce" for me once I sorted out a simple high current driver, I thought "What can I build with this?" LOL! And I had purchased 20 of those 10W emitters. So... I busted out the soldering iron and this is what happened.
slwthr1 year ago

Awesome Mate!

zygomatic1 year ago
Cool idea. I've seen some of those 10 W LEDs getting cheap and wanted to try playing with them, but don't have any experience with HBLEDs. I'll have to try your driver circuit. Is the heatsink just a mechanical connection? Did you use any thermal paste/pad/etc.?

DJJules (author)  zygomatic1 year ago
Just Mechanical. On anything higher power like 60W ones, I recommend using heat sink compound. I also tend to run conservative and use bigger heat sinks. Running one of the 10W ones on the heat sink I am using gets it up to about 40C which is just on the edge of to hot to touch. I checked the die with a non contact IR thermometer (Harbor Freight special!) and the die was 52C.

pehan1 year ago
Is there a reason why you didn't mount the LEDs directly onto the aluminum bar, and use that as a heatsink?
DJJules (author)  pehan1 year ago
Yea, they produce to much heat. The aluminum bar would work for 1 W LED's but not ten. I plan on using this for other things where all LED's could be lit in which case the whole thing is dissipating 160W. I also got a hold of 40 of thse heat sinks and they make great little stand alone lights with one 10W led on them.

zephyr681 year ago
Great work! I am from Oregon and we say, "¡Sostenga mi cerveza y mire esto!" Of course, there's lots of laughter before the crying starts. Pretty much sums up a good life. Love the 'structable!
static1 year ago
Far out build, and you made hackaday. I know you made the suggestion you are from Texas and all, but barley is a grain. Perhaps you meant barely gets the chip warm
DJJules (author)  static1 year ago
LOL! As I am from Texas (Central Standard Time) I published this at 1:06AM my time. And since I spelled Barley correctly, it didn't have that little wiggley red line below it! I will fix it.
So great!
DJJules (author)  audreyobscura1 year ago
Thank you!