Introduction: Smokerduino

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.

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....



    • Stick It! Contest

      Stick It! Contest
    • Pets Challenge

      Pets Challenge
    • Colors of the Rainbow Contest

      Colors of the Rainbow Contest

    We have a be nice policy.
    Please be positive and constructive.





    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

    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.

    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....

    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

    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...

    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...


    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

    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....

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

    1 reply

    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....

    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

    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.