Monitoring the morning brew with the internet of things.
Do you want to know when your coffee is done brewing but are too lazy to walk over to see for yourself? Do you need to monitor your coffee pot when you are out of town? Probably not, but here is one solution to the non-problem. CLICK HERE to see if the coffee is hot, or keep reading to see how to make your own.
The coffee pot has a timer so you know when it starts brewing, but when is it done? I used a contactless infrared thermometer to measure the temperature of the coffee pot. The temperature sensor is connected to a ESP8266 microcontroller that uploads the measurements over wifi to adafruit.io’s online data service. Once the data is there, you can see it on your smartphone, set an alarm using IFTTT, or it can be monitored by other smart devices (an idea for the future.) I put the whole thing into a 3D printed case with some magnets and it sticks to the coffee pot and doesn’t look too bad. Adafruit has excellent tutorials so the software (using the Arduino IDE with ESP8266 Library) is just a combo of the temperature sensor demo and IOT demo.
Parts & Build
I used Adafruit’s TMP007 module, based on a TI thermopile sensor. It seems to read about 10 degrees F too high (at room temperature) but as I’m just looking to see if the coffee is hot or not I haven’t debugged this.
The sensor reading and internet-of-things is handled by a ESP8266 NodeMCU v1.0 board from ebay. Adafruit’s ESP8266 Huzzah would be a great choice too.
Wiring is simple- the sensor gets 3.3V and Ground from the ESP board, SDA goes to ESP GPIO4 , and SCL goes to ESP GPIO5 (following the arduino ESP8266 library documentation).
I designed an enclosure and 3D printed it. Two little magnets fit inside to hold the coffee sensor to the coffee pot. The STL files are linked below; or go to the GitHub repo.
The code is a mash-up of two examples from Adafruit:
- TMP007 Breakout tutorial (requires the adafruit TMP007 library)
- adafruitio_00_publish (requires the adafruit.io library)
The code is below. Note you also need the config.h file from the adafruitio_00_publish example (I didn’t include it because it has my wifi password and adafruit.io key).