Pyro Firing system... Looking for a starting point

Hello all,

I'm into shooting musically choreographed fireworks displays. I've made an arduino powered system in the past. The way it works, current to fire cues goes out from the system via cables to "slats" that the igniters connect to. All of the computing is done inside the system.

However, as I get more into the hobby my need for more cues grows, I'd like to design a system that is expandable and capable of firing bigger displays. What I'd like to do is to have an arduino in the system that communicates with modules out in the field (where each module has its own arduino). There would be fire commands going from the system to the modules, and continuity data (basically indicating whether an igniter is connected) coming back to the system from the modules.

I've done a little reading and found that RS485 is usually mentioned as a way to communicate over the distances needed for firing systems (a 2-wire system is used in systems such as StarFire and FireOne that are intended for large displays). I'm pretty clueless when it comes to these communication schemes, but I intend to do some more reading. My biggest "how the heck would I do this" concerns are
(1)how to multiplex data to make independent communication between daisy chained modules possible
(2)what type of transceivers to use and how to interface them with the arduino

If anyone has a suggestion even for a starting point in this project it would be of great help!

  1. You don't multiplex the data per se, you send out individually addressed messages, the remote device monitors and acts on messages intended for them.
    Could be unique messages, could be global messages.
  2. Maxim has a great RS485 app note for a multi-drop network.
    Mixed-signal and digital signal processing ICs | Analog Devices

I think you have strict controls for pyro systems over there, but have a look at the SIM20 wireless transceivers, you can build up a whole mesh of them with a mile range.
I have just started playing with them, and have just got the basic transmit/receive link working.
The datasheets are terrible, but the RFD21733 is similar, with less range but better technical backup.

RS485 are basically just different hardware chips from what RS232 uses. Instead
of single-ended +/-12V with respect to ground, they use differential signalling
with 2 outputs [signal and inverted-signal], and using this with twisted-pair wiring,
you get better noise immunity than with RS232. You can send your RS232
logic-level signal into the chips. You can only have transmission one way at a
time [half-duplex], however, whereas RS232 can be full-duplex.

As an alternative, XBee is very popular for wireless comms [can be full-duplex],
and the XBee-Pro transceivers with external dipole-antenna [not the 1/4-wave whip]
has long-range in outdoors line-of-sight situations.

You would have to experiemnt to see if the pyros going off interfered with the
RF-comms, but I knew a guy who does this professionally [although he used
Aerocomm transceivers], and it worked ok.

RS485 can be full duplex, just need 2 sets of wires to do it.

Thanks for the advice!

I was initially going to avoid a wireless setup because I figured it would be hard to comply with FCC regs, but to be honest I didn't look into it that much. For local events it probably doesn't matter but for bigger ones (like the pyrotechnics guild international convention) they want you to be 100% legit.

I'm into shooting musically choreographed fireworks displays.

Hi Fish, (Thought Flying Fish was a kind of fuse?)

Are you using one of the commercially available or open-source firing control software packages, or doing you own thing?

Are you triggering responses (firings) from the actual music, or predetermining the timings and syncing with SMPTE or MIDI timings?

I have communicated a bit with guys in Australia who are building pyro firing projects. Are there any USA-specific requirements on you? (Other than the Primary Requirement):
"Don't Be Stupid!" ??

It's been 30 years since I had a license...

RS485 sounds good. I'm a little nervous about RF-based firing of pyro, although I know it's done. But tripping on wires is not good either..

Let us know what you decide...!

Yep, it's a type a fuse and also a type of effect (where the stars/fuse "swim" through the air) :slight_smile:

So far I've just been experimenting with my own manually entered script, but for my new system I would like to run MIDI timecode or something like that. Again details that I only have a vague understanding of at the moment.

Other than complying with FCC there aren't any USA-specific requirements I can think of. From what I've read commercial wireless systems (Like Cobra) have a ridiculous amount of redundancy built into them to ensure that fire commands are correctly understood, but that might be difficult to pull off at the hobby level. This said, I think there should always be enough redundancy in a crew's safety procedures that nobody would be hurt even if a stray signal did set something off.

I would like to be unique somehow so I don't feel like I'm just re-inventing StarFire or Cobra or another system that I could just buy....but I guess that's something for me to figure out.

OK, it seems like individual Arduino stations driving relay boards would be my starting point, with CAT5 (4 pairs, 8 wires) cable and connectors. Power supplied on a couple of cable wires. RS485 full duplex communications. Maybe the 4th pair is active "firing enable" that is off during setup and testing. And you could run around and disconnect the cables quickly if a "Lightning event" seems to be approaching??

Have you seen circuitry for firing electric matches that also has continuity check feedback? I think people are doing that. I'm thinking of optically isolated power FET but not sure how the continuity check would work..

Good you are doing this yourself; you have a way to test all this out...

Let us know how this all goes...

Hello all,
Flying fish - I'm very interested in developing an open source firing system using the arduino as the core. I'm part of a small group ( the pinheads - 12 strong, 12 years experience min ) whom are all members of a larger club - the NLP based in MN. All PGI, some certified shooters, permit holders, etc.
I don't have any time to talk right now, we have a display this weekend - so this initial response will be brief.

There seems to be a growing interest in this idea. We made a pretty serious effort in 2009-2010, but stalled out when it came to programming and other things like kids etc.

However, allot has happened in the last couple of years, and we might be approaching a tipping point. Apparently at the last PGI convention a gentleman offered a course in arduino firing system building. I see allot of posts on pyro-u, and a smattering of websites.

My point is, I think this thing is gonna happen. The key to me is the open source nature of the project - the code, the circuit schematics, the firing software - the whole solution, needs to be public lic. Parts should be widely available.

My personal preference was for wireless, but rs485 two wire would be fine as well. We would like to use a FCC approved, ready to run wireless solution - zigbee was our choice at the time. We also assumed pc interface.

Our electronics guy really wanted to bake his own chip sets, ie; not buy arduino boards, but program and build them into the board. Not sure about this, again would want to make this as easy as possible for others.

So we ended up with off the shelf arduinos, using a zig bee (1 watt) shield for communication, pelican knock off cases, power in the slat, 32 cues ea. About $80-$100 a slat/station/module/ whatever you call them. So not cheap, but, with group buys, bulk board mfg deals, that price could come down.

At any rate - we are real unhappy with our current available systems, and really want to move to digital system.
We have allot of guys buying multiple wireless systems, and using 2-3 per show. We use a couple of custom CD systems for firing wide fronts - 300-400+ foot wide with 10, 20 sometimes 100 e-match or more. And we borrow an analog pyromate system - not very reliable. This can make for a stressful firing table/crew.

OK - not so brief. I'll check back in after the show. You are not alone in this effort...

This sounds like a really great project. Was there a fully functional prototype and how well did it perform? In my mind if it works well $80-100 is a reasonable price point, considering that an ACE 32 cue module with slat and cable is $400-450.

I'm eager to talk more about it and maybe see what I can contribute. I'm not a competent programmer (I really only know how to re-purpose other peoples' code :P) but I have a lot of people I can consult (my sister is a professional embedded systems programmer)

I missed the Arduino class at PGI, was helping some guys from ACE load 5200 lbs of crackers into a semi at the time

Hi DaveMo and FF,

I am interested in supporting this effort somehow. If you need Web/Wiki space let me know. Example of one I do is: http://arduinoinfo.info

I have access to the China Electronics Marketplace in Shenzhen and maybe I could help with parts / kits if this got going.

I was licensed and did a little commercial explosives stuff years ago, but I know little about display work. I have a good electronics and programming background and designed automated equipment at IBM that was required to NOT blow up.

I am supplying some parts to a guy doing a DIY display system in Australia; I'll point him here.

I'll follow the discussion.

Good morning everyone,

I'm Chuck from Ottawa, Ontario, Canada. I am in the middle of designing and building a full-featured Professional Fireworks Ignition System with the Arduino Mega. It consists of a Master Control Module communicating with parallel connected Field Modules consisting of 32 relays each. It is capable of shooting pre-designed CVS formatted set of cues, will soon have FSK and SMPTE capabilities to fire shows to time-coded music, and able to manually fire individual e-matches. It has a built-in function to verify e-match continuity remotely from the Master Control Module and will eventually have the same local feature at the Field Module end. The Master Control has a built-in touch screen and menu driven. The Field Module is designed to be field addressable to set up large shows using several dozen Field Modules individually addressed. I've based the Arduino coding on Finale Fireworks' professional show design software "show output file" (CSV).

My company and I have been firing commercial fireworks in Ontario for 13 years and needed to expand our capabilities to generate larger, more controlled shows. Since I am an IT Professional, Electronics Technologist, and life-long tinkerer I took on the challenge myself. I understand that commercial products are out there, but at $10 000 a complete system (for the size we needed); I knew I could built it myself for much less.

Seeing that several folks are interested in the open source nature of this project, I thought I might offer my own insight. Our project is not commercially ready yet, but at the proof of concept level; however, it's moving along well.

Have a great week.

Hi, I'm sure many of us would like to see more about your project as you go along...

...and let us know when you have a good shoot planned for Ottawa; I'd like to drive up to see it (I'm a hour from Montreal in Vermont USA)..

Lots of connections to that Mega.. Maybe consider a "Sensor Shield" with 3-pin connectors for every I/O:
http://arduino-info.wikispaces.com/SensorShield

Scroll down to the Mega...

Afternoon Terry,

The field module mega is connected to a custom shield which breaks out all the connections along the sides. The 32 signal lines needed are well pinned out to the edge (pins 21-53) and connected to the relay boards (2X16) by means of a custom cut ribbon cable. The relay boards are from China (the typical stuff you would find on SainSmart and others). They were cheap and available for a proof of concept.

As time goes by and the whole project evolves to completion, I would like to design a fully customized shield containing the continuity logic circuits, the communications IC, and connectors. There is a great and free application from Eaglesoft to create PC boards that I have been playing with for a while. Since there are numerous prototyping companies out there that specialize in PBC manufacturing, it will be easy to mass produce the shields.

If interest develops in the hobbyist community (and professionals at large), I could make the shields available (this is, of course a longer term part of this project).

I'll send pics of the gear as time permits.

Hi Chuck, just something to consider, although you're obviously the experienced
with pyros guy here. I briefly worked with a guy doing special effects in the movies,
and they had been blowing squibs using relay boards too. He decided the relays
weren't as reliable as thought - hooked some squibs to the relay box and dropped
it on the floor. Most of the squibs went off.

So, I designed a board for him that used nice small-sized MOSFETs to replace the
relays. This may make for an additional/alternate shield to what you have planned.
I am thinking that a shield with a bunch of these on it may be useful.

http://www.digikey.com/product-detail/en/IRLU2703PBF

Even without heatsinking, they can carry a hefty current for a short period. I built
an RF board for him with 12 of these sitting in a row, plus a bunch of other features,
and it worked well from what I heard.

Hello Dan,

Your point on the relays is not lost. That was my initial fear with using them; if they get banged around, the reed will slam down and close the contacts. Since the solid state relays were much more expensive; I opted for electro-mechanical for the proof of concept. Changing out the electro-mechanical relays for a custom-built FET board or commercial SSR board will be easy. The whole premise of this project was to make adding features easy through firmware (thus the Arduino) and provide a framework around which parts can be changed for added features or higher reliability.

I enjoy exchanging ideas on forums like these; like minded folks have various views of the same process. I prefer surrounding myself with people much smarter than me.

BTW: did you design continuity testing in your FET board? Wanted to know how you got around the issue.

Take care.

Actually, since the MOSFETs cited are so small, I should think it would be possible to
design a pcb with layout for relays, and then stick 3 pads inside the same outline so
a MOSFET could use soldered in instead of a relay.

One nice thing about MOSFETs is, they don't require a driver like the relays do. Eg,
5V relays draw too much current to be powered directly by an Arduino I/O pin. For
that matter, you could use the IRLU2703s to drive the relays, and then simply
connect their drains over to the squib pins when relays are not used, rather than
the scheme presented in the last paragraph.

The board I designed did not have squib continuity testing, as the cpu chip had 40-pins
and all were used for something or other [mostly RC servo control, RF comms, mode
selection, etc], but that could be easily built in, I should think, by coupling the MOSFET
drains to A/D channels via voltage-dividers, and probably also including overvoltage
protection [transzorbs] on the A/D pins for safety. My board was 3"x4.5", and went
into an extruded case, along with a transceiver. They used multiple boards for larger
pyro systems.

You may also need to think about having reverse-diodes across the squib terminals,
but I don't know if those are really needed - we didn't use them, and the MOSFETs
have built in diodes.

It's also a matter of personal preference, but I prefer boards with socketed cpu chips,
therefore you can more easily fix them if you blow the chips, rather than being left
with a $65 piece of toast, :-).

Take care.

Yeah, I don't blow any squibs myself, ;-).

Hi all,

This is an interesting thread that you have here and kind of touches on ideas that have been bouncing around my own group of friends in the Fireworks industry over here in the UK.

A quick bit about myself. I operate a small fireworks company that built its own firing system back in 1999. It was based on the PIC16F84A and is capable of firing 16 ports at 0.1 seconds intervals. It is still in use today although of the ten boxes originally built, only 7 survive in working order. Back in 1999 it cost us $250 per 16 port module which included having our own PCB made. There was no RS485 involved. The boxes were programmed in advance over RS232 and used a trigger signal (6volts on a button press) to start the firing sequence.

The simplist sequence was push button, fire port one then wait for next trigger.
Push button, fire port 2 then wait for trigger and so on.

Other sequences could be: push the button, fire ports 1 to 10 with a 0.2s delay between each port, then wait for next trigger.

From the start, relays were never considered. Apart from the mechanical vibration and possibility of sticking, they are just too slow to intiate when firing chase sequences in the 100th of milliseconds sometimes required. We used transistors but soon learned that you need a diode accross the transistor to account for the inductance in the igniter cable. Not all fireworks are within 20 feet of your firing module. I guarantee you will always have one firework that's 50 feet away and needs to be wired to the module. So cable inductance is an issue.

Another thing about transistors and possibly MOSFETs is when they fail, they can fail closed. If you don't know that the FET is failed and you use the module on a new display, imagine what happens when you power up the system for testing. So choosing the right component that fails "open" should also be considered.

Our other mistake was sticking with a firing voltage of 12v. On a long igniter cable with an igniter that has a low resisitance, there is a good chance that it will not fire. Our original design was based on igniters with a 2ohm resitiance but having used igniters with a 1.4ohm resistance, we have learned the hard way. Now we always use at least 24v for a firing voltage.

Do you need a diode across the squib? Only if your slats are wired using a matrix style layout.

What do we use now? Apart from using our original system (with changes) I have invested in a few of the MerlinFire (merlin match) modules. These are bare 32 port firing pcb modules with trigger and rs485 firing capabilities. It works out at around $200 per pcb board but give me twice the firing capacity of my older system along with full computer control and music playback.

Take a look at this video, it gives a bit more info about firing systems in general. Chris Clarke on Pyrotechnic Firing Systems at the UKPS AGM 2013 - YouTube
The speaker designs firing software to work with the MerlinMatch system and his high level video is worth a watch to pick up some ideas on safety.

Chuck, I'm looking forward to see what you come up with as I too am unable to invest in these high priced systems you have all mentioned.

Regards

Nick.W

Another thing about transistors and possibly MOSFETs is when they fail, they can fail closed. If you don't know that the FET is failed and you use the module on a new display, imagine what happens when you power up the system for testing. So choosing the right component that fails "open" should also be considered.

Do you apply a small current during setup to show that there is continuity to the squib? Do you automate that test?

If so, when you first power up a firing module with no wires attached, wouldn't any shorted (failed ON) channel show up??