I'm from the South. I seek the part of my heritage that makes the South special
Saturday, March 10, 2012
Banjo - Regarding the Arduino
I'm pretty serious about BBQ. It represents one of those things the South is known for, and it can also taste great, if you are lucky enough to find a restaurant, or friend, that is skilled at making it.
When I was first starting out making BBQ, I didn't have a clue where to start (see this previous articleon BBQ for more insight), which certainly made for interesting dinners! However, with a patient wife and smart children, we all benefited – although the suffering endured may have been a little intense.
At some point, I realized the main ingredient was missing. No, I'm not talking pork here. I'm talking about information. That was the key ingredient that was missing. With no mentors nearby, and with it being pre-Internet, information was hard to come by. So that meant one thing: tests.
Cooking BBQ means you are dealing with several things, all of which will affect the outcome:
Temperature of the cooking chamber (oven) – influences time
Time at temperature – influences temperature
Size of the meat (weight, dimensions) – influences time
Source of heat (wood, gas, electric) – influences flavor
The two that I was struggling with the most were: time and temperature.
So, if I was going to run tests to collect information, then I was going to focus on time and temperature. The time was pretty easy to keep track of, but the temperature was a little more difficult. In your typical home-style offset smoker, it has two chambers – the combustion-chamber (the firebox), and the smoke-chamber (the oven). There were several temperatures of interest: there was the temperature of the combustion-chamber, the temperature of the smoke-chamber (and this could be different in different areas), the temperature of the meat, and outside air temperature. In other words, a lot of temperatures!
At first I tried just plugging a big meat thermometer into the meat and leaving it in, where I would occasionally reach in and take a temperature reading. But this was problematic – it let heat out of the smoke-chamber, the face of the dial became black and difficult to see as smoke residue built up on it, and I wasn't too sure that the metal probe wasn't conducting enough heat, over time, to influence the meat temperature near the probe. Because of these issues, I also tried an 'instant read' thermometer. But that didn't work too well – it still let heat out of the oven, and the placement of the probe was never consistent, so I could never be sure I was getting an accurate reading - since heat migrates into meat from the outside in to the middle, the portion of the meat closest to the outside will be the hottest, while that in the middle will be the coolest – at least until all the moisture has cooked out; a dried, hard piece of meat will have a consistent temperature throughout.
What I needed was some sort of device could take all of the different temperatures and then record each of these different temperatures for me.
I knew from my work in process control at nuclear plants that thermocouples were a good choice for obtaining the temperatures: they were accurate enough, they were robust enough to take the combustion-chamber temperatures, and they could all be collected together outside of the cooking environment, which meant I didn't have to place the recorder into the smoker.
However, thermocouples can't be used directly; they require an amplifier, and another device to measure the ambient temperature in order to derive the temperature under sample.
At first, I thought the most obvious solution was to buy something that would plug into my computer that was capable of taking the temperature samples and then recording them in my computer. Not a bad idea, but it turned out that this was way-too-expensive for a hobby!
Researching led me to microcontrollers. In particular, Atmel's AVR line of microcontrollers. A microcontroller is an integrated circuit – popularly known as a 'chip'.
A microcontroller is an interesting thing. It can be programmed, so it has the benefit of being capable of running software. Nothing much new there, except the software is all in the chip, instead of being on a hard disk, like it is on your computer, which is then transferred into your computers memory before being read into your computer's CPU. The microcontroller also has direct capabilities to interface with the physical world, in the form of sensing voltages, and can also send out voltages, on different pins on the chip. This meant it could interface with a thermocouple. It can also communicate directly with another computer, which meant it could send the data to the computer where it could be recorded.
So, I built a multi-channel temperature sensor and data logger, using one of Atmel's microcontrollers. It was a little bit of a challenge, but the results gave me data on all of the items I was interested in, at a sample rate of once-per-minute. I could have gotten more samples (e.g, one per second), but this seemed enough. I programmed a small dedicated web-server that would display time and temperature on the internet so I could pull it up at work to see if I needed to head home over lunch to make any adjustments. And, once you've got all of this, you may as well hang an inlet-air valve on the smoker and controller the smoke-chamber temperature with the microcontroller so you can do something else all night, like sleep!
A lot of time and effort went into this – but not much money, as all of the items were inexpensive. The effort was in acquiring the knowledge to put everything together. I was fortunate, in that I already had an extensive electronics background, as well as an extensive software programming background, but even then it took a while.
Which leads me, after a long segue, to the Arduino.
There is some confusion as to what an Arduino actually is, so I'm first going to explain it. It is an open-source hardware electronic board. Being open-sourced, it can be manufactured by many companies, or even yourself. It comes with various chips on it and hardware connections to make it easier to interface into the real world, for everyday hobbyist. There are different boards available, but one of the newest is the Arduino UNO. The main chip on the board is an Atmel ATMEGA328P – this is the microcontroller. It also has a voltage regulator, a couple of LEDs (light emitting diodes), and places where different devices can be plugged in. This board runs around $30.
The Arduino is also a software programming environment, known as an IDE (Integrated Development Environment), that runs on your computer. This part if free. (www.arduino.cc)
The Arduino was developed with the objective of making microcontrollers available to artists, fashion designers (clothing like the lighted cloths worn at this year's Super Bowl half-time show), and everyday hobbyist. Therefore, a lot of the things that I struggled with (above) have been simplified, with the result that whole companies (www.adafruit.com, www.sparkfun.com) are now up and running to supply items that can plug into this Arduino (known as 'shields'). One of those shields available, for about $20 from adafruit and/or sparkfun, is a thermocouple reader. This means, for about $50, any hobbyist can make a small investment in time, and have a BBQ Temperature Sensor and Data Logger!
An Arduino is a perfect solution for taking BBQ temperature data from tests run, among other things. It has program memory, for the software, and data memory (for the data), all on the chip. This means the data is stored directly in the Atmel chip. It also means it's directly available to transfer into a computer for graphing or other use. And, again, it can also be programmed to interface with an inlet air valve to control the smoke-chamber temperature, while you do something more constructive, like sleep.
Well, once you've got an Arduino, that old saying comes into play: to a boy with a hammer, the whole world is a nail! Well, to someone with an Arduino, the whole world, every device, seems like it needs one!
Here's how I'm currently using Arduino's around our house (a link to my Sous Vide Controller for crock-pot):
A thermostat to control the gas heater on our porch, without interfering with any of the heater's built in safety devices.
A precise crock-pot temperature controller. Want to use a crock-pot as a small, inexpensive, Sous Vide device? No problem!
Run time vs. temperature tests on meat in Sous Vide
Automatic watch winder. Did you know these things are $100 - $3000!
And here's what I've got under development :
4 or 8 channel thermocouple datalogger to 4 GB SD card.
Better watch winder. This sounds so easy, but the issue is that each watch manufacturer has different criteria on how to wind their watch. Rolex requires about 600 revolutions per day, alternating clockwise and counterclockwise; Breitling requires abpit 800 revolutions per day, all clockwise. For the Breitling, that's about 1 revolution every 15 seconds, followed by a pause of about 1.5 minutes.
Inlet air valve for large smokers.
If you've got a teenager that needs an interesting activity, have a look at Arduinos. They are inexpensive, fun to work with, and very educational. In the Alpharetta area, both Fry's and Radio Shack carry Arduinos.
I'll be writing more about this interesting device in the future.