/BBQer

Arduino based BBQ smoker temperature controller with cloud analytics and notifications("add charcoal", "add wood", etc)

Primary LanguageC++MIT LicenseMIT

This is the first, alpha version of documentation. It will be improved. I'll waiting for your questions

BBQer

Hello, my name is Alex, I'm from Russia and I love BBQ! So, BBQ Smokers are not so popular in Russia, thats why I'am the only one in my small town - therefore the best :) !

There are a lot of different handmade of factorymade BBQ Smoker temperature controllers, but for me all of them have too many limitations. For example, for assembling very popular "HeaterMeter" you need to be an good engineer with soldering skills. Or, you need to spent a lot of time to assemble, debug and configure some other DIY projects. Or it cost too much!

As for me, this is not an easy way.

I hope, that I can explain to you, how to get very easy, cheap, really, extra-cheap controller with an optional cloud monitoring, that perfectly solve every BBQSmoking needs!

Let's begin!

What's is the main problem for Low&Slow smoking?! Right, it takes too many hours! You need to constantly maintain temperature level and smoke density.

For maintaining constant temperature you need to always change an airflow using damper.

Airflow provide the main heat and smoke transfer from burning wood and charcoals to the meat.

standart offset smoker

So, we need only to add a simple temperature sensor and electronically controlled air blower/damper. Controller periodically reads temperature and adjust the airflow.

standart offset smoker with temperature controller

That's how does it must work.

Part 1. Arduino based controller

Hardware

As I say before, I don't think that we need to be an engineer with soldering skills! You don't need to solder anything (maybe exept few connectors).

You need to buy:

1x arduino nano (~3$)

1x arduino nano I/O extension board(~1$)

1x temperature sensor (K-type thermocouple with required amplifier)(~3$)

1x blower fan(~2.5$)

1x mosfet driver(~0.5$)

1x wires (~3$)

1x power converter (~1$)

Total: ~14$ (without delivery)

(I recommend to use same supplier for faster delivery)

Also, you can optionally purchase:

1x servo (~3$) for more fine aiflow control

1x thermo probe (~7$) for food(meat) temperature control. You can connect up to 8 probes.

wiring

BEFORE ASSEMBLING!!!

Don't connect your motor to power converter. First you need to adjust output voltage to 12V. Using multimeter adjust voltage regulator on the blue box.

Software

first, you need to add to your arduino SerialCommand library

next, flash an arduino using this repository/arduino/BBQController/

next, open serial monitor (baud 115200) and type any of commands below:

  • target - set target temp to specified value, this command start temperature controller, example: "target 110" - set the target temp to 110С or "target 0" - disables temperature controller

optional, manual managment commands:

  • temp - print current temp from all sensors
  • servo - move servo to specified angle
  • damper - open or close damper, position value between 0.0(closed) and 1.0(fully opened)
  • motor - powers the blower, power value between 0.0(disabled) and 1.0(full power)

This is enougth! You can setup your arduino controller, all values will be stored in EEPROM(energy independent memory). So, set the target temp to 110C (for brisket) and use great and cheap temperature controller.

I think, that we don't need to setup an additional display for arduino controller (Maybe I'll change my opinion in the future). If you need display or some kind of user interface to this arduino controller, let's go to part 2!

Part 2. Orange PI + cloud monitoring

wiring

Hardware

I recommend to use an orange pi lite (~12$).

Software

As I say before, I don't want to setup direct display with some buttons on arduino. Because everyone already have display! We will use your phones and tablets! And, of course, internet!

So, after you setup your PI (you can use one of thousands instructions from internet), you need to setup python3 and required packages, just type in the pi terminal the commands below:

apt-get install python3

apt-get install python3-pip

pip3 install requests

pip3 install telebot

pip3 install pyserial

After installing, copy BBQer/cloudClient/bbqcontroller.py

BBQer/cloudClient/configuration_empty.txt

to your pi home dir, then, rename configuration_empty.txt to configuration.txt and fill required parameters

We will use telegram bot for sending commands to controller and receive information.

Cloud monitoring

I recommend to use corlysis.com , free account is enough for our temperature monitoring.

wiring

Setup database, than copy required db name and token to configuration.txt, than open grafana and import dashboard from grafana.json

Now, you can use your mobile phone to control your BBQ, view temperature graphs and receive notifications!

wiring