A WiFi Meat Thermometer for the ESP8266
I barbecue a lot. But getting the meat to just the right temperature always stresses me out, and I'm prone to checking it way too often.
Why drop $50 to $100 on a Bluetooth-enabled meat thermometer when you can make something arguably better for pennies on the dollar?!
Actually, I just wanted to see if I could do it myself.
So here's this, which uses WiFi for connectivity and Blynk for an interface.
The stuff is in the box. Trust me!
- WeMos D1 Mini: This is basically a smaller NodeMCU dev board.
- K-type thermocouple probe, such as this
- MAX6675-based breakout board, such as this
- USB cable for power (to be used with USB wall adapter or whatever)
- Some watertight enclosure
- Assortment of M/F, M/M or F/F Dupont cables depending on your board's headers. I soldered female headers to the top of my D1 mini.
- (Optional) DHT22 (datasheet) breakout such as this for ambient temp and relative humidity
- (Optional) An itty-bitty breadboard such as this if necessary; the D1 Mini only has one exposed GND header
Wire it up and stuff it in the enclosure (see src/main.cpp
for pin mappings). Oh, yeah--drill some holes first.
I'm unsure if the pins are 5V tolerant or not; there is a 5V output on the D1 Mini, but I'm scared to use it, so I connected both breakouts to 3.3V.
Go get Blynk for your phone and make a Blynk app. This sketch uses virtual ports 7 and 8 for the main display and graph; it also uses virtual ports 0 and 1 for ambient temp and relative humidity, respectively.
Can you share Blynk apps? I don't know.
-
Clone this repo.
-
Install PlatformIO if you haven't already:
$ pip install platformio
-
Modify
src/meat.h
with your credentials. There's probably a better way to do this, but I am stupid about these things. -
Modify
platformio.ini
with any tweaks. I've built this for a WeMos D1 Mini, but it will likely work on other boards. If you can add support for another board, please send it my way! -
To build, execute:
$ platformio run
- To upload the sketch, plugin your device via USB (sorry, no OTA) and:
$ platformio run --target upload
src/main.cpp
is an Arduino sketch. See PlatformIO's docs for instructions on how to use this with various different IDEs; I used CLion.
© 2016 Christopher Hiller. Licensed MIT.