BBQ Lab - Instrumented BBQ

My wife – Val – and I love food.  We love to cook it, eat it, and share it with others.  And one of my favorite foods is BBQ.  So a few years ago, we purchased a small smoker to try our hand at making some BBQ.  So first, let’s talk about the BBQ rig.  We live in a smaller house and didn’t want to invest too much money into a smoker until we proved our dedication to the craft, so we purchased a Brinkman gas vertical water smoker.  A vertical water smoker basically looks like a freestanding locker, with a fire in the bottom, followed by a wood pan, followed by a water pan, followed by a few racks for the good stuff – pork butts, briskets, sausages, etc – , and finally the exhaust chimney.  I chose the gas model because I thought it would provide more precise control to maintain the temperature of the smoker.  And so it was for a few years that our little smoker produced some really good BBQ.  However, smokers take quite a bit of tending.  You need to make sure the fire it lit, there’s enough wood and its smoking, there’s enough water, the smoker is at the right temperature, and the food isn’t overcooking.  That translates into going outside every 15 – 30 minutes to check on the smoker, making a few adjustments, and repeating for 8 – 12 hours.  It’s an all day affair.

Enter the instrumented smoker – BBQ Lab v1.0.  My friend Matt turned me onto Arduinos a few years ago.  Since then I’ve tinkered with a few Arduino basics – blinking lights, using switches – but I didn’t really have a focused project.  And so it was that my first true Arduino project was instrumenting my smoker.

BBQ Lab v1.0 consisted had the following capabilities:

  • Measurement of smoker temperature
  • Measurement of food temperature
  • Measurement of humidity at exhaust chimney
  • Measurement of ambient outdoor temperature
  • Sending data to a web service every 10 seconds which is logged to a database
  • Display of data on a web page with an auto refresh every 10 seconds
BBQ Lab v1.0

Arduino board with Ethernet shield.

BBQ Lab v1.0

Breadboard with leads to Arduino and inputs from thermocouples and humidity sensor.

BBQ Lab v1.0

Thermocouple probes. The smooth one is for the food, the one with the bolt screws into the side of the smoker.

BBQ Lab v1.0

Web page displaying real time smoker temperature and humidity.


Since BBQ Lab is still undergoing improvements, I haven’t created a permanent mounting solution as of yet.  It currently resides in a Rubbermaid container which protects it from rain and snow.

BBQ Lab v1.0 made is debut in March 2011 tending a 6 lb pork shoulder.  I setup a small Netbook computer with the BBQ Lab status page and glanced at it every few minutes to check the status of the pork.  While I still had to go outside every once in a while to adjust the temperature or check the smoke, it certainly reduced the overall number of trips.  I also emailed a link to the BBQ Lab to Val and a few friends, which had the awesome effect of having a crowsourced BBQ.  As the temperature rose too high one of my friends IMed me.  Later, when the temp droped severly because of a flame blowout, another friend sent me a text.  It was a group cooking effort – it was awesome!

Since then BBQ Lab has gone through a few revisions and cooked more yummie BBQ – with the continued help of friends watching the instrumentation.

BBQ Lab v1.1

  • Added Google Charts to show temperature and humidity trends over time

BBQ Lab v1.2

  • Added smoker temperature and food temperature thresholds with send text message alerts when thresholds are exceeded

BBQ Lab v.Next Potential Features

  • Smoke sensor to determine smoke density
  • Solenoid valve to throttle propane flow depending on smoker temperature and smoke density
  • Gas sensor to detect flame blowouts and turn off propane flow via solenoid valve
  • Igniter to reignite flame
  • Posting updates to Twitter
  • Data analysis and visualization of past BBQs