Build your own programmable High Power 3W LED Flasher for your FPV model

November 17, 2013 3:02 | By | 5 Comments

Want high power 3 Watt LEDs as a highly visible anti-collision flash, but don’t want to spend $50 on a RC-ready product? Make your own programmable device for $12.-! Read on for complete build instructions.

A 3W LED. Typically they are mounted on a heatsink. If you intend to only briefly flash them on and off instead of turning the LED on for longer times, you can remove the heatsink.

A 3W LED. Typically they are mounted on a heatsink. If you intend to only briefly flash them on and off instead of turning the LED on for longer times, you can remove the heatsink.


Parts List

When designing this circuit we tried to keep the component count low, so the list of parts is very short:

One Arduino Nano (about $7 on ebay)
One TIP41C Power Transistor (about $2)
Three CREE 3W LEDs or similar (about $3)
One 330 Ohms resistor
One 5 Ohms resistor (or two 10 Ohms in parallel if you need more power)


The Schematic

This is our very simple driver schematic, consisting only of two resistors and one power transistor. We connect our circuit to the D13 pin of the Arduino. Most Arduinos come pre-programmed with a blink program that toggles this output – perfect for immediate testing!

schemeit-projectThis schematic is designed to run directly off of a 3S LiPo Battery, hence the need for 3 LEDs.

Breadboard build

First we try out the circuit on a breadboard. This will also allow you to tweak the value of R2 to your liking – if the LEDs are not bright enough, use a smaller value like 3 Ohms. If the LEDs are too bright or stuff gets hot, use a higher value. 5 Ohms should be safe for most LEDs, but some may need 3 Ohms or similar. If you use low resistances consider using beefier resistors. Since we only turn on the LEDs for short amounts of time, we have a lot of leeway.

WARNING: Do NOT use the 5V power input of the Arduino. Instead, use the V-IN pin which takes between 6 and 20V.


NOTE: You should not connect the 12V LiPo while the Arduino is connected to your computer via USB.

You shouldn’t need to alter the Software at this point, but while we have the circuit working on the breadboard, why not program a nicer, more “scale” flash pattern?

Program Flash Sequence

First, disconnect the 12V power source, and connect your Arduino to your computer via USB cable. You will want to download the latest Arduino SDK and select the “Arduino Nano” from the list of boards, as well as the appropriate COM port. You can just try flashing the program to see if the settings are correct, you can’t break anything at this point ūüėČ

Here’s a short and simple program listing for a nice two-strobe flash that looks very much like what you see on private airplanes:


// The TIP41C Transistor is connected to Pin 13
int led = 13;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     

// the loop routine runs over and over again forever:
void loop() {
  // two short flashes
  digitalWrite(led, HIGH);
  digitalWrite(led, LOW);
  digitalWrite(led, HIGH);
  // stay dark for 800ms
  digitalWrite(led, LOW);

After flashing, the LED on the Arduino board will flash exactly as programmed. To see the big show, disconnect USB and connect your 12V power source – the beefy LEDs should now flash as well.

Final Build

Now that the software is in the box, it’s time to make a miniaturized version of the breadboard schematic. If you want to keep it simple, isolate the bottom of the Arduino board with electric tape and solder the components directly onto the pins: Connect the 330 Ohms resistor to pin D13, and the other end to the leftmost pin (look at the transistor so you can read the writing), then connect the rightmost pin to GND. The center pin of the transistor is soldered to a cable that will connect to the negative pin (Cathode) of the first LED. All three LEDs should be connected in series. The last LED is connected to your 5 Ohm resistor, and from there we go to the +12V of the battery. Don’t forget to connect another cable to the GND pin of the Arduino and connect that with your battery as well.


After another test, heatshrink the entire assembly, making sure nothing can short out. You can also fix delicate parts with hot glue before heatshrinking.


You can cut out a window for the Arduino LEDs if you want, but of course that’s up to you!

Since we only flash the LEDs instead of turning them on for longer periods of time, it’s safe to glue the LEDs onto the aircraft frame without a heatsink. But again, mounting and location are up to you. Just note that longer wires add resistance and thus make the LEDs dimmer, so you should not use too thin wire and/or keep the wire length short.

A 3W Cree-LED glued right onto the frame. Only advisable if the LED is used as a flash.

A 3W Cree-LED glued right onto the frame. Only advisable if the LED is used as a flash.


The Result

Congratulations, your quadcopter/FPV plane should now be really easy to spot in the sky – and the entire circuit draws very little overall power.


Hopefully this little circuit has sparked your imagination. You can do all kinds of things with this – the Arduino has lots of outputs and you can do a lot of fancy lighting stuff with it. The TIP41C is easy to find and relatively cheap, and the low component count keeps the complexity at a minimum.

Let us know if you build fancy lighting solutions, we’d love to see your creations!


Tags: , , , , , , , ,

Category: Featured, Howto

About the Author ()

FPVCentral is a private, independent news and review site for all things related to First Person View RC model flight. Covering everything from hobby, commercial and military drones, RC models and electronics related to FPV flight, we are not sponsored by any manufacturer or affiliated with any company or project.

Comments (5)

Trackback URL | Comments RSS Feed

  1. Stephen says:

    I really want to do this for a bicycle tail light. I have a 3 watt LED (red) with voltage range of 2.5-3v. I’m not sure what I need to change in order to get this to work. I’d like it to be powered by a few AA or AAA batteries.

    If you can help it would be greatly appreciated!

  2. Dwayne says:

    Awesome man! Ive been hunting for something a bit more that I can understand. Just burned out a LED flasher board I got …. Maybe I’lll have more luck with this!

  3. Miguel Melo says:

    Great… I just did it with my arduino and it works pretty amazing, very very bright.

    I have a question… if I want to use only one led per channel or two leds per channels what resistors I should use?

  4. bjornc says:

    Thanks for this tutorial.

    I plan on using a 4S lipo, and am thinking of a parallel setup instead of serial.
    Could that work too?

  5. david says:

    Hey nice tut btw. What resistors i should use to make only 1 led flash?

Leave a Reply