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.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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

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

(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

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

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

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.

Be the First to Share


    • Skateboard Contest

      Skateboard Contest
    • Make it Move

      Make it Move
    • Teacher Contest

      Teacher Contest

    35 Discussions


    1 year ago

    Never use PVC pipe to launch fireworks. Too thin and too brittle. If you have one blow in the pipe you will have dangerous shrapnel flying into people. I am a licensed pyrotechnician. We use HDPE or Fibreglass mortars in wooden racks and fired by electronic ignition matches. We never use relays to trigger cues. They are unreliable. We buy systems that are already made...if you want to build your own. I have a video series coming up on YouTube.. this will be a step by step guide to build a 320 cue firing system to shoot from small to large fireworks displays both in the backyard and in a professional display


    6 years ago on Introduction

    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 :


    8 years ago on Introduction

    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

    1 reply

    Reply 8 years ago on Introduction

    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.


    8 years ago on Introduction

    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

    1 reply

    10 years ago on Step 1

    =) 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.


    11 years ago on Step 1

    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.

    5 replies

    Reply 10 years ago on Introduction

    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


    Reply 11 years ago on Step 1

    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


    Reply 10 years ago on Introduction

    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


    Reply 11 years ago on Step 1

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


    11 years ago on Introduction

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


    12 years ago

    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.

    2 replies

    Reply 12 years ago

    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


    11 years ago on Introduction

    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.