Tweeting, Wireless, Ugly Drum Smoker (UDS) temperature controller using Android

FeaturedContest Winner

(Last updated: Oct. 2014. See last step for details on changes.)

This is the UDS Digital Supervisor, an Android app and hardware for remotely maintaining the temperature of your UDS like a thermostat. Your phone monitors the temperatures inside the UDS and adjusts a blower to keep the temperature to the setting you decide. Don't have a UDS? You can build one yourself!

What cool stuff can the UDS Digital Supervisor do?

The Supervisor app has the following functionality:

  • Maintains a constant temperature inside your smoker (duh).
  • Sounds an alarm if a thermometer temperature falls outside a configurable range. Very handy for overnight cooks so you can sleep worry-free.
  • Records the temperatures in a database and displays a graphical chart showing the progress of your cook.
  • Periodically tweets the status of your smoker so you can monitor your cook from anywhere in the world. Requires an internet connection (double duh). If you need something to put yourself to sleep you can follow my smoker's twitter account.
  • A companion app running on another Android device can monitor the Twitter feed and sound an alarm if there is an error. Go see a movie in peace knowing that your smoker is purring like a kitten in a basket full of warm socks.
  • Can monitor up to eight thermometers and measures in Fahrenheit, Celsius, or Kelvin.

How It Works

The app monitors the temperature using thermometers inside your smoker and compares it to your target temperature. If the temperature is too low the app will turn on a blower to force more air into the UDS, which will stoke the coals and increase the temperature. The app uses a PID algorithm to determine when to turn on the blower. Your phone uses Bluetooth to communicate with the hardware attached to the blower and the thermometers.


This project is made up of three main parts:

  1. Blower The temperature of the smoker is ultimately determined by the amount of air the coals get. The more air the blower pushes into the smoker the hotter it will get.
  2. IOIO controller The IOIO (pronounced yo-yo) is a microcontroller specially made for Android and acts as the connection between the blower/thermometers and the Android app. The blower and thermometers plug into the controller and it sends signals to your phone using Bluetooth. Check out the IOIO home page for more information.
  3. Android app The app monitors the thermometer temperatures and adjusts the blower speed accordingly by sending a signal to the IOIO controller. The app uses a PID algorithm to determine the correct blower speed. The temperatures and the blower speed are recorded in a DB (database) which can then be used to display a chart of the entire cook. The app is free to download and is Open Source, which means it will always be free.
1-40 of 72Next »
CivB1 month ago


I've just stumbled across this whilst looking for a way to automate my UDS using an Arduino or the HeaterMeter. I love what you've done, it's so much simpler and is definitely cheaper.

I was wondering if the webserver you removed in the latest version of the apk allowed the settings to be altered remotely? I realise I can get status updates by monitoring the twitter feed (do you have a preferred app for this out of curiosity?), however I'm hoping to be able to alter settings mid cook remotely as varying recipes may require.

Anyway thanks for the great work you've done already, it's much appreciated. As a novice to the UDS scene (it's only growing in Australia) I'm keen to learn how I can get the most out of it.

haddad1 CivB15 days ago

if you are using a rooted android device you can use an app called webkey to remotely control it.


Deeg (author)  CivB1 month ago

Thanks for the comments CivB :)

I never got the webserver working more than just returning the current temperature before turning to Twitter instead. My initial plan was to accommodate changing the target temperature but I've never needed it. Pretty much everything I cook is done at a steady temperature and most BBQers do the same. If there is enough demand for it I can look into it. I'd probably implement it via Twitter.

I added some functionality to the UDS to monitor the twitter feed (I see that I haven't updated the documentation; it's under the "Menu" button on the main page). It will monitor the feed and display the most recent message and temperature chart. It will sound an alarm if there hasn't been a tweet in 20 minutes or if the UDS notices an error with the temperatures. I use it on all my overnight cooks to warn me that something is wrong.

dmeans-12 months ago

I think that s so cool but can i use my samsung not 4

guybrush.th3 months ago

Could somebody please post a detailed picture of the Stereo Jack wiring? Everything works fine so far (power supply, temperature in app with sony experia)

I'm unsure how to connect the powerjack with the 825k transistor TIP41C and D11N4001 in the right way. In most pictures, this part is not clear to see

Photo 30.04.15 14 59 44.jpg
guybrush.th5 months ago

I'm having trouble finding a 830ohm resistor in germany

the link doesn't give away much information besides

825ohm 5watt resistor (which is confusing, 825 or 830?)


Deeg (author)  guybrush.th4 months ago

Hmmm...looks like allelectronics has updated their web site and the original link doesn't work any more. I'll fix that some day. Any resistor ~830 ohms will work fine. You can order the 820 1/4-watt resistor from this page: http://www.allelectronics.com/make-a-store/category/530200/resistors/1/4-watt-resistors/1.html

Great project I will be making one but I am wondering do you think it would be possible to use a wifi dongle instead of bluetooth ?

Deeg (author)  simon.czyzewski.57 months ago

The project as constructed must use a bluetooth dongle. The IOIO doesn't support wifi that I know of and even if it did the code would have to be rewritten.

hey i installed the new version you put up the 1.2 but how do i get to the settings now my action menu button part were i could get to settings before is gone?

Deeg (author)  g00se_is_l00se9 months ago

The settings UI hasn't changed so it should work the same as before. At least one other person has used 1.2 and didn't mention any problems with the UI. If you still have problems send me a PM and I'll give you my email so you can send me the logcat.

I just put up a new version of 1.2 with some bug fixes so you may want to try that.

I feel like i am missing something about how to get to the settings. It use to be in the bottom right corner now its no longer there and i dont know how to get there to access the twitter settings.


I'm having trouble setting up the twitter part do i put the @xxxx or just my twitter account name like xxx and i have the api key and api secret access token and token secret but i cant seem to get it to tweet. There isn't much on instructions on setting up the twitter part. Do I need to do more on the account or is it suppost to be as simple as plug in token secret tokent api key and secret api key?

I have the same problem, what is mean with api key and api secret access token and token secret?

How do i get to the action button on the new andriod 4 were it use to come up and say settings when i was using my tablet its andriod 3 were all the twitter info goes? Its no longer gives me the option on the 1.2 vesrion to access it like this?

Deeg (author)  g00se_is_l00se9 months ago

g00se, can you send a screenshot? I'm using the UDS on Android 4.4.4 (Nexus 7) without any problems.

Deeg (author)  sascharr9 months ago

You need to register UDS as an application in Twitter. Here are the step-by-step instructions: http://iag.me/socialmedia/how-to-create-a-twitter-...

The "Website" (step 5) can be anything and leave "Callback" blank. On step 7 select "Read and Write". Step 8 will show you the keys that you need to put into UDS.

Did you get your Twitter already running, goose? i did it once and until now not again.

Deeg (author)  g00se_is_l00se9 months ago

Use just your Twitter account name (e.g. "deegsmoker") for the Twitter handle. If you believe you've set it up correctly and it's still not tweeting then send me your logcat and I'll take a look.

From what i have found twitter changed whats acceptable to post for security reasons

Deeg (author)  g00se_is_l00se9 months ago

Update: I'm working on this but I've updated a few dependencies and I'm working through some DB problems.

Nice to hear, my coding is pretty bad im you are taking your time to update it to make it compatible. I am putting the finishing touches onto my controller.

Deeg (author)  g00se_is_l00se9 months ago

I just put up a new version named uds-1.2-SNAPSHOT.apk. Try it out and let me know if you have problems.


Thx you for your time and great build and help I ran Catlog and I'm getting a error when it trys to update to twitter code 92 its ssl required.

sascharr made it!9 months ago

Ready!!! Hope I can fix the Twitterproblem soon :-)

Any problems with the IOIO-OTG board? I had to order a new board and it seems I ordered the last original IOIO board available on eBay.

My ID10t tip is don't put Vin across the analog I/O pins. :-(
I use the OTG without any problems at the moment.
Deeg (author)  jschlager9 months ago

Ouch! I feel your pain--I accidentally swapped the power pins and fried my IOIO. The UDS works with the IOIO-OTG just fine. At least one person has used the OTG.

sascharr sascharr9 months ago
Twitter works! :-)))))
Deeg (author)  sascharr9 months ago

Nice work Sascha and thanks for the pictures! I like how you have an external jack for the bluetooth dongle. That probably helps with the range. Now you'll have to post a picture of some good German BBQ.

jschlager10 months ago
Software works on Galaxy Note 3 and OnePlus One.

Bluetooth tip: Turn up/down the current going to the USB port using a small screwdriver.

I am trying to use a PC case fan. I will update since I am still waiting for parts.
Deeg (author)  jschlager10 months ago

Thanks jschlager! What versions of Android OS are you using on those devices? I'll update the list.

jschlager Deeg10 months ago
Note 3 Android 4.4.2
OnePlus One Android 4.4.4
I also used an MPS6532 NPN transistor since that is what I had instead of the TIP41C. MPS6532 can handle 500mA fan was rated at 300mA at 12V. TIP41c is rated for 6 amps.
Deeg (author)  jschlager10 months ago

I've updated the table with your devices, thanks! It'll be interesting to see what kind of range you get with that bluetooth dongle. I haven't found anything yet that is consistent past 30 feet.

sascharr1 year ago


Just did my first wireing, but the Software shows negativ degrees and the therm has no influence on the temperature. Did anyone can help me? I add an picture of my wireing.



Deeg (author)  sascharr10 months ago

In case anybody is following along, we figured out the problem. My schematic incorrectly showed the thermometers being connected to the 5V pin. This has been fixed; the thermometers should be connected to the 3.3V pin.

Deeg (author)  sascharr1 year ago

You're wiring looks good to me. I have some thoughts:

1) Double-check and triple check your connections. If you have a multimeter verify that you have continuity between the wires and the IOIO. Also verify that you have continuity through the thermometer. The app is responding in a way that makes it look like no thermometer is plugged in so I'd check the thermometer wires first.

2) Are you using the right probes (thermometers)? The software is calibrated to work with just the the Maverick ET-73 probes.

3) Try connecting the thermometer to the other pins (e.g. 44 and 43) to see if they all read the same.

Good luck!

sascharr Deeg1 year ago

Hi Deeg!

1) See the Picture. The Software show's all the same temperature when i connect the other ports and there is no reaction when i connect the thermometer. Connection is given, i checked it with the multimeter :o(

When there is no connection to the IOIO ports 46-43, it shows 200 to 600


2) Yes, ET-73 probes

3) See the picture

At the moment i used a 9V 1A power supply, but that could not the reason for this problem, right? Maybe the IOIO is defect? Any other idea?

Thanks for your help.

Deeg (author)  sascharr1 year ago

Hello Sascha, have you had any luck in solving your problem? I've been updating the software and added the ability to use Celsius (or Kelvin!) instead of Fahrenheit. I hope to test it over the next few weekends. Once it passes I'll put up .apk file in the download page on Sourceforge.

1-40 of 72Next »