Introduction: Electronic Programmable Arduino Fireworks Show
Here is a video of the fireworks show that I did last year with this project to get you started.
Before you start know your local, state, and federal laws about what fireworks you can and cannot use in your area. In some cities like mine all fireworks are legal in the county, but in the city the only legal fireworks are sparklers, pop snaps, and grow worms, some fireworks stands might have packaged groups of fireworks that are legal in the city limits. I will not be held liable if you get in trouble with law enforcement.
Step 1: SAFETY!!
Before you get started there are some safety things that you need to go over, I will try to be fast.
-Long Sleeve shirt non meltable materials
-Long pants non meltable material, preferably denim jeans.
-proper shoes to run in if needed
-safety glasses - Any are better than none
DRENCH ALL SURROUNDING AREA WITH WATER especially dry grass, and especially near the launch site!!
Handle lighting fireworks safely:
-Buckets of water
-Hose (if possible)
-make sure all fireworks are SECURE or distance won't matter
-100' for every 1" of mortar, so for a typical mortar you should keep people back 200' with no wind
-I have had 2" mortars markup parts of plastic tables 150' away from the launch site from th
In case of emergency
- You will NEVER be able to put out lit fireworks! Don't try!
-Fire extinguishers, hoses, and water buckets are for wood, grass, cardboard, etc. fire ONLY, DON'T ATTEMPT TO PUT OUT LIT FIREWORKS. If you don't think you can put it out call 911, that's what they are there for and they can be the difference between a small fire and a multi million dollar forest fire.
And most of all IF YOU CONTINUE YOU TAKE ALL RESPONSIBILITIES FOR ANY DAMAGE OR LOSS OF PROPERTY, PERSONAL INJURY OR DEATH AND ANY OTHER TYPE OF DAMAGE OR HARM!
FIREWORKS ARE EXPLOSIVES AND SHOULD BE TREATED AS SUCH!
Step 2: Parts
You will need;
arduino I used an UNO
Firework ignighters - I got from pyroboom.com they are AWESOME
HDPE launch tubes - again I got mine from pyroboom.com
HDPE Tube rack - Can be bought or made - future instructables?
1 sheet of plywood to mount the fireworks on
2 - 12' 2x4 to make a structure to carry the fireworks
2 - 8' 2x4 same as above
3" decking screws
12 volt wall wart
12V battery, preferably a riding lawnmower or battery backup battery
Screwdriver for the screw terminals on the relay board
Cable For Arduino
and Most importantly FIREWORKS!
Step 3: Fireworks!
Time to pick fireworks!
Ok so to start off you need to plan your show so you have an idea that you are going for I would recommend writing it down, just like building a house you need an idea before you can build it.
There are many types of fireworks, with many types of effects, but the basic types for displays are
Mortars: fireworks that load into tubes, shoot into the air, then explode
Cakes: multi shot aerial fireworks, can be fountains
Fountains: fireworks that erupted like a volcano
For effect types I will reference you to this Wikipedia page.
I have attached a PDF of different fireworks and there prices, this is roughly what the fireworks stands will pay for the fireworks, you will pay about twice that, note that this is a 2016 price sheet, so the availabilities and prices may have changed if you are reading this in 2020 or some other future year.
Don't think it is a rip-off as they do have expenses and they won't even make $1 for 5 or more years after they open, I would know, I have looked into opening my own place.
The best thing to do is to look up videos online of the fireworks, preferably ones from the manufacture instead of someone with a cell phone.
If you need help, ask for help at your local fireworks stand, they tend to be very kind and they will have lots of knowledge about fireworks. Another option would be a online forum like PyroFan.
So now go head on down to your local fireworks stand and buy loads of fireworks.
Step 4: Fireworks Setup
Now it's time to take all of the fireworks and set them up and get them ready to be fused up.
First thing I do when setting up fireworks is to make a platform to put everything on to make it so that I can set it up in a covered area like a garage and then carry it to the launch site.
Fireworks are heavy and when they launch they need a SOLID base so make sure that it is strong. I make my platforms by taking 2 8' 2X4's and 2 12' 2X4's and put them in the shape of a tic tac toe board and screw them together, then put a piece of plywood on top. This will work as a great platform to launch everything off of and can support loads of weight.
Now it's time to layout all of your firework and figure out where you want everything to go. I recommended putting similar items together, mortars with mortars, cakes with cakes, etc. I always put mortars in the back as there is nothing to see on the ground, and cakes in the front as they are lower to the ground.
If you are planning on using any "loose" mortar tubes (as in the ones that come in the box with the shells) make sure that they are screwed down into the base otherwise the blast from when they take off could knock over the other mortars, causing them to launch in random directions.
When you load your mortars make sure that there is nothing in the tube (like scraps from previous launches) and that they go all the way to the bottom with ease, they should never get stuck they should just slip all the way down without any force.
As for any cakes, they can just be set on the platform, or if they seem top heavy you can try to tape them down, but make sure that you DON'T COVER THE TOP OF THE CAKE as that can cause major issues.
Step 5: Fusing It All Up
Fuse is important as you can use it to connect many fireworks together, that way you can launch more fireworks they you have channels on your Arduino or relay board. In the fireworks show I had in the video I only had 14 channels, but launched dozens of fireworks.
You can get safety or Visco fuse in many speeds, the ones I find most useful are 2 seconds per foot and 30 seconds per foot. You will need to find out the speed of the fuse as it can very in every batch. Just cut off a length, light it, and time how long it takes to burn out, watch out though as it can whip around and fly all over the place, also know that there is the time that it takes for the fuse on the firework to burn before it ignites.
To attach fuse is very simple just put the fuses next to each other and zip tie them together with 2 zip ties about 1 inch from each other, you will want to connect the fuse pointing towards the lit end, that way it will have a better chance of igniting, in the photos the fuse would be burning from right to left. To add more just move down some and do it again.
To light the fuse you just need to clip an igniter onto the end of the fuse, it's that simple!
Step 6: Electrical
Ok so lets start off
You will need the arduino, relay, 12V power brick, igniters, and battery
Ok so what you will need to do is connect pins 0-13 on the Arduino UNO to pins 1-14 on the relay board, this is to send the signals from the Arduino to the relays, we need relays because the arduino itself is unable to power the firework igniters, and if it can, it will fry it.
Ok if you dident know you can power the arduino off its 5V pin, but there won't be any protection, so the way I did power is as follows
Take the power adapter and chop off the end, then strip the wires. The positive wire is almost always the one with the white line or text on it, and I personally like to tie a knot in it. Now take the wires and attach them to the relay boards power screw terminals. Now to deliver power to the arduino I used the 5V output of the relay board and connected it to the arduino's 5V pin and the ground on the relay board to ground on the arduino
That takes care of the arduino connections, next the
This is where the lawnmower battery comes in, it will be used through the relay to launch the igniters, you will need to connect the positive pin of the battery to one side of each relay, now connect one wire of each igniter (Signal wire) to the other side of the relay. At this point you will need to take the other wire of each igniter and attach them all together then connect all of them to the battery's negative terminal, but make sure that you can easily connect/disconnect it as you will need it unpluged to test it without launching everything
one question that I imagine people would have is "why can't I just use the 12V off the battery?" And the truth is You Can, but I recommend using a 12V power supply as it will produce a much better and consistent voltage. A lawnmower battery can put out anywhere between 10.5-14V on a "full" charge. So unless you are in the middle of nowhere I would recommend using a power brick.
Step 7: Programing
Time to sit back, have some lemonade and write the code. The way I do this is use a wait command, then activate a pin thus activating a relay and letting the current flow through to the igniter, then wait and repeat.
I do this with the commands
delay(9500); Wait from time of last command
digitalWrite(3, HIGH); Turn pin 3 on, thus activating the relay
delay(10000); Wait 10 seconds
digitalWrite(3, LOW); Turn pin 3 off, thus turning the relay off
I have attached the code that I used last year (2015) I was going to copy-paste the code in but I couldn't get it to work
The servo command was for starting music that went with the fireworks.
Some things to note are that it will take a bit of time between when you send the command and when the firework goes off as the safety fuse will need to burn.
I have attached the song that I remixed for use with my display
Step 8: Prepare the Area
Ok its launch day and its time to setup. You have moved your fireworks to the launch site and its time to prep the area, so how and what do you do?
1) Find an area that is open, no trees nearby
2) Make sure that there is no flammable material around
3) Drench EVERYTHING within 20' and any unavoidable dry grass/leafs within 200'
4) Find a flat solid surface to launch off of, preferably concrete or asphalt. If you are on a road with little traffic you might be able to use the road, but mark the area with flagging tape (or cones if you have them) so that any cars going by can tell
5)Make sure that all of your fireworks are solid! if something looks like it might tip, remove it, or repair it you don't want it flying sideways
6) Keep buckets of water, hoses, and fire extinguishers nearby, your launch site may catch fire, maybe a wire, or cardboard launch tube, or the grass nearby might start to smolder, remember these are explosives that can put out LOTS of fire at takeoff
7) Keep people back! A good rule of thumb is 100' for every 1" of mortar diameter, normal consumer fireworks are 2" mortars so you will want to keep people 200' back in that situation
Step 9: Afterwords
When the show is over you will need to go over to the launch site, put out any fires that may have happened, and then check to make sure that all of the fireworks ignited. DO NOT put any part of your body over anything until you are sure it launched. If any of your fireworks didn't go off use this rubric event 1) the fuse is still the full lenght from the factory or event 2) The fuse lit, burned some, and then stopped. In event 1 you can light the firework with your lighter, but if event 2 happens, check to make sure that the fuse is all the way out, not burning, and then CAREFULLY remove the firework and place it in a bucket of water, this will contain most if not all of the explosion if it does go off (there are stories of exploding buckets), and the water will soak the firework, making it so that it is unable to ignite. Also if you find any unexploded fireworks in the surrounding areas do the same as event 2
Put out any fires with water or fire extinguishers, if it might be too big, call the local fire department immediately! that is what they are there for, and they will be ready for events like this.
Try to pick up all the mess that you can, then come back the next day and finish it off if.
You've Done It! Congrats!
Please ask any questions in the comment section below.