BBQ - setup

The older I get the more interested in cooking I become. My most recent adventure has been smoking meat. I have a friend at work who’s a bit of a gear head and tends to like the exact same kind of stuff I do… so I basically I just did what he did :)

The smoker

For maximum flexibility and reliability I choose a large Big Green Egg. It’s basically a big Japanese style ceramic oven. It has very few moving parts, and tons of insulation which makes it very efficient (fuel is expensive). With a few attachments you can do lots of stuff, a few examples being:

  1. “Low and slow” cooks for things like beef brisket.
  2. Very low temperature cooks like smoked salmon.
  3. Baking bread.
  4. Traditional grilling (not my interest).
  5. High temperature baking (like pizza).
  6. High temperature searing.

Big Green Egg


For sure you want lump charcoal if you’re going to smoke in something like the Big Green Egg. The internet is a crazy place, and my same friend happened across a website that rates charcoal. This landed me on Royal Oak, which I get at my local hardware store.

Lump charcoal

Air control and temperature

The most important aspect of any fire based smoker is air control. Initially I tried setting the vents manually, but it’s nearly impossible to do without fluctuation, and for sure it’s impossible to sustain an accurate temperature on overnight cooks without help. Again following the recommendation of my friend I chose the Stoker II with the Big Green Egg blower attachment. It’s been an absolute life saver, and the good folks at Rocks are super nice to work with :)

Stoker II Big Green Egg blower

State changes

The setup described above already adds PID controllers, wifi and all sorts of crazy on top of the simple desire to cook meat over fire, but what self respecting nerd would I be if I didn’t somehow find a way to add even more technology to the mix. The Stoker II has a crude beautiful interface that lets you set the desired grill and meat temp. You can also set an alarm to let you know if either of those temps fall out of range. This works great, but I can’t quickly turn it off if I’m not nearby, and I’m sure my neighbors didn’t enjoy the sound in the middle of the night. I also found myself changing the numbers around with each cook as I transitioned through stages of cooking, usually the wrapping phase.

So I wrote a little program which uses the Stoker II rest API and consumes a simple config file describing my desired temperature ranges for each cook, and tells me what to do at state changes. For sure I’ll open source it once it’s usable by others.



In order better understand what was happening during the cook I added Prometheus metrics and graphed the data via Grafana. The hardest part was trying to predict when the cook would be complete. Currently it’s using a linear regression model (which does a poor job of taking “the stall” into account :/).



So there it is. It was an expensive setup, took some time to learn how to use, but works incredibly well. At some point I’ll dive into some specifics (on a topic already completely handled by the rest of the internet), but it’s fun to write about food so who cares.