About: Disclaimer: The author is not responsible for loss of life, limb or property. The author is not responsible for your actions. The author is not responsible for anything. In fact, the author is completely i...

I had made a Sous Vide controller and thought it might work well for my smoker too. All I really had to do was change the sensor form a Dallas 18B20 to a thermocouple. The Dallas sensor tops out at about 250 degrees Fahrenheit. This particular smoker is electric but the controller will work on charcoal fired ones too. You just use the relay to run a fan and motorized damper instead of the heating element.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Assembly

I had an old Serial Port Switch box lying around. I didn't bother to repaint the front panel and make it look nice like I usually do. I was probably too distracted form thinking about the smoked ribs I was gonna have this weekend....

I 3D printed a Bezel for the LCD display like on my other projects. It helps if you a bit off on your cutout's.

Step 2: BIG Solid State Relay

I have a bunch of these lying around from my mainframe service days. Same relay I used in the 3 Sous Vide Controllers I built. The only difference is this time it had to drive a 12.5A heating element. I grabbed a server CPU heat sink from an old chassis and used that. I also used a standard duplex outlet.

That pretty much filled the back panel.

Step 3: Arduino Compatible Controller

I made a custom Atmega 328P / MC 23017 controller board for the Sous Vide controllers. I used the same board here. I just used a wall wart clamped down for the power supply.

If you don't want to make your own controller the software is 100% compatible with the Adafruit RGB LCD Backpack mounted to an Arduino or Genuino Uno.

The software can be downloaded from here.

Step 4: Something to Smoke

RIBS. That's all I really wanted. I added a Turkey Breast to distract others while I gobble up the Ribs....

I used a simple dry rub of brown sugar and spices but they really don't even need that.

The Turkey got a Bourbon & Butter injection and a little of the leftover dry rub. I lost one soldier on that round. Luckily his big brother was on hand....

Step 5: The Hardest Part

The hardest part is the waiting. Just set the thermostat on the factory controller to Max and the SmokerDuino does the rest.....

After 3 hours I did open the box to refill the tray with more Apple Juice and bourbon...

I made a little Turkey gravy too. I'm still amazed at how long that blazed for.......

Step 6: Need Better Airflow

One of the many complaints about my smoker I read on the forums is it has poor airflow. I went to the local True Value and found a stove damper really cheap.

I could have just used a piece of 3 in stove pipe but I had these old side pipes on the scrap pile. Just had to slice em up enough to to get the nice chromed tip off.

The damper was a perfect fit. I drilled a hole for the shaft in the side of the pipe and then used a punch to locate the far side hole. That way I know it wont bind up.

Just have to drill a hole in the top and stuff it in......

Step 7: Whats Next ?

I will try the Charcoal smoker with this controller too. Just have to find a suitable fan to use.

I also want to try to make Bacon. There were some good instructables here during the Bacon Contest on how to make Bacon at home. As soon as I get some Prague powder and a pork belly look out....

Arduino All The Things! Contest

Participated in the
Arduino All The Things! Contest

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Candy Challenge

      Candy Challenge
    • Multi-Discipline Contest

      Multi-Discipline Contest

    14 Discussions


    Question 7 months ago

    How much temperature fluctuation do you have? +/- 5, +/- 10... I'm currently controlling mine with a PID. I'm trying to get it set so the temp control doesn't fluctuate as much.
    I guess mostly I'm wondering if this would be a better temp control than a PID


    1 answer

    Reply 6 months ago

    It uses the Arduino PID and PID AutoTune Libraries so it can hold within a few degrees but the problem is when you open the door to add chips or liquid. I like to keep a tray of apple juice in the bottom near the chips.....

    that drops the temp fast. I want a smoker that has a lower door for adding the chips. I may just have to add one...

    I saw a neat idea to make a smoker from a 2 or 3 drawer file cabinet.....


    2 years ago


    I wonder if you could help me out with another query, i have a Uno, a generic LCD 16 or 20 caracters, it was included in a parts package.

    I don't see what pins the buttons connect to in the code, my thought is to use the LCD i have along with 5 buttons like your setup. Will this work or do i need the Shield with buttons, if so where are the adressed in the .ino file??

    5 replies

    Reply 2 years ago

    Ok so I did some reading about the mcp23017, will this then work with the cheap lcd/12c extenders off of ebay, or does it have to be the adafruit version.


    Reply 2 years ago

    Hope I didn't make that more confusing......

    i can post the hello world test for the I2C but its a bit of work to use it in this project. Mostly the buttons and lcd library and init need to be changed...

    There is a two button press status screen you'll have to change or do without....


    Reply 2 years ago

    for the I2C ones usually the pin config is either of these pin combos for the cheapest ebay boards I buy.

    I just try them both.

    #include <LiquidCrystal_I2C.h>

    // set the LCD address to 0x27 for a 20 chars 4 line display

    // Set the pins on the I2C chip used for LCD connections:

    //LiquidCrystal_I2C lcd(0x27, 4, 5, 6, 0, 1, 2, 3, 7, NEGATIVE); // addr, EN, RW, RS, D4, D5, D6, D7, Backlight, POLARITY

    LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // addr, EN, RW, RS, D4, D5, D6, D7, Backlight, POLARITY


    Reply 2 years ago

    now for the buttons. the sainmart shields use a bunch of resistors to read the buttons off an analog pin. cant detect multiple buttons easily

    the adafruit uses individual mcp2017 pics for each switch. nice and multiple presses doesnt bother it.

    the i2C boards have no button hookup but I do use them a lot for displays. I even had to make a pin tester to trace out the wiring on the weirdo clones...


    Reply 2 years ago

    My code is specific to the adafruit rgb lcd shield or a clone of its schematic...

    Theres 3 ways to connect that LCD.

    Direct using a bunch of pins.

    using the MCP2017 port expander

    using and i2c expander which is usually a PCF8574 chip

    each way uses a different library and you still have to handle the buttons.

    direct is popular with clones like the sainmart LCD shield.

    the adafruit is a pretty solid board so I prefer it.

    Those I2C boards have a bunch of different wiring schemes and can give you headaches...


    2 years ago


    this might be a double post, the first one just disappearad.

    When looking up thermocouplers what i find is called type K would this work with the code?

    Also, i see that they want to sell an amplifier due to the 50µv/1°C might cause problems with disturbances etc. Any thoughts on that?

    1 reply

    Reply 2 years ago

    The ones I used are tyoe K that matches the amplifier I used which is a MAX6675..

    try searching for "thermocouple arduino" that should get you plenty of hits for a max6675 and matching thermocouple.

    there are a bunch on eBay around $5 in China or $10 in the US or so on ebay. not sure about sources in Sweeden

    if you dont mind waiting the chinese sellers are the ones I use. I just bought some of these:

    for a toaster oven project.

    Still a type K but a very short nose. I like the long nose ones for the smoker...

    like these:

    I think thats the one pictured in this ible....


    3 years ago

    I'm building an arduino controlled charcoal smoker too (for way too long already) and this seems interesting. Thank you!

    1 reply

    Reply 3 years ago

    I know what you mean. I've had projectes on my todo list for decades.....

    I'd love to see pictures of it.

    let me know when you publish your instructable....


    3 years ago

    I have been using an Arduino to power my wood-fired smoker for a couple years and it works pretty well. I used a fan from an old hair dryer and plumbed it into the smoker. For code I used the PID library and PWM'd the fan. Once I got the algorithm tuned it will hold it to within a couple degrees for hours on end.

    You should be able to do it for your charcoal smoker the same way. I had 10 PCB's made by iteadstudio and still have some of the PCB's that are unpopulated if you want one. Message me if you do.

    1 reply

    Reply 3 years ago

    Sounds pretty cool. I have a couple of squirrel cage blowers around I want to try with. So far the electric smoker does a decent job.

    I use 2x2 to 4x4 Apple wood chunks right above the element and they smoke up really well.