Have you ever wished you could know when something you put in the oven was done cooking? Maybe not 10 minute cookies but how about the 3 or 4 hour turkey roast? You might have used a gadget like a kitchen probe thermometer to monitor the temperature of food in the oven. Probe thermometers are great at measuring the temperature of cooking food, however there are a couple ways they can be improved. First, most probe thermometers (the inexpensive ones at least) can't be monitored remotely, so you need to be in the kitchen constantly watching them. Second, these thermometers only display the current temperature and don't give any prediction of when the food will be at a desired temperature.

This guide will show you how to build a thermometer that solves both the problems above. By using an Arduino and Adafruit CC3000 WiFi breakout, you can build a probe thermometer that logs temperature data to Amazon's DynamoDB cloud database service. With the temperature data in the cloud, you can monitor it remotely over the web, and even use the history of measurements to predict when the food will be ready!


Before you start it will help to familiarize yourself with the following guides:

You will also want to download and extract the two Arduino sketches in the following download link. These sketches will be used later in the guide to calibrate and run the thermometer hardware.

Why DynamoDB?


The motivation to use Amazon's DynamoDB for the cloud thermometer is driven by a few reasons:
  • Need a data store that supports appending new measurements to existing data. Because the Arduino only has a few kilobytes of memory, it's not feasible for the Arduino to download and update the entire history of temperature data. Unfortunately this rules out most file or blob storage services like Amazon S3, Google cloud storage, or Azure storage because they don't support appending to existing documents.
  • Need a data store that can be accessed without HTTPS. With only about 30 kilobytes of program space available, it's not possible to support a cloud service that requires secure HTTPS communication. Unfortunately this rules out Dropbox's blob and structured storage services.
  • Prefer a data store with simple APIs and authentication. DynamoDB has a somewhat complex signing process that requires multiple SHA256 hash computations. However this signing process is simpler than other data stores which require calling into separate authentication services or more to authenticate.
  • Prefer a data store that can be accessed directly from a web browser. This isn't a strict requirement, but it simplfies the visualization of temperature data by not requiring the use of an intermediary web service. Luckily DynamoDB support is a part of the recently released AWS browser javascript SDK.

Continue on to learn about the hardware needed to build the cloud thermometer.

This guide was first published on Nov 24, 2013. It was last updated on Nov 24, 2013.

This page (Overview) was last updated on Nov 21, 2013.

Text editor powered by tinymce.