So last post I gave a bit of an overview of how the FireFlower worked. Today, we’ll go into a little more depth about how it was made. Newsflash – I am terrible about documenting the things I work on, and so I will endeavor to do that better on future projects! The code for the two Arduinos will be posted to GitHub presently, and I will link them in an update soon, I promise!
So as mentioned previously, the Fireflower consisted of several elements: a control panel to interact with the piece, the flame effects, and the LEDs, all of which were coordinated to do specific things.
The control panel consisted of 5 pieces of oak, cut into the same pentagon shapes and arranged in the same pattern as the petals of the main piece. A one inch translucent arcade button was inserted into a pre-drilled hole for each petal. Each button contained a single neopixel LED to indicate whether or not it was being pushed, was idle, or was part of the solution to the puzzle. These LEDs, as well as the game code, were run on an Arduino Uno in the base of the control panel. So when you pushed a button, it sent a signal to the Arduino that would determine whether or not that button was the correct button in the pattern, change the light in that button to red if it was, reset the pattern and the buttons if it completed the , and then send a signal to a second Arduino that instructed the LEDs as to what they should do. The second Ardiuno (in this case a Mega) also sent the appropriate signal to the flame effects controller, a separate microcontroller designed and built by my friend Tim (also responsible for a large chunk of the flame effects technology in this project).
The game was a bit fun to code as well. Essentially, when you push one of the buttons, the corresponding flame effect would ignite. The goal of the game was to unlock the sequence of buttons that would cause the main flame effect to ignite – a two inch throat flame effect dumping 30 gallons of propane at 60PSI. Honestly, the most joy I got out of this project was unsuspecting people in the vicinity leaping several feet in the air and ducking when that large effect went off. The sequence of buttons was random and had to be discovered by trial and error. Once you figured it out, the sequence would re-randomize, so that the next player wouldn’t be able to just push the same buttons as the previous person. For my novice coding skills, figuring out how to make an exclusive (that is each button is only used once) sequence was a fun problem to solve.
So backing up a bit, first Arduino controls the game. Depending on the outcomes, it sends a signal to the second Arduino, which responds by activating various patterns in the LEDs on the petals and sends a corresponding signal to the third controller, which then tells which valves to open on the flame effects manifold and for how long.
We originally intended to use XBee radios for communications between the Arduinos, because trenching playa sucks. However, the amount of interference from WiFi access points, radios, cell phones, tesla coils, and high current power sources scattered across the playa render XBee pretty unreliable. So instead we ended up having to trench and use a hardwired serial connection. Fortunately this doesn’t require any modifications to the code, but still a minor inconvenience.
Some notes on propane: to run a flame effect of this size, you have two options. You can either run vapor to accumulators, which was our method, or you can run a vaporizer, which turns liquid propane to propane vapor. More on vaporizers later. With the vapor accumulator, you are relying on the fact that propane boils at -44F. At the roughly 60F of the playa at night, you would think you have plenty of headroom – the pressure in the tank is at about 90PSI at that point. However, due the pesky reality of the thermodynamics of boiling liquids, every time you remove vapor from the tank, more propane has to evaporate to take its place. We call this a phase change in chemistry, and it requires heat to function. This in turn removes heat from the system, with the noticeable effect of reducing its temperature (this is exactly the same principle at work when you sweat – the energy it takes to evaporate your sweat serves to cool your body down). So now, instead of 90PSI in the tank, you have some new, lesser PSI that is based on the equilibrium of the heat removed to evaporate more propane. The net effect is that after a surprisingly short amount of time, your tank will get extremely cold, and the vapor pressure of your propane will drop to the point that you can no longer run the flame effect.
We got around this problem by submerging the tanks in water, and then using a propane powered camping water heater to heat the water. This kept our tanks at a stable 50F or so, giving us enough vapor pressure to run the effect until the tanks were dry. This left us with the problem of wrangling 100lb propane tanks in and out of the baths, but that wasn’t such a big deal, since we just manifolded two of them together. 200lbs of propane was our stated consumption for any given night, and when they went dry, we just had Burning Man’s Artist Support Services (ASS – really that is what they call it) refill them in place the next day.
Vaporizer are a whole different ballgame. These take a small amount of the vapor from a tank and burn it to heat liquid propane from the tank into a vapor. Think of it as a gas powered water heater, except instead of water, you are heating propane. With a flame. The potential for unmitigated disaster is astounding. Which is why I am trying to convince my cohorts that we need to buy one. The advantage of the vaporizer is that you are no longer dependent on ambient temperature to feed your effect. There is no significant phase change in the tank, so the tank doesn’t freeze. The heat to drive the phase change comes from the flame and not the environment, as in a vapor fed system. So now you have propane on demand, with no lag to fill an accumulator, and no decreasing pressure from a cooling tank. Net effect for the art – you can burn propane for as long as you have propane, giving a much more satisfying fireball that lasts for as long as the valve is open!