BBQ cooker temperature controller with a Raspberry Pi and Arduino

No amount of effort is too much in the search for perfect BBQ. (Originally posted in June 2015.)

Goal: Read the temperature of a wood-fired BBQ cooker and actuate a fan to open the draft when the temperature gets too low. Also, read the temperature of the BBQ and fire an alert when it’s done. Scroll down for more information on the design.

Solution: Thermocouples are used to sense the temperature. A Raspberry Pi computer reads the temp values and controls the fan. It also provides a web page to view the current temperature and a graph of past temps. (The project is in progress, so only 1 thermocouple is shown in the picture.)

1. Thermocouple–operating range is something like -100 to +1300 degrees Canadian, I mean, uh, Celsius. Attaches to the system at #2.

2. MAX31855 thermocouple amplifier breakout board. The thermocouple voltage is very small and requires amplification for reliable reading, and requires analog to digital conversion. This board provides both.

3. Arduino UNO. Reads voltage values from the thermocouple via the breakout board. Connects to the Raspberry Pi (6) via USB.

4. Breakout board for connecting the GPIO header of the Raspberry Pi to external devices.

5. USB hub connected to the Raspberry Pi. Attached to the hub are the cable for the Arduino connection, a Bluetooth adapter, and a wifi adapter.

6. Raspberry Pi computer. It runs Linux and includes a web server.

7. Eight 125/250 VAC relays, up to 10 amps each. Only the first one is used, and is connected to the Raspberry Pi through the breakout board (4).