Make the Switch
Launch Your Design with TI

Looking to create ‘the next big thing’? Look no further than TI's Maker and DIY community! Launch your design with TI's low-cost, community-supported development platforms. Begin rapid prototyping applications in minutes with our microcontroller-based LaunchPad kits, Sitara™-processor-powered BeagleBoards and SimpleLink™ wireless connectivity SensorTags.

Yeee Hawww!!! LaunchPad Ropes Rodeo BBQ!

Yeeeeee Hawwwww!!!  It’s rodeo time in Texas and with that comes rodeo cook-offs.  One of the cornerstones of rodeo cooking is BBQ.  BBQ is a method of cooking that roasts a protein over indirect heat for a long period of time typically using smoke as a flavoring agent.  Cooking BBQ well is an art, which is why folks invest thousands in cooking rigs and compete in cook-offs at rodeos. 

The weapon of choice for BBQ’ing is a tool called the smoker.  A smoker is nothing more than a large metal box that has a place for a small wood fire to be built and an area away from the fire for the protein to sit.  These come in all shapes and sizes depending on the amount of meat that needs to be cooked.  The larger smokers used in competitive cooking can produce great BBQ, but require years of experience to be able to manage the temperature and cook the meat optimally.  In addition to the experience needed, the chef must constantly watch the smoker to ensure it never gets too hot or too cold.  There’s got to be an easier way!

Home chefs that don’t need to cook a whole hog in one sitting can invest in a tool called the electric smoker.  Electric smokers use a heating element similar to what you’d find in your oven to heat up a small wood chip box which produces smoke.  These work just as well as their larger competition brethren, but often come with poor controls and instrumentation.  I set out to change this by augmenting my smoker with some IoT smarts.

When smoking meat there are two factors that need to be monitored: the smoker’s temperature and the temperature of the protein we are cooking.  Both of these measurements can be taken using thermocouples.  I ordered two thermocouples online.  One thermocouple was a cheap cylindrical model that was designed to be bolted through sheet metal.  This proved to be perfect for monitoring the temperatures of the smoker cabinet.  The other thermocouple was a food safe meat probe style thermocouple.  I drilled two holes in the back of the smoker cabinet and mounted the thermocouples.  These were of course connected up to an ADS1118 BoosterPack, which luckily can be used to read both of the sensors without any modification.

Now that I had the temperatures instrumented, I needed a way to control the heating element of the smoker.  For this I turned to my trusty solid state relay board.  Because the heating element of the smoker was more high power than the loads I had previously powered using the solid state relay board, I decided to parallel all four channels so that the load would be distributed across the channels. 

After wiring everything up, it was time to work on the software for the smoker.  While I could have reused the software I had previously made for the sous vide, I decided to start from scratch and develop a new user interface.  I wanted something that would allow me to graphically show the temperatures in real time and after looking around I decided to use Node-RED.  Node-RED is a graphical tool based on Node-JS that allows users to connect the IoT.  Blocks exist for everything from MQTT to Twitter.  I found an example online that showed how to make a control panel and graph and modified it to suit my needs.  On the embedded side, I used the Arduino PID and MQTT libraries to implement the control loop and communications with the cloud.

Node-RED Flow

User Interface

To test out the smoker, I decided to cook a cut of meat which you don’t normally see at BBQ restaurants: Short Ribs.  Short ribs are an idea cut for smoking because the marbling is consistent throughout which helps to keep the meat moist during the cooking process.  The reason you don’t see them sold more often though is because they take a large amount of space in the smoker for the amount of meat they yield when finished.  After applying a dry rub the day before, I tossed them in the smoker for approximately 10 hours.  When the meat temperature reached 200F I pulled them out and let them rest for 30 minutes before slicing and serving.

As you can see, they turned out incredible!  Once again, LaunchPad and a little ingenuity have changed cooking forever.

Source code for the Energia project and Node-RED flow can be found on