To be clear, it took forever for me to get from one working flame pooger to six that worked together. I encountered a LOT of problems, most of which were my own fault.
1. Air-fuel mixture: Propane (and i think all hydrocarbon fuels for that matter) do not combust in an oxidation-combustion reaction unless they have, well, an oxidizer. Typically, this oxidizer is O2 molecular oxygen that comprises 21% of breathable air. Propane torches typically have a simple carberator, which use the venturi effect to mix expelled propane with atmospheric air. I did my best to design the flame poofers so air mixed with the propane enough that the high voltage igniter would trigger the combustion reaction.
Here’s the problem: the pressure at which the propane is expelled lowers each time I consecutively fire them. Why? LIQUID propane is in the tank under pressure, so gravity pulls liquid propane to the bottom, and GAS propane fills up the rest of the space. Liquid propane turns to gas at -40C, and the pressure of the tank forces some of the gas into a liquid state.
Now, every time the cannister fires, the pressurized gas is released into the atmosphere, which in turn lowers the pressure in the cannister as it tries to equilibriate with atmospheric pressure. When the solenoid valve closes and no more gas can be expelled, some of the liquid propane phase-transitions to gas. This requires energy, in the form of leaching heat from the metal cannister. As a result, the cannister gets colder each time it fires. This colder temperature decreases the energy in the gas, so subsequent poofs contain lower energy gas, which in turn means less fuel is expelled, changing the air/fuel mixture to a leaner (less gas) mix. Luckily, the poofers ignite better with the leaner mix.
It’s worth stating here, the air fuel mix of the poofers is ALWAYS on the rich side, even at it’s leanest. This is aesthetically good, but it also means the flames contain less energy, and are generally pretty safe. I could swipe my hand through the mix, losing some hair, but not seriously injuring my self. It also means it is hard for these to ignite anything I DON’T want ignited (like the wooden beams in my shop).
2. The arc generators: I originally housed the arc generators right next to the esp32 chips. Bad idea. When the high voltage arc is created, it stops the esp32 code running, but any open solenoids are still powered. This is typically evident by a burning pillar of propane that will not cease until I kill the power. Slightly unnerving, slightly awesome.
3. My poor understanding of electricity: Between my power supply and the flame poofers I had a 10-foot run of 18awg wire. Given just one of the poofers pulls upwards of 3.5A, thatt resulted in a significant voltage drop measured at 11.5V into the poofers. Add to that I occasionally got overzealous and triggered two or even three of the poofers at once, my power supply (which maxed out at 5A) had no way of supplying enough current, and the relays and igniters became pretty unpredictable.
I added capacitors to smooth voltage spikes, trusting chatGPT to give me the correct values (100uF and 10uF i think, before and after the buck converter, respeccttively. I have no idea if they werre helpful, but I quickly learned that when i powered the boards off, my power supply did not work when i wanted to power them on. I eventually realized that if i manually disconnected the boards, discharged the capacitors, and reconnected the board, then the power supply worked again. The power supply likely had some safety mechanism that prevented it from turning on based on some discharge current from the capacitors. Rather than take the time to learn how to keep the capacitors, i instead cut them out and this problem was resolved without any apparent new problems.
4. The EspNow broadcast-to-all problem: The EspNow library allows one to broadcast to specific mac addresses that are paired with the master chip. It’s a “dumb” broadcast as there is no error checking or receipt confirmation using this function. Only problem here is I could not broadcast-to-all to more than 4 helper chips more than once; the list of helper connections on the server dropped to four each time. Naturally, I assumed i screwed something up, so i reflashed code, checked power supply connections, continuity tested the pcb, rinse/repeat many, many times.
Ultimately, I finally got all six to play nice repeatedly.