Arduino‎ > ‎

Gasifier Monitor

The folks a GEK have built a control unit for testing and controlling their gasifiers. It is fairly expensive and includes many more sensors than are needed to just run or monitor a gasifier. The following project is a very scaled down version of that controller built using Arduino shields and blocks that were originally created for other purposes. I also did my best to make this simple to recreate with minimal soldering and minimal cost.

The set up starts with an Arduino Uno. To that we will add a TC4 shield. This shield was designed specify to monitor and control at home coffee roasting machine. It is capable of reading four thermocouples. The sketch below only uses two but it would be simple to add one or two more. The unit reads two differential pressure sensors. There is room on the Arduino Uno four two more pressure sensors. An I2C enabled LCD screen lets you easy see temperatures and pressure readings. This sketch only monitors these readings and does nothing to control the gasifier. There are 11 unused digital input/outputs still available so controlling augers, valves, fans, gas mixtures, motor starting or other functions are a possibility.
I don't like using a shield and being left to guess what Arduino pins it is using so here is a table with the pins used.
 pin Digital  pin Analog 
 0 Serial  0 Differential Pressure sensor 1
 1 Serial  1 Differential Pressure sensor 2
 2 button  2 unused
 3 unused  3 unused
 4 unused  4 I2C for LCD and 4 Thermocouples
 5 unused  5 
 6 unused   
 7 unused   
 8 unused   
 9 unused   
 10 unused   
 11 unused   
 12 unused   
 13 unused  

This is the assembled unit. It is enclosed in a water tight food storage container. The top rectangle is a three tiered stack with an Arduino Uno on the bottom, the TC4 thermocouple shield with a sensor shield on top. In the middle is a blue button mounted just under the lid that can be pressed by touching the clear lid. Below the button is a 16 character, two row LCD screen. Underneath the LCD screen are two differential pressure sensor bricks. They can't bee seen in this picture. The unit is being powered with a 9 volt rechargeable battery. The battery will be replaced with 12 volt battery and a voltage regulator in the future. This battery could be from the electric starter for a generator or a truck's 12 volt battery. Below the box are several 1/16" silicone tubes used with the pressure sensors and two thermocouples with stainless braided cables. The thermocouple are some cheap ones and may get replaced with the nicer ones used on the GEK system.

Arduino gasifier monitor in casepressure sensors

Below is the alpha version of a sketch, gasifierMonitor.ino, to read the pressures and temperatures in a wood gasifier. It uses six Arduino libraries which are also listed below. The libraries should be placed in Arduino/libraries folder. The Arduino folder location is usually in MyDocuments in Windows or in the Documents folder on a Macintosh. If your Arduino software is open when you copy these libraries into the libraries folder you will need to quit and restart the Arduino software. 
The gasifier sketch is a work in progress. I would like input from anyone that has a working gasifier on what should be added or changed. The temperature sensors and pressure sensors may need some calibration. The button doesn't do anything right now but on other projects it has been used to navigate between LDC screens to display maximum and minimum values for readings. The box was chosen because it was sealed, was available and cheap. It is just big enough to hold the unit but not big enough to add control relays or much of anything else. I was also thinking of adding several colored LEDs that could turn on based on the temperatures in the inside the gasifier. These could be blue for too cold, green for within limits and red for too hot. Your suggestion on a color scheme would be welcome as red amber and green for a normal traffic signal just don't seem to work with a gasifier.
The LCD screen currently just shows the two temperatures in degrees Fahrenheit and pressures in Inches of Water. Other units of measure are possible as are multiple screens. For those of you with working gasifiers let me know what information is useful. The sketch also writes out the same information to the serial port and can be read by opening the serial monitor in the Arduino software.
The sketch has quite a few comments that explain the code. If there are questions about the code please email. 

This parts list does not include shipping or sales tax. The first column of numbers is for fully assembled/original parts. No soldering of parts and pretty much nothing already on hand. The second column is the cheaper version of the Arduino and parts that may need to be soldered. In either case you will end up with some extra small parts.

Parts for Gasifier Monitor

Hardware assembly.
I started with plastic case from the Dollar store. It roughly 5-1/2" by 5-1/2". 
From some leftover 1/4" Lexan plastic sheet I cut a 4-1/2" by 4-1/2" square and rounded the corners so the square would fit snugly in the bottom of the container. Lexan is a fairly soft plastic and takes well to being drilled and tapped. The Arduino was mounted first. It was placed as close to the edge of the Lexan as possible with just enough room on the power adaptor side to plug in a power supply plug. Three of the four mounting holes were marked on the Lexan and 5/32" holes drilled. Each hole got a #6 by 1/2" sheet metal screw and a 1/4" piece of aquarium tubing used as a spacer. The fourth hole on the Arduino is too close to the power jack to allow a screw to be used.
Drill a 3/8" hole in the side of the box that will face down. Add a 1/4" rubber grommet and feed the two thermocouple wire through the grommet. 
Add the TC4 shield on top of the Arduino. Attach the four wires from the two thermocouples to the terminal blocks and tighten them up with a 1/16" straight screw driver. 
LCD screen attachment. Connect 4 wires to the I2C connector on the TC4 shield or to the sensors shield. Note that the ground and Vcc connections on the TC4 shield are in a different order than on the LCD and the sensor shield so pay attention when connecting them.
The LCD is mounted using two 6-32 by 2" Machine screws and nuts. Mark the Lexan plastic through two opposite corners and drill 1/8" pilot holes. The mounting holes in the LCD will need to be made slightly larger using a 9/32" drill bit.

Th button is one of the $.20 buttons listed above. It was mounted on a 7/8" by 3/4"  piece of perforated circuit board. A 9/16" hole was drilled on sone end and the button mounted to the other. A white wire was soldered to one terminal and a black ground wire to the other. These are connected to digital pin 2 and ground. A 6-32 machine screw was cut off to 1 3/4", an 1/8" pilot hole was drilled in the Lexan offset to center the button. 

Differential pressure sensor bricks come with holes but no attachment pins. I soldered in pins I had on hand but wires could be soldered directly to the holes. The bricks are not attached to the Lexan but are supported by the silicone tubes. This allows for the removal of the unit from the case enough to attach a USB cable for programming. The bricks float about 1/4" above the Lexan. Holes for the silicone tubing are 5/32" and the tubing is a snug fit.

For testing I am using a 9 V rechargeable battery and battery adaptor. It is just plugged in and stuffed into an open space between the Arduino and the LCD screen. I will be adding a voltage regulator and attaching the unit to a 12 V battery eventually.

Send any comments or suggestions to

George Adams,
Apr 3, 2013, 5:46 PM
George Adams,
Oct 25, 2012, 4:12 PM
George Adams,
Oct 25, 2012, 4:25 PM
George Adams,
Oct 25, 2012, 4:19 PM
George Adams,
Oct 25, 2012, 4:10 PM
George Adams,
Oct 25, 2012, 4:19 PM