Generic "Traeger" Smoker/Grill controller

This project is for a generic ESP32 Based Traeger Pellet Smoker/Grill controller that can be used on any smoker/grill that has an auger, hotrod and fan used for control. Full Home Assistant control completes it and the sky is the limit on what can be done with it using automations.

The inspiration for much of this project came from the excellent work done be @Nebhead and the PiSmoker project (GitHub - nebhead/PiFire: PiFire is a Smart WiFi enabled controller for your pellet smoker / grill.) based on the Raspberry Pi. Their Discord channel is here Discord

While I respect the platform for what it is, I’m not a huge Raspberry Pi fan and I wanted something based on an ESP32 and ESPHome that would integrate seamlessly into Home Assistant. So, this project was born.

I started this project by writing a very complex and proprietary controller for a gigantic commercial Traeger COM200 3 burn pot pellet smoker. This version is significantly scaled down.

Like my rain proofing? It’s winter and the show must go on…

This monster commercial smoker can smoke/cook up to 40 full size briskets. That project has a life of its own and had been very successful. So I decided to take the literally hundreds of hours of work I put into that project and scale it down so it can be used on a single burn pot, generic Traeger style backyard pellet smoker/grill. Some key attributes of this scaled down version:

  • its written in ESPHome, so its easy to understand and modify
  • it integrates seamlessly with Home Assistant and all functions are controllable via a LoveLace dashboard both on a PC and in the Home Assistant app.
  • it emulates the existing new Trager controllers in all functions and adds several new functions
  • it controls 1 auger, 1 hot rod & 1 fan found on the vast majority of pellet smokers
  • it uses solid state relays for control
  • it uses the existing PT1000 temperature sensor (can be adapted to a PT100)
  • it adds a Smith-Predicting, PID temperature compensating control
  • it controls the chamber temperature within approximately +/- 5F vs the +/- 25F for existing controllers
  • rotary encoder support so you can control your grill temp with a spinny knob
  • it has an interactive, touch screen ili9341 display
  • it adds 3 optional configurable wired meat probes
  • it allows dynamic configuration of ALL parameters so it is infinitely tunable for any size/brand of pellet smoker
  • it also allows for both touch screen control of all functions as well as optional individual buttons for control.
  • it adds an optional VL53L0X Time of Flight (TOF) Sensor sensor to measure hopper pellet levels
  • Circuit board for scaled down version should be approximately the same size as the Traeger controller allowing easy retrofit installation.

Very little overshoot when adjusting temperatures (Smith Predictor).

Precise temp control from startup to set temp.

Fully adjustable PID Params (advanced)

Lovelace Dashboards with animated icons for fans, auger & hotrod

This is a work in progress. I’m not affiliated with Traeger or any other BBQ or smoker company. The design may or may not work with your grill, so, your mileage may vary. The chip Im using in this design is an ESP32 D1 Mini. Its small size, wide availability, and versatility makes it ideal for this use. You can probably use any ESP32 based dev board, but I cannot guarantee it will work. My larger project uses an ESP32-S3 as I needed every single available GPIO on that chip, and then some. Plus I needed to use the ESP-IDF framework for that project and also needed PSRAM, hence the S3 based board choice.

I will publish circuit board designs for this scaled down version as time permits. I may offer them for sale in the future as well.

.

This project has been a ton of fun. It’s about 1400 lines of ESPHome code so it’s not a “beginner” project by any definition. But if you study the code long enough, you’ll begin to make sense of it all - that’s what I love about ESPHome. It’s easily approachable by novice users.

Also, because this controller offers the ability to completely customize literally everything, it will take time for you to realize its full potential. The PID tuning is especially complex, but after many days of testing, I’ve settled on PID value parameters that do a reasonable job of keeping the chamber temps within 5F or so, a far cry from the +/-25F of the current controllers. Adding the Smith Predictor to the PID controller eliminates overshoots from wide temperature changes. Many kudos must go to @dogtreatfairy for many hours spent helping me tune the PID controller.

ESPHome firmware source code and KiCad schematics are published on my GitHub.

Circuit board is exactly the same size as the one in the Traeger.

5 Likes