A couple weeks ago, resident SparkFun wizard Nick Wilson introduced me to nichrome wire, and it brought back a childhood memory of lighting fireworks with my model rocket launcher and electric matches. I had always thought it would be fun to be able to set off fireworks with precise timing like the pros.
Last year my home state, Michigan, legalized aerial fireworks. I put on a small show combining mortars and 200mg cakes. A couple friends and I would light as many of the wicks as possible and run for our lives. The show went really well and I told everyone I would put on another one the next year.
With Nick’s inspiration, I made a 4 channel firework launcher capable of igniting 16* individual firework fuses with variable delays.
Finding anything with a fuse in Colorado is actually pretty hard. I had to have some visco fuse mailed, and it took a while. Naturally, that didn’t stop me from making stuff in the meantime.
It took forever to whittle those clothespins, but in the end they came out better than expected. Unfortunately once I received the visco fuse, I realized the 40AWG nichrome just didn’t have enough oomph to burn through the outer layer. I think this design could still work well with some lower gauge nichrome.
This is the main box. It has a 5V 16MHz ProMini, 12/5V 2A power supply and 2 10F 2.5V super capacitors. These 4 RCA inputs allow an external button to fire each relay individually. When nothing is plugged in, they are all routed to the red button under the toggle switch.
When the input is fired the Arduino closes the associated relay in this smaller box giving 4 of the DC barrel jacks 5V.
This setup gave me a little more grief than I’d have liked. The Arduino could fire 3 of the relays at once but not 4. To fix this, I had to let the Arduino sink the current instead of sourcing it. That led me to an inductive feedback problem but it was easily solved by adding a diode across the load. You can read more about this in the SIK Guide page 64.
The most reliable way I’ve found to ignite visco fuse with 40AWG nichrome is to use a needle and thread the wire through the fuse. Throw a little tape on the ends so that they don’t pull out. Enough current is used to exceed the melting point of the nichrome wire, since it won’t be reusable anyway.
Everything fit in fairly well; there is a cubby on the box lid to hold the spool of nichrome, and the relay box fits snugly in the enclosure.
The Arduino is running a simple program that can be found here. You can configure a delay before firing each individual relay. This can be used to light a cake that lasts 20-30s and then trigger your mortar shells just before the cake runs out without risking your life by being close to any artillery.
With the dry conditions here, I didn’t want to risk being responsible for a fire that incinerated the state, so here is a fairly underwhelming demonstration:
* In this setup, there is only about 7A of current available, and 1" of 40AWG nichrome draws approximately 1A. This igniter probably couldn’t ignite a firework on all of its 16 outputs simultaneously.
In addition to setting off a timed, choreographed fireworks display this device could be used for other fun things like theatrical pyrotechnics or launching model rockets! Please stay safe and have a wonderful Independence Day!