Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /homepages/43/d91031476/htdocs/index/wordpress/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524

DIY wireless firework control

Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /homepages/43/d91031476/htdocs/index/wordpress/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524

STANDARD DISCLAIMER: I take no responsibility for your actions in regards to this information. Always take safety precautions when handling any explosive/dangerous materials.

This is a project that I finished for last years Fourth of July. It was actually intended for the year prior to that, but rushing to finish led to a dead controller board, so I had to postpone its use a year. Despite some incidents involving the fireworks themselves, the controller worked great. Sadly I don’t have anything in terms of in progress photos, but hopefully you’ll be able to make sense of it.


This box has 3 modes: off, on, and fire. Power is supplied to the relay board (the microcontroller, but not the individual relays) by turning the key to on. Flipping the toggle to test mode allows me to check the connections on the electronic igniters. This is done by making a circuit through each led and terminal block with a high resistance resistor. There is enough amperage to light the led, but not heat up the nichrome wire. When the toggle is flipped to on, power is removed from the test circuit, and the 12v wire going to the relays on the relay board is energized. The entire system is then controlled by a remote box, which is a modified version of the original remote that comes with the kit. You can you the original remote as is, but (due to the lack of an on off switch and key) it is highly discouraged.

There are a few main parts to this project, they are:

  • The controller board
  • The remote
  • Charging circuit
  • Main panel
  • DIY electronic igniters

The first step is obtaining the remote control relay board. I picked mine up on ebay, although their selection seems to have changed slightly since I purchased mine. (edit: I guess people have been having luck ordering the transmitters here and the receivers here) Despite this, the idea is the same, and as long as you know how a relay works, you’ll be fine. In order to save myself time, as well as make the board a bit more reliable, I decided to wire up all of the relays so that one side of the relay was connected to 12v, when the board was in the fire position. I also beefed up the wiring going between the terminal and the relay. I considered mounting this board onto the box, but I decided to let is simply float around inside. This allowed for some isolation from the shock that the fireworks could produce (there are some reports of relays being triggered by such repercussions). To electrically isolate the board, I used some zip ties in each hole (to provide spacing), a piece of plexiglass (ok, part of a cd cover) and some hot glue. This all can be seen in the photo below.


(note, there actually was a jumper wire like that on the bottom, I just replaced it when adding the 12v rail)

The remote wiring is simply removing the old buttons, figuring out the circuit a bit, and then wiring up new switches in their place. LEDs were added for power and transmit indication, and two switches (key and toggle, just as on the main box) were added for power control. I’m not going to go into any detail here, as you can get away with the original remote, just make sure to keep the battery out until you are ready to fire.



I took the easy route with the charging circuit, and ripped one out of an old car jump starter that had a dead battery. This just required the relocation of the status button, as well as the leds. I’m not sure if it was needed, but I relocated the voltage regulator with a piece of scrap heatsink, as it ran very hot. I was feeling unimaginative with indicator layout, so I just used the sticker from the original indicators. The battery is just a standard 7ah 12 volt sealed lead battery, very similar to the dead one it replaced. This can be best seen in the shot below, as the board that is placed perpendicular to the main panel. Note: you can always take the even easier route, and just use an external charging circuit.

To help explain to some extent this circuit: The blue wires coming off that board go to a transformer, which was originally on a much shorter wire. Following the transformer, you can see the yellow wires, which lead into my hotglue mess (I wanted to make sure those lines were well insulated and secure) of a power socket. This is a standard psu connector that I ripped from an (you guessed it) old power supply. The 12v (ish) off the charger then heads to the fuse, where one wire heads towards the battery for charging, and the other goes to the main key switch seen with the red electrical tape. That key switch energizes 3 things: The relay board microcontroller, the power led seen above it, and then the toggle switch next to it (green wire). When the switch is in the down position, power flows out the green wire, and to the clusters of resistors for the leds, which test for continuity in each channel (by connecting to the positive terminal). When in the up position, power flows to the yellow wire, and thus the relays on the board are energized and waiting for a signal. The giant cluster of red wires you see coming of the relay board, simply go to the positive block on each terminal. The ground rail is much simpler: all non test leds, the negative side of battery, the negative terminal on the relay board, all connect to black negative wire that goes around the 12 negative terminals.

DSC_6200 DSC_6202

The igniters are almost whole project in themselves. Although you can also take the non DIY approach: buy some model rocket ignters, get a fireworks certification to buy commercial firework igniters. Neither option was that cheap, so I decided to make my own.


Building these requires 3 ingredients:

  • Nitrocellulose (aka ping pong balls)
  • Black powder (I just used pyrodex)
  • Acetone

And these materials/supplies:

  • Small gauge wire (solid core cat 3,5 is great for this)
  • Nichrome wire (ebay again!) I found that 40ga works well, but its a bit hard to wrap
  • Ball mill (I didn’t have one, so it was an old rock tumbler to the rescue)
  • Lead media (lead balls about the size of marbles)

The problem with most black powder is that it is too course for our application. To make it smaller, simply fill maybe a 3rd of the mill with black powder, and then about the same amount with lead media (again, didn’t have a mill, so I just used lead fishing lures). Be sure to use only lead media, you do not want any sparks forming. To be extra safe, make sure to only run the mill outdoors, with some distance put between you and the mill with an extension cord before you plug it in. I just let this run overnight, and was presented with a fine powder in the morning.

While the mill is doing its thing, you can get your Nitrocellulose mixture going. Take some scissors, cut up 4 or so balls into smallish pieces (the smaller you cut, the less time it takes to dissolve). This is then placed into a glass container with some Acetone. It will take time for the plastic to dissolve, so its best to just stir it every few hours until it has the consistency of elmer’s glue (it will look like it too, but don’t be fooled, it is very flammable in its current form). Once this is done, and your black powder is ready, you can start adding the powder to your acetone mix. This will have quite a thicker consistency, but you don’t want to add too much, otherwise the BP will crumble off the tip of your igniters.

If you’ve made it this far congratulations, and now for the most tedious part: wiring the igniters. Essentially you get to strip wire 48 times (12 ch x 2 wires per channel x 2 ends to each wire). Next, you wrap the nichrome wire around one end, bend it downward, and then wrap the other wire. Finally, you dip it into the mixture made earlier.


To connect between the terminals and the igniters, I used lengths of speaker wire with alligator clips attached to the ends (as shown below).


The igniters are simply taped to the ends of the fuse. Some use electrical tape for this, but I prefer aluminum tape that is normally used for ducts.

The end result:



I would just like to thanks the folks at the pyrouniverse.com forums, this wouldn’t have been possible without them.


RSS feed for comments on this post. TrackBack URI

  1. Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /homepages/43/d91031476/htdocs/index/wordpress/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524

    Great article.

    Comment by
    Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /homepages/43/d91031476/htdocs/index/wordpress/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524
    top hot
    — September 27, 2019 #

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Powered by WordPress with GimpStyle Theme design by Horacio Bella.
Entries and comments feeds. Valid XHTML and CSS.

Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /homepages/43/d91031476/htdocs/index/wordpress/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524