My arduino powered firework sequencer. This is gonna be a blast. - Page 1
Forum section: electronics / projects

author: usagi
author_rank: Frequent Contributor
timestamp: July 02, 2017, 07:49:48 am
content: full details in theimgur album

author: German_EE
author_rank: Super Contributor
timestamp: July 02, 2017, 10:08:26 am
content: Ummmmm, yeah, all of that explosive material in one place, not good.

author: CM800
author_rank: Frequent Contributor
timestamp: July 02, 2017, 01:10:22 pm
content: Quote from: German_EE on July 02, 2017, 10:08:26 amUuuh, how do you think EVERY SHOP stores and displays them?not a problem unless you're going about smoking next to them.

author: Fungus
author_rank: Super Contributor
timestamp: July 02, 2017, 01:27:20 pm
content: Quote from: German_EE on July 02, 2017, 10:08:26 am

author: Fungus
author_rank: Super Contributor
timestamp: July 02, 2017, 01:30:09 pm
content: Quote from: usagi on July 02, 2017, 07:49:48 amNice build!

author: T3sl4co1l
author_rank: Super Contributor
timestamp: July 02, 2017, 02:10:38 pm
content: Not really a platform for "mission-critical" applications like ignition.......I hope you have a planned alternative method, whether it's hard wired ignitors, or dousing everything with water.Not that these are the most dangerous pyrotechnics, just to be prepared.Tim

author: Fungus
author_rank: Super Contributor
timestamp: July 02, 2017, 03:52:53 pm
content: Quote from: T3sl4co1l on July 02, 2017, 02:10:38 pmSays who?OK, the edge connectors on the Arduino Uno aren't great. I wouldn't use an Arduino Uno in anything critical but what's wrong with wires soldered into an Arduino Pro Mini (for example).At the end of the day an Arduibo is just an AVR chip on a board and the AVR chip is perfectly suited to jobs like that. It has watchdogs, brown out detection, etc.It's all the surrounding parts you have to be careful with and that applies to any chip. It's the design+software that counts.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: July 02, 2017, 04:30:46 pm
content: Quote from: Fungus on July 02, 2017, 03:52:53 pmAs you note, the Arduinoboardis just standard hardware, and, programmed responsibly (and hopefully, avoiding hardware bugs and errata in the chips?), that's fine. I mean "Arduino" in spirit: if they're using the libraries. Which are sketchy as hell...(AFAIK, Arduino is supported on a lot more platforms than the official Arduino boards, so it's reasonable to associate "Arduino" more with the toolchain than just the boards.)Tim

author: NivagSwerdna
author_rank: Super Contributor
timestamp: July 02, 2017, 04:35:30 pm
content: How do you ignite each individual firework?

author: SeanB
author_rank: Super Contributor
timestamp: July 02, 2017, 04:46:58 pm
content: Easy, just switch 12V to the ignitor with a Songle 3A relay. Relay will survive around 100 000 operation cycles typical in this application, which will be a pretty big number of bangs. The typical ignitor is not exactly sensitive, it needs a minimum of 1A of current to ignite, and typically will drop 1V across it in the short time it takes to blow. You really want higher voltage than 1V to ignite them, especially as the long thin disposable leads are going to drop quite a bit of voltage in that ignition time. Serious pro ignitors use a 10-50uF capacitor charged to 200-400VDC and a really heavy duty switch to do a really high pulse of current to initiate a load of ignitors all in series with thin cord, so that all will detonate before the thin cable vanishes in the blast.

author: PartialDischarge
author_rank: Super Contributor
timestamp: July 02, 2017, 04:48:44 pm
content: Quote from: German_EE on July 02, 2017, 10:08:26 amAt least he's doing it the right way. Electrically initiated pyrotechnics is the safest way to go.Electricity isolates pyro stuff danger the same way optic devices isolates high voltage danger.

author: Brumby
author_rank: Unknown
timestamp: July 02, 2017, 05:24:53 pm
content: Average citizens in NSW have access (legally) to only one form of firework - the sparkler. **I think I would need to beextremelycreative to get value out of that project.......** That is now. When I was growing up, we had common access to twopenny bungers (something similar in size to an 18650) and other explosive products of smaller sizes, Roman candles, Catherine wheels and a vast array of colourful display items. Plus, there were skyrockets - from the fistful of a dozen for a shilling that just went fffffft and were gone in a second to the large bodied ones with a plastic nosecone that soared high and exploded in a glorious (for our pockets) display.We also had a community bonfire in the park across the road. It was not uncommon for it to be over 20 feet high ... and once the fire had burned down, people sat around toasting marshmallows over the embers.I cannot remember how many years ago that was.......

author: Syntax_Error
author_rank: Regular Contributor
timestamp: July 02, 2017, 05:42:21 pm
content: What a bunch of poo-poo-ers, jeez.Nice project, and looks ready just in time for my favorite holiday. Are you going to video your creation in action?Have you thought about making a similar project for Christmas lights? They are getting pretty popular around where I live.

author: NivagSwerdna
author_rank: Super Contributor
timestamp: July 02, 2017, 05:48:21 pm
content: I think it's really fun. (Do obviously be careful around explosives... I worked in an office once where someone was KILLED by a firework)Anyway...Are there techniques that need to be employed in the signalling... e.g. differential, current not voltage etc... to stop the display being triggered by a passing taxi etc?

author: Fungus
author_rank: Super Contributor
timestamp: July 02, 2017, 06:04:25 pm
content: Quote from: Brumby on July 02, 2017, 05:24:53 pmI live in the "City of Fire". There's firework shops everywhere and any excuse works. No birthday/wedding/funeral/Saints-day/whatever/etc. is complete without some fireworks. Any time of day is good: 3:00am? Not a problem.Then there's the actual firework/fire festivals. There's days of the year when I can actuallyseethe glass in my windows flexing because of the fireworks going off outside (no exaggeration) and aerial photos of the city look like the place is being firebombed.This photo isn't a war zone, it's a party.note: This happens right in the middle of the city, narrow medieval streets and all. Some spaces are so tight you have to warn the fire brigade so they can come and supervise. This fireman isn't trying to put a fire out, he's just making sure nobody's house burns down.

author: PartialDischarge
author_rank: Super Contributor
timestamp: July 02, 2017, 06:35:48 pm
content: Quote from: Fungus on July 02, 2017, 06:04:25 pmCome on say it, be proud, its Valencia, Spain.

author: Fungus
author_rank: Super Contributor
timestamp: July 02, 2017, 06:41:00 pm
content: Quote from: MasterTech on July 02, 2017, 06:35:48 pmGetting back on topic (I forgot), there's a lot of demand for firework controllers around here.

author: kolbep
author_rank: Frequent Contributor
timestamp: July 02, 2017, 06:49:46 pm
content: Just one thing to be careful of.When most uC's are started up, their output registers can be in a random state.Which means that even if you have the 1st few lines of your code set all the registers to 0, and their DDR to outputs, it may already be too late. The outputs could have already randomly fired at switch on.One of the shows on TV was trying to find an effective way of braking a runaway truck trailer. They strapped remote control rockets onto it. But when the PyroTechnician went and turned on the receiver it did just that. Triggered the rockets which were facing their exhaust right at the cab door. He just managed to jump into the cab before turning into toast.{Smash Lab S01E08Runaway Trailer • 22:00 • Discovery • 2008-02-27The team investigates if you can stop a runaway trailer with truck using rockets. After testing 3 ways of using the rockets, a direct backwards-facing trailer-mounted system is used. A glitch in the firing system results in premature ignition, ending the experiment}

author: usagi
author_rank: Frequent Contributor
timestamp: July 02, 2017, 07:02:24 pm
content: Quote from: kolbep on July 02, 2017, 06:49:46 pmthis is why 1) there's a "safe" mode switch, and 2) the mcp23017 has a reliable power-on-reset state.

author: floobydust
author_rank: Super Contributor
timestamp: July 02, 2017, 07:15:02 pm
content: Looks like a lot of fun!I've seen a system need an operator button press to OK advance to the next group, with an abort/stop button too.If a firework does not ignite though, and your pulse widths looked narrow in the .gif, your software might need the ability to redo a bank?Or it a big waterfall approach- one sequence only from start to finish?

author: Fungus
author_rank: Super Contributor
timestamp: July 02, 2017, 07:21:22 pm
content: Quote from: kolbep on July 02, 2017, 06:49:46 pmUsually not 'random', usually it's high impedance (ie. INPUT with no pullup).But ... if that's enough to set off the fireworks then you've already failed and shouldn't be allowed anywhere near anything explosive.For fireworks you'd have a master relay for the 12V supply and only enable 12V power after all the Arduinos have woken up and reported their state to the master controller. Even then you'd have a second physical key on a string around your neck and only connect the 12V power a few seconds before the display is due to start.

author: Fungus
author_rank: Super Contributor
timestamp: July 02, 2017, 07:25:42 pm
content: Quote from: floobydust on July 02, 2017, 07:15:02 pmI imagine they make it physically impossible for all fireworks to go off simultaneously in a large display. Banks of fireworks will only be enabled when previous banks have finished.There'll be layers and layers of safeguards/redundancy/diagnostics. Plenty to keep an EE busy.

author: usagi
author_rank: Frequent Contributor
timestamp: July 02, 2017, 08:40:23 pm
content: Quote from: floobydust on July 02, 2017, 07:15:02 pmlook at the scope image again. that's how long it takes for an igniter to blow open.now tell me if the gif looks like it's that fast.

author: voltsandjolts
author_rank: Unknown
timestamp: July 02, 2017, 08:59:24 pm
content: Reminded me of this firework faux pa - everything went up in a minute. Oooops.Be sure to remember all your semi-colons in the Arduino code, hehe

author: Fungus
author_rank: Super Contributor
timestamp: July 02, 2017, 11:12:36 pm
content: Quote from: voltsandjolts on July 02, 2017, 08:59:24 pmHow long was it supposed to last? Looks like an average display to me.

author: floobydust
author_rank: Super Contributor
timestamp: July 02, 2017, 11:33:38 pm
content: I don't see 12V at 9.32A happening through those long DB-9 cables? They're like 22AWG for 50 ft X2 for return, so 1.6 ohms?Roughly 17% less current, 31% less power.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: July 02, 2017, 11:37:05 pm
content: Quote from: floobydust on July 02, 2017, 11:33:38 pmInto a ~1 ohm igniter, that's plenty.Tim

author: splin
author_rank: Frequent Contributor
timestamp: July 03, 2017, 12:34:05 am
content: Quote from: CM800 on July 02, 2017, 01:10:22 pmMy local fireworks shop/display company stores its fireworks in a shipping container. About 5 years ago some tea-leafs broke in to steal them - using an angle grinder to cut through the sides.** In the process they cut half way through the wall of a six inch shell....I wonder if they realized how close they came to a date with the grim reaper? Perhaps not surprisingly the shop owners were a bit disappointed that they hadn't but the resulting insurance issues would have been a big headache....** As a colleague of mine said about his nephew who mangaged to chainsaw himself in the head - "missed his brain by miles".

author: usagi
author_rank: Frequent Contributor
timestamp: July 03, 2017, 01:25:27 am
content: because i don't know the exact timing of the individual fireworks, this will be manually operator stepped through the firing sequence, so i can adjust the display according to how fast each firework runs. every step requires several distinct button presses, and there is no auto firing.sorry to disappoint all you guys hoping for my catastrophic failure

author: Ash
author_rank: Regular Contributor
timestamp: July 03, 2017, 02:24:52 am
content: Hi Everyone,Usagi - congratulations - that looks like a great build. How did you make the cases? Is it laser cut plastic or wood?So, from someone who has owned and operated a legitimate, licensed and insured fireworks company in Australia (Queensland, home of the nanny state), I have a few small bits of feedback from my efforts of building a firing system. This was around the 2000's period. When I did mine, I elected to not use any microprocessor control - it was all switches and relays etc. I'm not saying microcontrollers are bad - just make sure you have appropriate safety switches (see below).I think you are certainly on the right track. Electrically firing fireworks is much safer then hand firing. It is orders of magnitude better than the "Hold my beer, I'll go light them" approach..Although from the looks of the ones you have, they appear to be what we called "boxed sets" - you light the fuse and it does its own "mini-display". These are normally not that "large" in terms of total powder loads etc. The really dangerous items are shells that you need a "tube" or cannon to launch. These WILL and HAVE taken off heads and limbs of unfortunate people placing them over the launch tube while loading or when they accidentally ignited. Also,if you do have shells - DO NOT USE PVC pipe as launch tubes(even the "high pressure" rated stuff) - it will shatter and send shrapnel in all directions and has caused significant injury here in Australia in the past. We used thick wall HDPE piping designed for water and gas mains reticulation. It is available in the correct bore diameters for most common shell sizes. These also need to be well secured - avoid metal so you don't create shrapnel again if there is a launch failure.Having said that -no fireworks should be treated as "safe"- they aren't!If you do have a misfire DO NOT APPROACH for at least 10 minutes. This allows any heat built up to dissipate. There have been cases where a fuse lit well after the igniter was supposed to go off.Quote from: usagi on July 02, 2017, 07:02:24 pmI'm not sure how you have wired up the boxes, but the default un-powered state of the relays (the "NC" state) should be used to short out the igniters / squibs. This is the recommended practice (here anyway) for all igniters - the leads should come pre-stripped and twisted when you buy them and should remain shorted until fired (there is a brief period when you undo this to insert into the firing contacts). The theory is that this mitigates as best as possible both electrostatic and EMI induced currents and therefore minimises the chance of an accidental initiation. I believe (what I was told during training) that this is the required practice for all blasting activities (eg mining) here. Don't get me wrong, it is (by design) difficult to set these things off accidentally, but it can happen.This can be done by connecting the relay armature to one leg of the igniter, the NC leg of the relay goes to ground with the other lead from the igniter. The NO lead is then used for sensing continuity and for applying the firing current (for an single throw relay). If you have a double throw relay - recommended - you can totally short the igniter and completely remove it from the circuit.This means you operate the relay, make you continuity check and then de-energise the relay. When it comes time to fire - you have a separate "power" driver (relay?) that can apply the firing voltage to the NO contacts, then you energise the appropriate relay to fire one igniter at a time. Note that your continuity check circuit should not have a single point failure that can result in sufficient current to fire the igniter, generally this means at least 2 series resistors.. I can't remember what the safe no-fire current was for the igniters we used - you should find that out - I believe it was surprisingly high.Do not parallel igniters! This can result in situations where one fires and prevents the others from firing. The correct thing is to put them in series, HOWEVER you need to ensure you have sufficient energy to fire them all off (not easy to prove). This non-parallel firing also means that you must only energise one firing relay at a time to avoid a similar issue.Quote from: Fungus on July 02, 2017, 07:21:22 pmThis is another important point - there should be at least 2 distinct mechanical lockouts that remove all power from the circuits. In Queensland at least one of these needed to be a removable key type switch and you need to have this key on you when you leave the firing location.Quote from: usagi on July 03, 2017, 01:25:27 amSounds like a very sensible approach. Unless you are trying to coordinate a very large display to music, manual sequencing is simplest and best.Have fun, and stay safe.Ash.

author: Ash
author_rank: Regular Contributor
timestamp: July 03, 2017, 02:42:01 am
content: Quote from: splin on July 03, 2017, 12:34:05 amOuch...When I was doing my fireworks training I was told of an accident here in Australia many years ago.. One of the few legitimate fireworks importers for the country, had a fatal accident unloading a shipping container into their storage facilities. From what I heard, the two individuals manually unloading the container were a little too cavalier and were throwing boxes to each other. At some point one item ignited, and a chain reaction rapidly took place. All the remaining shells etc went up and the container essentially turned into a rocket engine. I don't believe they found any remains of the workers. Thankfully, their compound was correctly designed with appropriate earthen banks separating the stores, so it didn't all go up.Very close indeed to a very bad day for all.Ash.

author: usagi
author_rank: Frequent Contributor
timestamp: July 03, 2017, 03:14:44 am
content: Quote from: Ash on July 03, 2017, 02:24:52 ami think you have this backwardsin series, any one of the igniters firing will open the circuit and prevent the others from firing.

author: floobydust
author_rank: Super Contributor
timestamp: July 03, 2017, 03:15:56 am
content: Quote from: usagi on July 03, 2017, 01:25:27 amI thought the Arduino was timing the ignitor pulse. Yes 200usec but it's i^2*t so leave extra time for line resistance, relay etc. say 50-100msec with deadtime between lights. No prob. with a button press though.Just wanting total successlooking forward to the youtube video

author: Ash
author_rank: Regular Contributor
timestamp: July 03, 2017, 03:35:04 am
content: Quote from: usagi on July 03, 2017, 03:14:44 amNegative. Series for multiple igniters. It sounds counter intuitive to electronics people - it certainly did to me until it was explained.Series is the preferred method. The devices are relatively matched and will all fire at approximately the same delivered energy. The amount of energy delivered in the series loop to each device is about the same and all will have sufficient "heat" before one opens. If ones fails short it will still allow the others to fire. Note that during the firing, the generated plasma (flame) is conductive.With the parallel it is possible to make it work, but to total energy available is divided between the igniters. If one fails short, it will rob all the current from the others. Any commercial firing system I've seen recommends series and if they have a parallel specification, it is significantly fewer igniters in parallel than in series.EDIT: Series also allows you to verify the correct wiring using a continuity check, parallel doesn't allow you to verify all igniters are correctly wired.Ash.

author: usagi
author_rank: Frequent Contributor
timestamp: July 03, 2017, 07:23:03 am
content: Quote from: Ash on July 03, 2017, 02:24:52 ammy mortar racks are DR11 hpde and have been for the past 10 years.

author: Ash
author_rank: Regular Contributor
timestamp: July 03, 2017, 10:09:51 am
content: Quote from: usagi on July 03, 2017, 07:23:03 amGood to hearI guess I'm just putting it out there so others know as well.Shells are much nicer and more fun, but also more dangerous. I wasn't sure you had access to them. Sadly its been a while now since I stopped doing this and my license lapsed. I kind of miss it..Also, I can give a more technical answer to why series igniters are the way to go if you (or anyone else) is interested.Ash.

author: usagi
author_rank: Frequent Contributor
timestamp: July 03, 2017, 06:36:02 pm
content: Quote from: Ash on July 03, 2017, 10:09:51 ami did a bunch of checking on this and turns out that most consumer firing systems in the US explicitly prohibit series connections and explicitly recommend parallel. the reason is because most US consumers use clip-on 'talon' igniters which are nichrome wire. your series recommendation only works for pyrogen e-matches.here's examples of why you don't do series with the #1 most common igniter in the US:

author: Ash
author_rank: Regular Contributor
timestamp: July 04, 2017, 01:20:40 am
content: Quote from: usagi on July 03, 2017, 06:36:02 pmHi Usagi,You are correct for these hot-wire style igniters I do believe! Sorry - I saw the orange wire igniters in your original photos and just assumed they were e-matches because they looked quite similar to what we used to use. I guess I should have stated this assumption!If these are a simple nichrome wire, then yes I'd parallel these, and they will probably require much higher drive current then the e-matches we used to use. Very interesting.. Is there much of a delay in ignition on these. I guess it doesn't matter if you're lighting delay fuse (green stuff), but when launching shells which normally come with "quick-match" (I think it was called) we would just slit the end of the quick-match paper sheath and shove in the e-match, and wrap with a bit of tape. It would then fire a shell pretty much instantly the current was applied, allowing for consistent timing.The clip on style is kind of cool for quick setup, but I'd still be taping them on for security in a display situation.I'm wondering if the hot-wire igniter was developed to remove the requirement for a pyro compound and circumvent licensing regulations? Do you know if these nichrome wire style are used by the professionals over there?The e-match is basically a wire that gets hot enough to ignite a small amount pryro compound over the wire, once that goes it lights the fuse. There may be a second pryo mix over the first in some (I can't remember). The energy needed to initiate the first compound is designed to be significantly less than required to burn out the wire. That way when they are series connected they all light before any can be blown open. This is also how blasting caps are normally done as well if I remember correctly.Cheers,Ash.

author: usagi
author_rank: Frequent Contributor
timestamp: July 04, 2017, 02:36:38 am
content: yes, nichrome wire igniters are common because they are cheap and don't have shiping regulations.i don't like them because the wire is fragile and can tear/break when you clip them on. they are like a light bulb filament. they also require a lot of current to fire.professionals don't use nichrome wire igniters, i don't either. but most people in the US do.

author: usagi
author_rank: Frequent Contributor
timestamp: July 04, 2017, 02:41:06 am
content: handed off mortar racks + wiring to a coworker.24 ea excalibur and event horizon mortars.assembling cake boards. remove bottoms to expose tubes.liquid nails to glue them to the boards. they aren't going anywhere.all glued down, just need to be fused upall 8 cake boards boards, and a 9 shot display rack.<3 my STI

author: Fungus
author_rank: Super Contributor
timestamp: July 04, 2017, 03:54:01 am
content: Be sure to make a video...!

author: Ash
author_rank: Regular Contributor
timestamp: July 04, 2017, 05:42:29 am
content: Hi Usagi,Nice mortar racks!Damn, that brings back some fun memories.. shame I can't do that any more.. sigh..One other hint - if you expect any rain or dew (I don't know where you are in the US) there is nothing wrong with a layer of "saran" wrap over the mortar tubes and igniters. The shells will go straight through and you don't have to worry about water.. I've done shows in the rain before.. fun.Ash.

author: usagi
author_rank: Frequent Contributor
timestamp: July 04, 2017, 07:09:56 am
content: Quote from: Ash on July 04, 2017, 05:42:29 amsomeone observant might be able to tell from the pictures.Quote from: Ash on July 04, 2017, 05:42:29 amfor that purpose, i find blue painter's tape is much easier to apply and easier to clean up. some people use foil tape or mylar.

author: Ash
author_rank: Regular Contributor
timestamp: July 04, 2017, 07:23:22 am
content: Quote from: usagi on July 04, 2017, 07:09:56 amHahah, I was too busy looking at the load of fireworks to notice your plates...Enjoy the 4th. (I'm sure you will)

author: usagi
author_rank: Frequent Contributor
timestamp: July 05, 2017, 07:08:02 am
content: show was a huge success!everything worked fantastic. continuity test helped identify on-site wiring errors, wireless worked great, auto sequencing worked great.i even got a good video

author: NivagSwerdna
author_rank: Super Contributor
timestamp: July 05, 2017, 11:19:55 pm
content: Quote from: usagi on July 05, 2017, 07:08:02 amAwesome. Looking forward to the video!

author: usagi
author_rank: Frequent Contributor
timestamp: July 06, 2017, 12:54:13 am
content: and a big raspberry to all the nay sayers in this thread

author: T3sl4co1l
author_rank: Super Contributor
timestamp: July 06, 2017, 12:57:30 am
content: Guessing it worked nicelyTim

author: usagi
author_rank: Frequent Contributor
timestamp: July 10, 2017, 08:32:24 am
content: the video:

author: BrianHG
author_rank: Super Contributor
timestamp: July 10, 2017, 08:40:36 am
content: Bravo!

author: Ash
author_rank: Regular Contributor
timestamp: July 10, 2017, 11:55:07 am
content: Nicely done!Congratulations!

author: usagi
author_rank: Frequent Contributor
timestamp: April 22, 2018, 10:44:39 am
content: working on version 2.0, I have PCBs designed in easyeda and manufactured by jlcpcb. makes the wiring a lot cleaner!

author: texaspyro
author_rank: Super Contributor
timestamp: April 23, 2018, 02:31:21 am
content: Quote from: Ash on July 04, 2017, 05:42:29 amI've done lots of commercial shows. We always use aluminum foil over the mortar tubes. Keeps embers away. I have also never seen or used nichrome ignitors... it's always e-macthes.Number one rule of handling fireworks... DON'T SKID THE PRODUCT... always lift and carry the box... NEVER slide it. A guy I know that absolutely knew better killed himself sliding boxes around in a truck.Number two rule: Never pull an e-match out of a piece of quick-match. Particularly if you are working on a 6" report sitting in your crotch. I know of a guy that did that... his junk is now orbiting the moon.

author: texaspyro
author_rank: Super Contributor
timestamp: April 23, 2018, 02:45:24 am
content: Quote from: kolbep on July 02, 2017, 06:49:46 pmMy high-power rocket launch controller is designed to that no single point of failure can cause a launch-capable fault.Each firing channel has two high power mosfets. A high fet and a low fet. The ignitor connects between the two. The gates are driven through pulse transformers and series capacitors. The circuit is designed so that you must supply several hundred milliseconds of 30 kHz drive before the FETs can turn on. No "stuck-at" fault will cause a firing condition. The high FET drive and low FET drive come from two independent sources (a timer output and a bit banged signal... both from different ports).The FET outputs are biased slightly above Vbatt/2 and below Vbatt/2 with high resistance dividers (multiple non-SMD resistors in series so no shorted part can cause more than 1mA to flow). The outputs are continuously monitored and shorted FET or anomalous condition will shut down the system.