/meat

A WiFi Meat Thermometer for the ESP8266

Primary LanguageCMakeMIT LicenseMIT

meat

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.

picture

The stuff is in the box. Trust me!

Components

  • 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

Build

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.

Blynk

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.

Installation

  1. Clone this repo.

  2. Install PlatformIO if you haven't already:

$ pip install platformio
  1. Modify src/meat.h with your credentials. There's probably a better way to do this, but I am stupid about these things.

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

  3. To build, execute:

$ platformio run
  1. To upload the sketch, plugin your device via USB (sorry, no OTA) and:
$ platformio run --target upload

Notes

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.

License

© 2016 Christopher Hiller. Licensed MIT.