RC Fireworks Ignition System

Hi there 🙂

It's been kind of a while since we published the last article. Actually the topic of this one is pretty cool and can be used for many purposes such as mole hunting 2.0 :D.

So everything started with an idea. A simple idea. "Hey! we should drop fake bombs from our R/C plane!". Then, "Hey, smoke would look great on this R/C plane!", and finally, "Hey! We should launch fake rockets from our R/C plane!" (and yes, we are grown up people with employement... 🙂 )

We started doing it by hand, firing the smoke and the firecrackers with matches just before to take-off. It was nice, but we had to hurry and we could not decide on when the smoke/firecracker should be launched.

The principle

After looking on the Internet for automatic ignition systems, we came up with our personnal DIY system, which, while not perfect, gives pretty neat results!

There isn't that many options to automatically light a firecracker's wick:

  • We can use the principle of a lighter, that is, having an embedded tank of flammable gaz, a system to generate a sparkle, and an automatic valve.
  • Or we can use a thin steel wire and put a large current run it so it would become incandescent.


The first solution would involve a too complicated system for the sunday DIYers that we are. Also, we were not sure how it would behave with all the relative wind there is on a plane. We decided to adopt the second method.

To have a reliable and effective ignition system, the key is to reach a temperature that would effectively light the wick, but not TOO hot in order not to destroy the wire or even the plane's battery.

First version

The coil

So we started by using a wire that came from a stranded wire (itself coming from an old computer power supply unit). We took 3 or 3 strands, twisted them, cut around 10cm (4inches) of it and shaped it as a coil around the wick. then, we put our protective glasses, gloves, and put the power. the coil instantly melted, ligthing up the wick! So it worked 🙂

This coiled cooper wire, when a hight enough current flows through it, get very hot and burn.
This coiled cooper wire, when a hight enough current flows through it, get very hot and burn.

The switch

We only had to find a way to put the power when the plane was in the air. That was a tricky question because in an R/C plane even if you have a very powerfull battery that can provide 300 or 400W easily, you still need a switch that will withstand this kind of power. But in a plane you also have the PWM output of servos comming from the R/C receiver. Several solutions here : the most aesthetic one is to buy/design an electrical relay that is triggered by a channel of your R/C controller. but as I said, we where in a hurry to make this plane in the air, so we opted for the most epic switch ever: a servomotor with hot-glued wires on it that make contact when we trigger a channel on the transmittor. Effective, very ugly, that was perfect!

A really basic servo switch that is used to enable current flow through the ignition system.
A really basic servo switch that is used to enable current flow through the ignition system.

So it worked like this for a few flights, with the obligation of crafting a new coil for each successful ignited firework. kind of boring after a few ones... So we decided to improve a little the system.

The improved version

Basic physics..

I had some steel wire remaining from an old project (a hot-wire cutting table to cut airfoils out of foam blocks). I knew that it could become very hot without breaking by experiment it back then. So we first got some wire, and measured the electrical resistance per meter which was around 10ohm per meter. Let call it Rw.
The resistance of a wire is proportionnal to its length. So we have:


By experimentation, we also knew that a power of around 100W would do the trick : it's enough to provide very big sparks, but not enough to damage the battery and to reduce the autonomy of the plane. So to calculate the length of the wire we need, it's really easy physics :

it's a simple resistive circuitry, so we have the famous

U=R*I \to R=\frac{U}{I}

Also the power consumed is given by

P=U*I \to I=\frac{P}{U}

Injecting the ohm equation gives us


We inject the very first equation giving us

R_w*L=\frac{U^{2}}{P} \to L=\frac{U^{2}}{P*R_w}

Only very basic math and physics here. Applying it to our problem gives us (the average voltage on a plane that is flying with mid throttle on 3S is 11V).

L=\frac{11V^{2}}{80W*10\Omega/m} \approx 15cm \approx 6inch

On the Bixler...

That is a neat result because it allows for a small enough wire to be shaped as we want to make it easier to lock the wick. We decided to cut it in half and put it each side of the Bixler's wing. We cut a can and glued it to protect the wing from the rocket's projections. We also doubled the circuitry with 2 switches to have another ignition system to light up smoke 🙂

The tail of the rocket is inserted inside the plastic tube, and the wick is holded inside the wire's loop.
The tail of the rocket is inserted inside the plastic tube, and the wick is holded inside the wire's loop.
The smoke bomb is placed in the hole, and its wick is holded inside the wire's loop.
The smoke bomb is placed in the hole, and its wick is held inside the wire's loop.
We can see the rocket that is holded inside the plastic tube with tue wick pinched on the hot wire.
We can see the rocket that is held inside the plastic tube with the wick pinched on the hot wire.

Here is an amazing video demonstrating the rockets and the smoke bombs, it also features some night flights with the Bixler 2!

Flashing a Turnigy 9x with an Arduino

Don't you think those programmable transmitters are really expensive ? Well here is one solution to this problem : If you already have an Arduino, some wire, a soldering iron and a litle bit of dexterity, you can have a complete, highly customizable transmitter !

Indeed, some awesome guys made new firmwares for the "well known" Turnigy 9x (a low cost 9 channels transmitter, about $60). Even better, those projects are opensource and free. What else ? Ok lets start this little hack.

Turnigy 9x

There are numerous projects (TH9X, ER9X, GRUVIN9X, ERSKY9X,..) and the choice is up to you. I personnaly used Open9X because it seems to be the better easy-to-use/fonctiunalities ratio. But before talking about software, lets discuss the hardware. The problem is, how to send the new firmware to the radio ? Actually this is where you'll need to solder a little. It can be pretty scary, but it's not that hard if you have a good iron ;-).

Lets add a programming port to your 9X !

[important]If you purchased a "9XR" version, there is no need to to this hack since it's already done in factory ![/important]

The Freshly bought Turnigy 9X

Ok you said goodbye to your beloved radio ? Let's unscrew it ! Note that on mine the screws were really hard to unscrew, and I had unfortunately to destroy one of them. Once i'ts open, you'll first be like "WTF am I doing?". Actually, it's pretty simple. First thing you have to do is disconnect the connector that goes from the front part to the back part. After this you'll be able to separate them. On the front part, locate a "big" chip. It's the heart of this radio, the ATMEGA64. Pretty simple stuff, actually. It will be easy to reflash thanks to the AVR isp (In-System Programming) protocole. You'll just have to add the wire to be able to use that protocole.

Atmega64, heart of the system

You'll need 6 wires for the isp protocole :

  1. MISO (Master In Slave Out) known as PDO (Program Data Out) on the chip
  2. Vcc (5v)
  3. SCK (clock signal)
  4. MOSI (Master Out Slave In) known as PDI (Program Data In) on the chip
  5. RST (Reset)
  6. GND

You can figure out by yourself were you should solder those signals reading the ATMEGA64 datasheet (pin n° 2,3,11,20,21/52, 22/53) but I'll give you a simpler way to solder it : Actually the designer of this board were cool guys, the little pads you can see can be easilly used as entry point to solder your own wires.2013-01-01 16.40.50+annots

Pretty easy, isn't it ? I strongly recommend you to make an interface to the outside of the radio because there are several softwares that allow you to customize your model on your computer and then transfert the result in the radio memory, using this protocole. I personnaly used a DB9 connector. but you can use whatever you want (it must have at least 6 connections). The better place to put this connector is under the radio so your hands won't be disturbed.

2013-01-01 17.08.29

2013-01-01 16.41.06

Ok you can now close your radio (don't forget to plug the 12 wires connector). Try to turn on your radio. If it works, lets go to the next step!

Turn your arduino into a AVR programmer

From here, you can use every AVR programmer you want that is compatible with AVRDude (that is, almost every programmer, actually). But I hadn't one and I knew that the Arduino could be used as one. Here is basically the schematics you want (leds are optionnal but strongly recommended. Also, the PCB should not be really hard to design and make).

Untitled Sketch_bb_corr_1.01

Note that the reset is tied to Vcc to prevent reset when connecting the Arduino.

Double-check your connections between the ISP and the ATMEGA64, if you don't want to buy another 9X 🙂

The Scketch to upload to the Arduino is located under the examples as "ArduinoISP". This is actually an implementation of a subset of the "STK500" protocole  (learn more here), and therefore you'll be able to use it with Avrdude (which is nice because that's what we need to easilly flash our 9x !).

Pin assigment is given in the sketch :

// pin name:     not-mega : mega(1280 and 2560)</div>
// slave reset: 10        : 53</div>
// MOSI:        11        : 51</div>
// MISO:        12        : 50</div>
// SCK:         13        : 52</div>


Because of the ATMEGA64 EEPROM address managment, you have to make 2 modifications : when reading the EEPROM and writing the EEPROM : the code looks like it :

uint8_t write_eeprom(int length) {
// here is a word address, get the byte address
int start = here * 2;


char eeprom_read_page(int length) {
// here again we have a word address
int start = here * 2;

You have to delete the "*2" since the address is already a byte in the ATMEGA64.


The Firmware

Just install the Companion9X software that will do everything for you. Just change your programmer option under Burn/Configure... and enter the following :


(The Port is the port representing your Arduino)

Ok, time to flash ! You can download whatever version you want and try all those wonderfull firmwares !

2013-01-02 15.49.34

2013-01-02 15.51.34

I hope this little tutorial has been usefull for you 🙂 Stay tuned !

Align's T-REX 450 Sport v2

Ok, so after flying with our quadrirotor, I wanted a machine capable of doing a more aerobatic flight. So I started looking at CP helicopters. A CP (Collective Pitch) helicoptere is a particulare type of heli that is able to independently move its blades. For instance, the two blades can take a positive pitch which will sustain the helicopter in the air, or it can give a different pitch (Called cyclic pitch) regarding the position of the blade, to make the helicopter move in a particular direction. See this Wikipedia page for more informations about it.

So, after a while, I decided to buy a class 450 heli (rotor diameter around 700 mm), mainly because of the low price of this class and also for the ease of use (and also, it's less dangerous than a 700 with a rotor diameter of 1m50 !). I bought the TREX 450 Sport V2, as the Align brand has a really good reputation among the Internet.

The box arrived 10 days after shipping, and my first impression was : that's a very tiny box !

Everything inside this box is tidy.

Let's open all those sub-boxes, to discover that there is a significant number of parts 😀

One great point with this kit, is that it comes with the electronic (motor, ESC, servos) and i had to add my newly converted to 2.4Ghz Eclipse 7.

Let's now have a look to the assembly. I knew what to expect here has I read a lot of things on the Internet about it. Clearly Align masters the subject and the assembly is really straightforward.You just have to follow the manual. Don't forget to double check if the pre-assembled parts are well threadlocked.

Head assembly

This is clearly a masterpiece, it's beautiful and there is no backslash. the only (related) problem is that the links are tight so you have to lapp the plastic screeds. Here again, it's really well documented on the Internet. On the pictures, you may have noticed that I inverted the main shaft. Be careful or you'll have a big backslash between the frame and the head.

Let's now have a look on the carbon frame assembly.

Nothing to say here, just follow the manual :-)Oh, just, don't threadlock the rear screws (where you insert the tube) as we'll need to loose it to put the tube and adjust the tension of the belt.

Let's focus on the AC assembly. Almost nothing to do here for me as it was well locked from factory.

A little word about the main gear : to adjust the backslash between the motor and the main gear, one tip is to insert a piece of paper between the teeth, so there is around 0.1mm between them, as given by Align.

Last part of the job before the adjustments : the electronic. Just screw the servos, make them horizontal when the TX is at neutral, and it's done ! Also put a little strip of foam between the frame and the gyro to absorb vibrations.

Annnnnnd it's done : it took me two days to do it, but it was the first time I did it ! I think I would take 5-6h now to assemble it again.

Later we'll talk about the first flights, maintenance, and the first crash I had after 50 flights ! Stay tuned 😉