Introduction: Computer Controlled Fireworks Display

Picture of Computer Controlled Fireworks Display

I was contracted by some friends to do a fireworks display for their wedding (seems as though my penchant for pyromania is well known in these parts). It took me about 6 months (not from lack of skill..but mostly lack of initiative and cash) to create the "Crapflinger box of doom" V1.0. It used momentary SPST push button switches, a box from a projector that i got from work, schedule 80 PVC, and a lot of luck. It went off with only a few hitches so i decided to rebuild for the fourth of July next year.

The rebuilt version will be known "Crapflinger Box of Doom" V2.0 and as of yet has not been physically completed. It has however been logically completed (even wrote some craptacular software for the thing). Since the thing isn't built yet...I'm very short on photos...but once the contraption is completed i will update this instructable to reflect the difference between planned execution and actual product.

Step 1: Materials

1 - Large box (large enough to house the finished contraption I'm using an ammo box i had lying around)

2 - Serial Isolated I/O Module (You can get these pre-assembled or in kit form from Here)

1 - Upgrade kit to join the two I/O modules together (i got mine from the same place as the module)

2 inch Schedule 80 PVC pipe cut into 6 - 8 inch lengths (I'll be using 24 8 inch pieces so that's about 16 feet of pipe total)

2 inch PVC end caps (I'm going to try to use screw type caps so that i can load the thing easier...i used rounded end caps on the first project..but when fired...the PVC pipe actually flies out of the device...which isn't very controllable..i think with the screw caps I'll be able to eliminate this)

Bolts - 2 per firework to be launched (I'm firing a total of 26 devices so I'll need 52)

Wing Nuts - one per bolt used (I'll need 52)

Screws - Lots OF SCREWS...

Wire - preferably 2 different colors for easy setup (i use 22 gauge solid core for my positive and i think somewhere around 18 gauge stranded for the negative...why? because that's what I've got)

Plywood - to make a raised base inside your box

Fireworks - this is up to you..but I'm using 2 "dirty dozen" mortar sets and 2 "Texas rattlesnakes"

Model rocket igniters - one per firework (i used Estes igniters on V1.0 but I'll be using the Aerotech first fire juniors for V2.0 as they are more reliable and easier to insert into the fireworks themselves)

Note: please don't make fun of the overcomplexity that's going to show up in this project...i like over complex...i know i can do things with less steps...but why would i?

Step 2: Set Up the Serial Isolated I/O Modules

Picture of Set Up the Serial Isolated I/O Modules

I went ahead and spent the extra $20 on the pre-assembled kits because i just didn't feel like putting them together...however you can get them in kit form and assemble them yourself for that "Look mom...i did it all by myself!" kind of feeling that's so important here.

1. Replace the existing firmware in K108 with the two supplied, identical K108dual firmware chips.

2. Remove the front and rear panels of each K108. You will have to unsolder and remove the LED bezels and reset switch. Add the Master panel and Relays 1-8 to one K108, and the Slave panels with Relays 9-16 to the other.

3. Remove IC7, 4N25 from both K108s. Insert two wire links either soldered on the bottom of the PCB underneath the IC7 socket or jumper-ed as shown:
• Pin 1 to 5
• Pin 2 to 4

4. The two K108 kits need to be connected together via a data link. The data link uses Input 4 of each original kit. Use the short length 2-wire cable supplied to connect input 4 of each kit together, with the ‘+’ terminals connected to each other and the ‘-’ terminals connected to each other. Connect using the 2-pole screw terminal plugs supplied with each K108 kit.

Longer wire lengths are possible between the two kits. However the data link uses TTL level pulses which will be affected by long wire lengths. Anything over 1 metre (36 inches) may cause problems. Try it and see!

Only one of the kits connects to the PC via the serial port. This will be the Master unit. It doesn’t matter which kit you connect to the PC. However, for ease of use, the front and rear panels are numbered differently for the master and slave so it makes sense to connect the kit labeled ‘Master” to the PC serial port.

The modules require a 12V Center Positive DC power source with at least 500MA i just cut the business end off of 2 Center positive DC wall plugs and wire them up to one of the 12V batteries (i got 5MAH batteries just to be sure everything works long enough)

These steps are all outlined in the manual for these things (and the subsequent upgrade module) makes sense to post them here as well

Step 3: Make Your Box of Choice Work for You

Picture of Make Your Box of Choice Work for You

(no pictures of it yet sorry...still building..I'll add them when i have them)

Now is where you modify whatever box you chose for the project do what you want it to do (which is house the whole contraption)

First screw/glue 4 pieces of scrap wood measuring 2" X 1/2" X 3"(ish) into the four corners of the inside of the box along the bottom to make clearance for the two relay modules to hide safely underneath the platform (i may have miscalculated the space needed so this measurement may change)

Next cut a piece of plywood large enough to fit directly into the box and rest it on the supports you just installed...try placing the relay modules underneath the plywood to make sure you've got clearance

Now remove the plywood and lay out the PVC end caps on it in an orderly fashion to see what layout suites your needs. On mine i will have two rows of 12 caps. One row across the front of the box and one row across the back side. Once you get your layout the way you want, drill two hols in the bottom of each end cap (since I'm using screw caps...i would be drilling through the end of just the screw in portion) and attach them to the plywood with wood screws (you don't need too much here you're just trying to stop the cap from spinning or pulling try not to use screws that will go through the plywood).

Next drill two holes (big enough to accommodate the bolts that you've purchased)near each PVC cap (make sure to leave room to turn the wing nuts on top)

Now i know we're setting the box up now but let's do a LITTLE bit of wiring while we're at it.

Designate one out of each pair of bolts as the ground and one as the hot side. Take a length of the wire you'll be using as your ground that's long enough to start on one end of the board and loop around back to that end (like a U shape). Take one of your bolts and wrap a stripped end of the ground wire around it then tighten a nut down on the wire (if you wrap the wire in a clockwise direction..then when you tighten the nut it will wrap the wire tighter instead of loosening it) then insert this bolt up through the bottom of the plywood and tighten another nut down on top to secure the bolt in place then tighten down a wing nut on the bolt. Measure out to the next bolt with the wire and strip a piece of the sheath off of the wire in such a way that will allow you to wrap the bare portion around the next bolt, then tighten the nut down onto the wire and insert the bolt up through the bottom of the board as before and tighten another nut down on top to secure the bolt in place then tighten a wing nut down on to the bolt. Continue doing this until all of your ground terminals are connected to the wire. now on the long end of this ground terminal, crimp on a connector that can be used to connect to one of your 12V batteries. The battery I'm using has spade type terminals so I'll be using the female side of a spade connector set type deal...if your battery has other terminals use whatever will work, like alligator clips or ring terminals.

you'll also want to find a method of getting your serial cable into the bottom of this box..i just cut a notch in the plywood so that i can run the cable up out of the bottom and to my laptop

(this could probably be done with ring terminals or you could skip the process of using the bolts and wire things more directly...i personally prefer to keep things a little orderly and hopefully later on in the steps this process will make sense)

Step 4: Wiring the Heck Out of the Thing

Picture of Wiring the Heck Out of the Thing

Now...this is quite possibly the worst Visio drawing I've ever made...but it should get the job done.

Along the bottom side of the diagram you will see what I've got as my relay output's from the relay modules. There are 16 (if you've used the dual upgrade kit) available to play with (incidentally, this kit is capable of switching full AC so you're not limited to DC could use this to turn lights on and off or blenders or anything you want really).
but I've got 26 devices to fire with it, so some things will be wired to the same terminals (you could in theory wire things to multiple terminals as well in such a way that you would have to turn two relays on at the same time to activate a single device...could add more versatility).

it may be in your best interest to number each launcher so you can keep stuff straight. My numbering scheme starts with #1 in the top left corner and continues over to #12 in the top right then #13 on the bottom left and #24 on the bottom right, #25 and #26 are the two in the middle that aren't in line with everyone else.

For my purposes i will have a setup that will fire:
#2 & #11
#3 & #10
#4 & #5 & #6
#7 & #8 & #9 (end of the top row)
#13 & #24
#14 & #23
#15 & #22
#19 (end of the bottom row)
#25 & #26
if you count those up...that's 16 events to fire 26 devices, so we've got to wire accordingly..which is where the crappyness of the Visio comes in. (it's really hard to layer the connections that close)

You will want to wire each POSITIVE terminal as follows to the relay modules (RXX is for relay LXX is for launcher):

R01 - L1
R02 - L12
R03 - L2 & L11
R04 - L3 & L10
R05 - L4 & L5 & L6
R06 - L7 & L8 & L9
R07 - L13 & L24
R08 - L14 & L23
R09 - L15 & L22
R10 - L16
R11 - L21
R12 - L17
R13 - L20
R14 - L18
R15 - L19
R16 - L25 & L26

Just take a length of wire long enough and wrap one stripped end around a bolt and tighten a nut down on the wire then pass the bolt through the bottom side of the plywood and tighten another nut down on top to secure the bolt in place then tighten a wing nut down on the bold then put the other end of the wire into the corresponding NO (normally open) terminal on the relay module.

Now you'll want to run wire from the C terminals of each relay on the relay module to the positive side of your 12V battery with the appropriate connector on the battery end of the wire.

Now the only reason i chose to do this amount of work is because i wanted to keep the majority of the wiring out of site..which in this case...all of the wiring is out of site as these connections were made underneath the plywood...makes for a lot less clutter and confusion.

Step 5: Load the Device

Picture of Load the Device

This portion CAN BE DANGEROUS, remember fireworks use gunpowder which is designed to explode...don't do anything stupid like...smoke while you set this up.


Take the rocket igniters and separate the wires about 3" down from the ends (not the black end...don't touch that if you can avoid it because you don't want to disturb the pyrogen) then strip about 1/2" of the sheathing off the ends of both wires.

Remove one of the mortars from the box they came in and cut the fuse very close to the base, then push the remnants back into the base of the mortar.

Push the black end of the igniter into the hole where the fuse was in the mortar. You shouldn't meet any resistance here, but if you do, pull the igniter out and see if you can see the obstruction. The cavity that we're feeding the igniter into is the launch charge, there is a protrusion in the center of this cavity that facilitates the lighting of the secondary charge which is what causes the nifty mid-air explosions and is probably what you're hitting with the igniter. Don't worry about making contact with anything inside this cavity as it's just a place full of gunpowder, so as long as the igniter is in there, it's touching the powder. now place a piece of electrical tape over the hole so that no gunpowder comes out of it as well as to keep the igniter from pulling out.

Now thread the igniter out through the hole in the end cap. now wrap one stripped end of the igniter wire around one of your terminals and tighten the wing nut down, then do the same with the other igniter wire. It doesn't matter which end goes to which terminal you're just trying to complete a circuit here.

Now screw your PVC pipe/End cap down onto the male portion of the screw cap. (if you're using the normal style end caps just push the pipe in and tape it down with some duct tape)

Step 6: Programming and Firing the Device

All the programming commands are contained in the setup manual of the modules's pretty simple stuff... you can either use the pre written windows software for the thing ( found here )or you can write your own software to do it for you (which is what i did)...all the inputs to the device can be given in normal ASCII characters as long as each command is followed by a carriage return, as far as the module is concerned the command wasn't entered until it gets the CR so don't forget that. Now I'm not a programmer so I'm not going to tell you how to do this, but if you've got VB use the help files, cuz that's how i made my program (which is attached) which is basically a flashy doodad that just sends command to the COM port...nothing special.

Step 7: FIring Everything

Picture of FIring Everything

Once all your wiring is checked, all the fireworks are loaded and connected, and your program is done, simply connect both batteries and the serial cable and start the routine. If all goes well you should hear a lot of Oohs and Ahhs and hopefully all your fingers stay attached at the end.

As i said in the beginning, i actually haven't built this thing yet, but it will be built and as i do I'll take more pictures and update this thing.


msh1353 (author)2013-05-30

hello "crapflinger"
I'm mohammad from IRAN, I know english a little
a sample firework simulation with FWsim 2
mixing iranian National Anthem with firework to show
i made it with fwsim 2 & ulead media studio 8
you can to see it in this address :

garrettg (author)2011-06-30

I think this is Thunder Over Louisville. For those of you who may not know what I mean, Louisville is the largest city in Kentucky. Every year leading up to the Kentucky Derby we have the Kentucky Derby Festival. To start the festival we have the largest fireworks display in the country (if not the world)! It lasts about 30 minutes and the fireworks do not stop. We have them going off from barges on the Ohio River and the Clark Memorial (2nd Street) Bridge. Thousands of people come and celebrate. All of this information is coming from a Louisvillian (Louisville native) so I am pretty sure there are no errors! If there are just comment with corrections. Hope you enjoyed my little tidbit!

Yours in Creating,
Garrett M. Groves

garrettg (author)garrettg2011-06-30

Here are some pictures. :)

pittu (author)2011-04-08

how much does the controllers cost

crapflinger (author)pittu2011-04-08

depends. the ones i was planning on using are about $100 USD each (though i've seen them cheaper). but those are by no means the only way to do th is.

pittu (author)2011-04-07

hi did you finish the firing system. because i like to make one like yours. if i can see yours i can make if. because i cant understand everthing

crapflinger (author)pittu2011-04-07

i actually did not. lack of funds prevented me from getting the controllers.

CanWire (author)2009-07-07

=) I appreciate your testing and empathize with your plight. People have a tendency to fear monger these things, but there is often a large margin of relative safety in the realm of perceived dangerous things. I myself was surprised to find that you can electrocute a motherboard by bolting it to a conductive surface and attempting to boot, and still it works as I type away.

csloan22 (author)2008-07-08

You should NEVER use pvc as fireworks mortars. PVC is far too brittle and when a shell becomes lodged in the mortar or mis fires its detonation can shatter the tube into dangerous and possibly deadly shrapnel.

A.J. (author)csloan222009-06-22

that is why he made the remote launcher! duhhhhhhhhhhh no offense, but if you are gonna make a remote firing system you shouldn't have to be scared of using pvc pipe for mortars

crapflinger (author)csloan222008-07-08

Schedule 80 is considerably stronger than standard PVC...standard PVC has a wall thickness of like maybe 1/4 inch or less...where schedule 80 is closer to 1/2 inch thickness (i'm not sure on specifics at the moment) i actually did failure testing on the one that i made before i got it anywhere near actual people...i removed the lift charge from 4 different mortars of the type that i used and detonated them inside the tube (one at a time not all in there at the same time)then inspected the tubes used....there were no visible cracks or deformations...just a bunch of black soot on the inside and obvious pitting due to the "flares"...i even detonated one with both ends of the tube capped (no glue just loose capped) and all it did was blow the caps off both ends... i COMPLETELY understand that there are better materials...heck cardboard is technically safer...but finding the right thickness of cardboard in the proper diameter isn't the easiest thing to find (for me at least) where as the SCH80 PVC is ubiquitous

saber66 (author)crapflinger2009-06-17

still you should put a plastic sheild around them......

crapflinger (author)saber662009-06-17

schedule 80 PVC is hardly "plastic"'s not like it's a freakin pringles can for 2 inch diameter sch 80 pvc the wall thickness is 0.218 in (5.537 mm) that's pretty close to a half inch....i'm not using professional grade stuff here...has anyone who keeps harping on the pipe used ever seen a "dirty dozen"....they're not packed that dense.... also...i seem to notice a trend of people not reading anything above and just harping on stuff....I TESTED THE STUFF. i fired SEVERAL mortars in a SEALED tube of schedule 80 pvc (both ends sealed with cap and glued shut) and NONE fractured the pipe...i fail to see how a mortar lodged in an OPEN ENDED tube would do any different

rrrmanion (author)crapflinger2008-07-28

have you thought of possibly lining it with cardboard and also covering the exterior? i am no expert but i think this may work.

maxpower49 (author)2008-07-05

when will you post more pictures its been 2 years sence u posted it

Bert2368 (author)2007-03-05

If you want to do fireworks on this level, I would suggest you join Pyrotechnics Guild and find a mentor in the PGI, a local display company or a local amateur club to train you. I own a display company, and I will train anyone who has an interest and doesn't seem too crazy or have a felony or other disqualifying record. I allways need more crews than I have around the 4th- And I'm not unusual in this need!

I know just tinkering away on your own is loads of fun, but you're wasting a good bit of time re-inventing the wheel with the chance of killing or injuring someone thrown in. Get trained properly, you won't believe how much fun it can be or how much better your shows will be untill you see how professionals do it.

phredex (author)Bert23682008-06-14

Hey Bert, See ya in Gillette!! Hopper

crapflinger (author)Bert23682007-03-09

well the professional/semi pro stuff is a bit on the expensive stuff i'd thoroughly enjoy being actually trained in pyrotechnics etc...but...this is just a simple 4th of july project...not a full on super display.... everyone keeps mentioning human safety as if i haven't thought about such a thing.... #1 the fireworks i'm using are as rellatively safe as anything else...the rattlesnakes especially...they're meant to be lit by lighting those remotely is theoretically actually safer....the mortors im using are inch and 3 quarter mortars...not the fun 3 inchers...granted if lit in the hand...or if say...they fire AT someone...bad things will happen...but in the proper usage circumstances they're safe as anything else...also...they're meant to be fired from a cardboard tube (not the thickest of tubes either)..the schedule 80 PVC that i'm using is about 20% or so thicker than the cardboard tube that the things come with....EVEN after a failure (i.e. the mortar going off in the tube)there's no structural damage to the PVC. #2 it's not mentioned in the setup but the serial cable i plan on using is going to be 50 to 100 feet long...we're going to be a good distance away from this thing...out of the reach of a failed launch #3 well there is no number 3...but rest assured for anyone that reads this...i've planned for failure and's not worth harping on

ravenscroft (author)2008-03-16

Any update on this. I'm very interested in this project, as I'm now getting into the exciting world of Pyrotechnics. I would also like to know if you finished the box of doom if you got some nice pictures to go with this "able"

And I saw that you would like to get training/certification well check out this site if you are interested in that.
Yhey offer free training and cert.

crapflinger (author)ravenscroft2008-03-17

i wish i had an update....i've suffered some severe cash flow issues that impacted this project...anyone who would like to attempt to follow the basic structure here (especially using those serial devices) is more than welcome....i'd be more than happy to open this one up for collaboration...

mondaymonkey (author)2007-05-13

Hey, crapflinger, have you thought about using steel wool wrapped around the fuses to light? when you run a current through it, it will ignite, I have tried it with a 6V battery and the steel wool turned red hot and almost burn my carpet.... and then i tried it with fireworks and it really is relaible... and i guess cheaper than rocket igniters...

I prefer nichrome igniters b/c it eliminates the guesswork involved in steel wool (if you get too much steel wool you just short out your batteries)and they are quicker to change out. my instructable for homememade nichrome igniters is on

but I will make another version soon.

crapflinger (author)mondaymonkey2007-05-14

i haven't...but i have entertained the idea...i've got a few other fuse ideas in my brain as well...i've got a few dead toasters around...and i've done some testing trying to find the right voltage to heat the toaster "coils" up in small sections at a fast enough rate for my needs....i haven't done any serious testing as of no valid data on it...but it should be capable as well....that's kind of the beauty of these serial controllers that i'm gonna use if i ever get the cash together (any donations welcome) can switch normal AC from the i can use just about anything that can get hot....i'm using the rocket ignitors now because they're prebuilt and easy to get my hands on....

BlueFusion (author)2007-06-19

This is pretty good.
I'm an amateur pyro like yourself, in Australia, where we can't just buy fireworks. It's all make your own.
However, the system you used to control the launches is great. I have a USB interface card with 8 digital outputs. With some relays and diodes you could multiplex that to 16 events, or simply connect more than 1 card to the computer. You can have up to 4 cards simultaneously connected.
I might try that someday; thanks for the great idea.
p.s. check out my igniters, they're awesome

crapflinger (author)BlueFusion2007-06-19

i hadn't seen your instructable...but a similar concept came to mind when thinking of how to make home made ignitors...might get used (the advantage is that the match stick could be used to make inserting the ignitor easier)

that one guy (author)crapflinger2007-08-26

I don't know if you care, but I made an instructable on homemade igniters. I've made near 100 of them for about $5.

mje (author)2007-02-19

There are almost no details here; this isn't an Instructable so much as it is a look-at-the-cool-thing-I-did. One more serious issue: You NEVER use PVC for a mortar tube! Mortar tubes should be made from steel or polyethylene. In case of a flowerpot (an in-tube burst), steel will contain the explosion and polyethylene will tear, but PVC will fragment. Can you say "shrapnel"?

crapflinger (author)mje2007-02-19

actually...this is a "look-at-what-i'm-planning-on-doing-able" if you wanna get technical....and there are ACTUAL instructions in this about how to do the steps that i plan on doing when i get the materials. and...while i do not disagree with the concept of never using PVC for COMMERCIAL GRADE LARGE SCALE HOME MADE fireworks...when using off the shelf 1-1/4" mortars PVC is actually overkill...if you purchase one of the mortars that i'm using'll note that the tubes used are actually CARDBOARD....i've had a few fail to launch and detonate inside the cardboard tube...and more than once the tube survived (though i've also had it have catastrophic effects)...if you note i'm using schedule 80 pvc which is conciderably thicker than standard pvc...before making my first launcher (the one that wasn't computer controlled) i actually did failure testing where i removed the "launch" charge from a mortar and just lit the secondary fuse remotely (being that i did this for a wedding..i figured adding a funeral to the event would be a bad idea) thereby causing the main charge to detonate inside of a piece of schedule 80 pvc sealed on one end (actually glued the cap on) and open on the other...the pipe was black on the inside...but was structurally in-tact after this failure test....due to the "wide" ID of the pipe most of the explosive force has a path to exit...if the pipe were sealed on both ends...yeah...i'd have a pvc pipe bomb that would throw shrapnell everywhere....but there are multiple "points of failure" in the assmbly to allow for any force to be redirected...such as the fact that (at least in the first setup) the tubes weren't glued to the caps...thereby allowing the force to actually escape from BOTH ends of the tube if there were a failure (the tube actually blows off of the cap)...even in the second setup where i plan on gluing the tubes to the screw caps...i won't be gluing them COMPLETELY...i'll just be glueing them enough so that after a successfull firing...the tube doesn't go flying through the air (as the original did)...

crapflinger (author)2007-01-11

update: didn't get the controllers for christmas as i had hoped...but i should be getting them this march (reducing the time i have to bug-track and fix before "the day" but...c'est la vie)i've got plans to get started on the box and puting in the PVC end caps either this weekend or the next (whichever has the most time in it)

trebuchet03 (author)2006-11-01

Have you had any trouble with a rocket igniter not lighting a fuse? Looks cool -- and safer than the light and run behind a brick wall technique.

crapflinger (author)trebuchet032006-11-06

on my original setup i had one issue with a missfire...and it was due to the igniters i was using...the estes style igniters estes style igniters are basically a short wire that's bent into like a V with the pyrogen at the apex of the V then some tape across the bottom of the V....none of it is sheilded so you get ALOT of chances to cross the wires and create a short...which makes it useless as the current has to flow across the pyrogen... the new ignitors that i plan to use First Fire Ignitor Jr should eliminate the wires coming out are sheilded from each i won't get any shorts in the setup... a note..i'm not lighting the fuse of the firework...i'm actualy putting these ignitors directly into the primary charge of the fireworks

ewilhelm (author)2006-11-01

Even better than updating this Instructable would be creating another one that documents what actually happened and highlights the differences. I think lots of people could benefit from seeing the planning aspects as well as the execution of a project. Looking forward to it.

crapflinger (author)ewilhelm2006-11-01

i may take that into concideration...maybe adding the real steps along side within this same one...

crapflinger (author)crapflinger2006-11-06

as a small (virtually insignificant) update...i got one of the most important peices of the project this past weekend.....a table i won't have to hand cut most of the things i need to in an apartment sucks

About This Instructable




More by crapflinger:Re-attach a button to your pants in your server room with CAT6 UTPComputer Controlled Fireworks Display
Add instructable to: