How could I detect this?

I'm working on using an Arduino to control my home brewery. Part of that will be 3 gas burners that can be controlled by the Arduino. Right now I'm using Hot Surface Ignition modules and ignitors. The Arduino provides 24VAC via a relay to the module. Upon receiving voltage, the module provides 120VAC to the ignitor which glows red hot. About 60 seconds later, the module opens a gas valve and the hot surface ignites the gas. The ignitor is also the flame detector and in the presence of a flame the voltage to the ignitor is cut. The gas valve remains on until the voltage is cut to the module. This is a standard system from many gas appliances here in the states.

I'd like to do away with the modules and have the Arduino control the ignitor valve directly. I don't have a problem figuring out the timing and supply 120VAC to the ignitor; what I need is for the Arduino to use the ignitor as a flame detector. It works based on the principle of flame rectification. A flame will not only conduct electricity, but rectify it as well. So, the module passes an A/C current to the ignitor and the flame grounds the ignitor to the burner where it detects the DC current on the ground, signaling the presence of a flame.

How can I get the Arduino to do the same thing? I don't want to use a thermocouple or optical detector. I figure if the HSI module can do it, so can the Arduino...

One other thing. There are only 2 wires to the ignitor and they also carry the line voltage/current to make it glow. So the detection needs to be of a relatively high voltage (line). It's important to respect orientation of the hot/neutral 120VAC wires into the module, otherwise it cannot detect a flame. The ignitor always has hot 120VAC to it while the module is energized, it just cuts the ground to the ignitor but still provides a rectified path to ground for the signal via the flame.

clear as mud?

And another thing that makes this problematic, lol... Each burner needs to be detected independently and they are all grounded together via the metal pipe that supplies gas. A flame at burner 1 doesn't mean it's OK to kill the ignitor at burner 2 if there is a call for flame. Likewise there could be a safety issue if burner 2 happens to blow out but the system detects a flame at burner 1. In a single burner system using this system, a flame loss while there is still a call for flame immediately triggers the shutting of the gas valve.

No one likes blowing up.

Flame management is a very safety sensitive application. At the refinery I worked at all the control components and equipment used had to meet certain industry fire and safety certifications and that sometimes prevented us from using more general and up to date components and equipment that didn't carry such certifications.

That being the case it's really questionable to give advice and suggestions for 'homebrew' type installations. Home and commercial insurance policies can also be effected. YMMV, but think carefully about this before actually implementing.


Thanks for the caveat, I appreciate your concern.

I've been brewing beer for almost 20 years and built several home breweries of various complexities. Rest assured this is a very hands on brewery and watched very carefully. It is never left unattended while brewing nor is it even attached to a gas line when unattended

The purpose of Arduino control isn't to start and forget or even to automate the processes, but to provide an extra hand in watching 'things' for me. This is not an appliance like a furnace or fireplace that is in the living space. It's more like a BBQ and is used outside. The CO alone would kill you in a confined space.

I'm aware of the safety issues, hence the requirement to have flame detection. I could easily implement this without it and it would function to accomplish the goal of lighting and extinguishing the burners but that is not an option.

Well looking at a data sheet via google it seems that the flame current used to detect a valid flame is in the microamp range. This means that a lot of amplification would be required to interface with the Arduino. Without internal schematic of the flame detector circuit it would hard to give more more details. Did you anticipate just sticking a new probe into the flame and using independent drive and sensing circuits to detect the flame independently from the existing equipment?
I suspect using independent IR photodetectors mounted in sight tubes to each burner would be much more straight forward.


Thanks for the response.

My plan was to use the existing ignitor, but do away with the purpose-built controller to save space and have the Arduino drive and monitor the ignitor.

I've thought about using an independent detector, but I don't think an IR photocell would like in the environment. With a kettle in position, the entire area I could mount one gets very hot and I don't know where I could mount one and get it far enough away to live. I also wanted to minimize the amount of wiring and I didn't want to have the extra driver circuits to read a thermocouple.

Hey there,

This is a bit of a revival of an old thread....but did you ever get this sorted?

I have EXACTLY the same application - looking to control three propane gas valves and auto ignitors for HLT, Mash Tun and Kettle using solenoid gas valves and either hot surface or (any other valid) ignition systems....

Temp sensing will be via Maxim 18B20 devises.

Anyway....if you got this sorted, please let me know as I am in the infancy of a 120L brewery project that has the same requirements!

No such luck. Did a lot of looking into flame rectification detection but never built anything.

Before you spend all the time on an Arduino based brewery control, take a look at the BrewTroller project. It's Sanguino based and has quite a robust set of features.

Might save you some time. It's all open source.