This is my very first instructable, and keep in mind that English is not my native language. When that said, the idea was to create a strong strobe light with minimum weight and power consumption for use on my homemade, radiocontrolled multirotor drones (Ardupilot of course ;) ). When flying at higher altitudes and/or longer distances, it's difficult to have good visual contact with the aircraft. So I thought a flashing high-powered light would help me see it even when it's far away. In "old days" we used xenon flash tubes w/high voltage circuitry to accomplish strong flashes. Many kilowatts in a few microseconds can be substituted by watts in milliseconds, giving the human eye the same impression of light. Today we have high powered LEDs on the market for a very reasonable price. This is how to make a 20W pulse LED-strobe working at voltages between 11 - 16 volts DC (3S - 4S lipo), in a compact and lightweight package.
Edit: NOTE: Some Chinese clones of the Pro Mini will burn at 12V and more, as the internal 5V regulator doesn't accept input voltages above 12V. To solve this I recommend a 4.7v zener diode in series with the +V from battery to the "raw" input on the Arduino. Remember that zener diodes should be connected in the opposite direction; e.g. the cathode (marked with a ring) against the battery side. Other alternative is to use a cheap 7805 voltage regulator, and power the Arduino with +5V into the "Vcc" (not "raw").
Step 1: What you need from eBay (or other source):
2 pcs. 10W cool white LEDs (approx. USD 3 for both - be sure it's the 9-12V/900mA version)
1 pcs. Arduino pro mini clone, 5V/16MHz (approx. USD 2)
1 pcs. IRF540N MOSFET transistor (You can buy 10 for less than USD 3)
Some wires and (optional) transparent heat-shrink tube, 20 mm with before shrinking
Step 2: Programming the Arduino clone
You should first program the arduino, or else (like me) end up in the end soldering Tx/Rx lines on the finished strobe. How to program the Arduino is not explained as I presume you know how to do this. The code will follow with explanation in the end of this instructable. If you like, you may also solder some header pins to GND, Tx and Rx for later modificatons of the software. It's up to you. My goal was to keep the weight to a minimum.
Step 3: Assembling the parts:
On the backside (no components side) of the Arduino I've sticked som double-sided tape, and fixed the two LEDs onto the Arduino as pictured. Remember to fix the LEDs so they have the same polarity on each side. The heat sink on the LEDs is not conducting any current nor connected to the anode or cathode on the LEDs.
Step 4: Solder LEDs together:
Use some wire to connect the two LEDs together; anode to anode and cathode to cathode. Or the easy explanation: + to + and - to -. You can trim the edges of the LED's connectors, so that it will be a smaller footprint on the final build.
Step 5: Gluing the MOSFET
I've used fast dry superglue to mount the MOSFET as pictured on the backside of one LED. Also I've cut most part of the legs,
Now it's time to solder it all together. The legs on the MOSFET is as pictured (seen from left to right on the heatsink side): 1 - drain, 2 - source and 3 - gate.
* The "minus" (-) side of the LEDs should be connected to source (leg in the middle) on the MOSFET
* The "plus" (+) side of the LEDs should be connected to "raw" on the Arduino (not Vcc), and also the +12V power wire from the battery/power source
* The ground wire (minus wire from 12V power) should be connected to GND on the Arduino, and to leftmost leg at the MOSFET (drain).
* Finally, the gate on the MOSFET (rightmost leg on the pictures) should be connected directly to pin 13 on th Arduino with a short wire.
If you want, you can pack it all in a transparent shrink-tube to protect the circuit from rain and dirt when installed on the drone/aircraft. With approximately only 15 grams of mass, the finished product is very lightweight for it's use.
You may change the code yourself of course, but be aware that if the duty-cycle of the LEDs is to high, they will get very hot and probably damaged. In this code there is a total of 1240 mS (milliseconds) for one cycle, in which the LEDs are turned on only 40 mS. This gives us 40/1240 * 20 = 0.65 watts average power consumption, even when the LEDs are flashing at full 20W power in pulses. They will not get hot at this average level. This is also good news for the aircraft's battery in respect of flight time.
The battery power shall to the "raw" connector on the Arduino, NOT the "Vcc".
The Pro mini (and it's 5V clones) have a built-in voltage regulator which accepts voltages up to 16V or more, and regulates the voltage down to 5V internally on the board. This is important - if you confuse the "raw" input with the "Vcc", you WILL damage your Arduino.
Step 6: Code and a short video
Enjoy the project!