Remote Grill temperature controller with water pump and Bluetooth 4.0

Similar projects worth following
The goal of my project is to monitor and regulate the temperature of food on a grill. The project consists of hardware and mobile application.
Monitoring food temperature on charcoal grill with single thermometer is inaccurate, some products may be undercooked or burnt. In addition, various dishes may require different cooking temperatures. The device will read temperature of the dishes using up to six probes (thermistors).
The device and phone will communicate using Bluetooth Low Energy, the temperature of each probe will be presented in mobile application. The user will be able to set the alarm temperature separately for each probe.
Cooling is performed by spraying the liquid (i.e. water) over the product, using electric pump. The nozzle is mounted on a “pan and tilt” mechanism (two servos) allowing to control its direction. Using the Android app user can set coordinates for products (with laser pointer), spray selected products or whole grill.

I want to try, at least partially, to automate the preparation of food on a charcoal grill. When the dish begins burning we pour it with water or beer. Why not replace the human with a pump and a handful of electronic components? Yes, it’s about getting of the sunbed less (pic below).

The Device

Basic assumptions:

  • Arduino or Arduino-based microcontroller,
  • Battery powered,
  • NTC thermistors (6 pcs),
  • Communication via Bluetooth 4.0,
  • 2x servos, water pump, laser pointer

I made a prototype of the device as shield for Arduino. Recently I designed new circuit with implemented ATmega328P-AU. I will update build log as I receive boards and other components.

Temperature measurement

To measure the temperature I use probe from the kitchen thermometer. It is 100k NTC thermistor encapsulated in a metal spike with braided wire and 2.5mm mono jack plug. With an increase in temperature decreases the resistance of the thermistor and increases voltage read on the analog input of the microcontroller.

At the moment I have only one probe. Regarding the purchase options of such probes: replacement probes for “professional” bbq thermometers cost >10$/pcs, cheap thermometer with probe costs ~5$ - this is how I got my probe. However I didn’t want to buy another 5 thermometers just to get probes. I contacted with producer in China and they have sent me 5 probes as a sample.

The third pin on jack female connector is used to detect the probe. When the probe is connected the corresponding digital pin is in low state.

Communication via Bluetooth 4.0

To communicate between smartphone and the device I used HM-10 module based on CC2541 by Texas Instruments. This module operates at 3.3V, thus regulated 3.3V supply and conversion of Tx and Rx lines is required.

In the prototype I used HM-10 module on a circuit board, that allowed to connect it directly to Arduino at 5V. 

On new PCB board I added connector to this module, just in case. New board uses “raw” HM-10 module, voltage is supplied via 3.3V LDO regulator, 3.3V->5V via transistor and 5V->3.3V via voltage divider.

BLE module communicates with the microcontroller through UART interface. Android application sends 3-byte packet. The first byte contains id of command to be executed, the other two are its parameters. On the other hand, the hardware in one second intervals transmits a 6-byte packet, a decimal value of each byte is a direct temperature reading. When the probe is not connected the transmitted temperature equals zero.

Cooling system

I got a small water pump, powered by 3-12V. The pump draws about 1.5A, so I decided to power it from a separate power source. The prototype used a relay, new version turns pump on via transistor. To target product easier I added a laser pointer. I taped switch with electrical tape, so it’s continuously turned on. Then I broke the circuit between batteries and the cap and brought the wires out to be switched via transistor.

Two connected servos allow to control the direction of the nozzle (up, down, left, right). Servos work at 5V and are controlled via microcontroller using Arduino Servo library.

Mobile application

I wrote an Android application, which is based on  BLE example provided by Google and an Instructable made by danasf  (also using HM-10 module). 

Basic assumptions:

  • Android 4.3 or higher (for BLE compatibility),
  • Communication with hardware platform through Bluetooth 4.0,
  • Temperature display for each sensor,
  • Ability to set the temperature for automatic cooling,
  • Ability to set the targets (coordinates) for cooling,
  • Ability to cool (spray) selected targets and whole grill,
  • Option to hide non-connected sensors 

What’s next?

As I receive parts I will start putting together final version of this device. Expect frequent updates and many bugs. I will also upload project files, Arduino code etc.

By the end of August I would like to record and upload short clip of the device in action.

  • 1 × ATMega328P-AU Microcontroller, TQFP32-08 package + 16MHz crystal + tact switch
  • 1 × HM-10 Bluetooth 4.0 module, based on CC2451
  • 2 × LM1117S1 5V 5V LDO voltage regulator
  • 1 × TC1185-3.3V 3.3V LDO voltage regulator
  • 1 × IRFR9014PBF P-MOSFET, reverse polarity protection

View all 20 components

  • Test #1

    nerwal08/25/2014 at 01:16 0 comments

    I did first tests in Saturday. Some minor problems with calibration, as expected laser pointer is largely inaccurate past 10 cm distance. Also, the device doesn't work with beer, just foam everywhere...

    Here is a short video:

  • Tripod and probes (finally!)

    nerwal08/21/2014 at 01:00 0 comments

    I don't have access to photographic tripod and I decided spend money on beer instead of buying one. On the pictures below you can see tripod I made of scraps of wood in 40 min. It works.

    Also, I finally received 5 probes from China!

    Next step: video of working device (with sausages etc.). Expect new video after weekend.

  • Almost done!

    nerwal08/19/2014 at 01:30 0 comments

    We had national holiday last friday and I had very little time to work on this project (I wish I had it done by then).

    Shape of the pump, it's connectors and extra battery pack made fitting the components inside the case a (small) challenge. In previous version of this project both water pump and it's batteries were simply glued to the back of the device.

    I made short 2-minute video describing the project and showing how it works (in garage). I will post it in the description section. I had to skip a lot of footage to meet ~2 min requirement, if I won't receive temperature probes this week I'll upload it, as it is always better than nothing.

    Next step: tripod and bottle holder

  • Soldering wrap-up

    nerwal08/12/2014 at 22:31 0 comments

    I did most of the soldering today. I failed at ground plane while designing the PCB, GND pin of: ISCP, 3.3V LDO and status LED were not connected. I thought DRU provided by fab house would check that, my bad.

    Another problem I found 3 days after placing the order is that transistors used for turning on water pump and laser pointer are not connected to the ground. 

    So, 5 jumpers, I should probably stop calling this a 'final version'.

    Using Arudino Uno I uploaded bootloader to new device. After uploading sketch I briefly tested bluetooth connectivity, controlling servos and switching on water pump, so far no problems.

    Next step: fitting stuff back into box.

  • New boards have arrived!

    nerwal08/12/2014 at 00:07 0 comments

    I received package from today. My order included LEDs, transistors, voltage regulators, Atmega328P-AU, bluetooth module and PCBs(!). I had to pick it up personally at postal office, apparently the outer (paper-ish) layer of air bubble envelope was damaged. After quick inspection, I think that nothing is missing. 

    10pcs 2-layer boards with dimension up to 50x100mm cost 10.99$. They have also summer discount, where you can get 100x100mm board at that price. With 10$ standard shipping I got my order in ~12 days. 

    The package arrived from China. On the board I checked there were no shorts or disconnected paths. Together with parts from I have almost complete part list. 

    Time for some soldering! Also, I'm still waiting for the probes, I hope they will arrive in time.

  • Schematic

    nerwal08/09/2014 at 22:21 0 comments

    This is schematic of new version of my device. The prototype was just a shield for Arduino Uno, new version is standalone. The microcontroller is based on Arduino Mini with Atmega328P-AU.

    ICSP and FTDI headers are included to burn Arduino bootloader and upload sketches. UART can be switched between FTDI header and HM-10 module via two jumpers.

    It's designed for 3.3V HM-10 module without logic level converter or voltage regulator, however I included header for 5V version with level converter (which I'm sure that works).

View all 6 project logs

Enjoy this project?



Frank Vigilante wrote 04/03/2015 at 03:35 point

Awesome project! Automating food preparation is the wave of the future. There will come a day when McDonald's put the pen to paper and an automated Big Mac machine will be cheaper (in present value terms) than the labor to assemble the burger.

  Are you sure? yes | no

kobayashison wrote 09/05/2014 at 18:01 point
What about an infrared thermometer than the probes? Maybe with a simple algorithm to scan the targets in a smart way, infering the curve of heating of each one... Scaling up with the targets wouldn't be a problem!

  Are you sure? yes | no

nerwal wrote 09/07/2014 at 16:37 point
I started this project as simple 1-probe thermometer, which got later expanded to 6 probes as there are 6 analog inputs on Arduino. I considered IR briefly, however while grilling you need to read internal temperature, not the surface temperature. Besides, I was afraid of accuracy of the long distance measurement with heated air around and possibly smoke.
Now that I already have pan & tilt mechanism, adding IR sensor or even trying line-by-line thermal imaging is something I definitely want to try.
Sadly, I started my internship last week (also season is almost over), so there probably won't be any major updates until Spring :(

  Are you sure? yes | no

Sebastian Eichmann wrote 08/20/2014 at 10:48 point
Hi, could you upload your arduino program? I use the same bluetooth module in my project.

  Are you sure? yes | no

nerwal wrote 08/20/2014 at 13:08 point
Hi Sebastian, I added link to my Github. What about posting your project on #HackadayPrize : )?

  Are you sure? yes | no

Sebastian Eichmann wrote 08/20/2014 at 13:29 point
Thank you, grab a skull! You should really film how your device performs with BBQ, it could move your project few pages up on the list. @my project - I'm aiming for next edition.

  Are you sure? yes | no

Blecky wrote 08/16/2014 at 07:41 point
Ha I love the mobile app concept. This is certainly one way to enjoy an extra beer at a BBQ without being caught out.

  Are you sure? yes | no

Sean wrote 08/09/2014 at 16:02 point
This is an interesting take on the problem. I'm working on a similar project but by using a pid controller to control the air intake of my grill. My use case is for smoking so I'm working in the 100C temperature range.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates