The show [Kenneth] helped run consisted of 950 three-inch shells, wired in series into small groups, plus another 150 in 25-shell clusters used for the finale. The fireworks were organized in racks consisting of five three-inch diameter tubes of HDPE secured together by 2x4s. Each tube held a shell, and each shell came pre-wired with both a match fuse and electrically-triggered squib. Each squib or series of squibs connects to 45-channel breakouts, which connect to a control board.
Even after the show was completed, [Kenneth] had work to do, walking around and looking in each tube to see if there are any unfired shells. The dual wiring is so the shell can be fired with a flare if the squib is a dud. In this show they found six shells, and [Kenneth] was tasked with setting off those last shells with a road flare—otherwise they’d have to use a licensed and placarded vehicle just to transport a few shells.
For more fireworks goodness checkout this beautiful Arduino fireworks controller and this network-controlled fireworks launcher.