Update (1/30/18): This overview is no longer accurate. I had to modify my project plan after I discovered that my original idea already exists as a product on the market. Please see my post about this change of plans here.
The Problem:
When cooking for a large group of people, the pressure is on. Home cooks and professionals multitask to ensure every dish is ready to serve at the same time. Small mistakes can lead to cold or overcooked dishes, hangry guests, and wasted food.
When I’m cooking something that takes several hours, I waste time and energy when I have to constantly check the temperature of my oven, smoker, or grill. If I’m hosting a dinner party, I want to spend my time entertaining guests, not darting in and out to check on dinner. I want to be able to monitor my cooking temperature while I am doing something else, and I want to be alerted if I need to make an adjustment, so that I can concentrate on other tasks and cook everything to perfection.
This problem can be solved with a thermometer that can be monitored remotely and automatically. By delegating the task of monitoring cooking time and temperature to an internet-connected device, this mental overhead is significantly reduced.
Features:
Temperature acquisition: Ideally, the internal temperature of the food, as well as the temperature of the cooking apparatus, should be measured and recorded with a timestamp. The system should be able to measure multiple temperatures simultaneously from 0°F to 500°F and should have reasonable accuracy to around 3°F at common cooking temperatures.
Temperature monitoring: The chef should be able to know the current temperature at any time during cooking. It would also be valuable to know whether the temperature is currently rising or falling, so a historical presentation of temperature, such as a graph or chart, should be available during and after cooking.
Temperature alerts: The system should be programmable, so the chef can set desired temperature ranges and be alerted when the temperature leaves a desired range.
Remote monitoring: The system should enable the chef to monitor the temperature while not being physically near the food. Ideally, the chef should be able to monitor the cooking process when their hands are messy. The chef should also be able to monitor the temperature on their mobile device, such as on an emergency trip to the grocery store (assuming that the oven or grill has not been left unattended!).
Record keeping: The system should store temperature data and allow the chef to review and annotate it in order to analyze and improve their cooking method.
Ruggedizing: The temperature acquisition portion of the system should survive high cooking temperatures and should be reasonably weatherproof so that it can be used outside.
System Architecture:
To satisfy the feature requirements, I propose a system architecture composed of four main components: a Sensor Hub, a Cloud Back End, a Mobile App, and a Hands-Free Display.
Sensor Hub
This device is responsible for monitoring the temperature of the food and sending the data to the Cloud Back End. It will feature a weatherproof enclosure containing a Raspberry Pi and a custom PCB. The PCB will contain a multi-channel ADC and accompanying components to connect to the temperature probes. The Raspberry Pi will run Android Things OS (not Raspbian!), and a custom app will be installed. The Sensor Hub app will communicate with the ADC to acquire temperature samples, and it will upload this data to the Cloud Back End. The NXP NFC board will be used to receive WiFi credentials from and pair with the Mobile App. Once the Sensor Hub and Client App are paired, the devices will exchange data via the Cloud Back End.
Cloud Back End
The Cloud Back End is responsible for storing, distributing, and monitoring data. It will be built using the Firebase platform and will include a database and cloud functions. It will store all temperature data points as well as the user’s alert configuration. Every time a temperature data point is added to the database by the Sensor Hub, a cloud function will run to check it against the alert range, and Firebase Cloud Messages (push notifications) will be triggered as necessary.
Mobile App
The Mobile App is the main interaction point for the user. It will enable the user to monitor the temperature of each sensor connected to the Sensor Hub. The app will communicate with the Cloud Back End to receive temperature information and to configure alerts. When an alert is sent from the Cloud Back End, the Mobile App will receive it and will alert the user with a vibration and sound. The app will be installed on an Android smartphone with cellular data service to enable true mobile temperature monitoring.
Hands-Free Display
A second, always-on display provides a glanceable monitor for the chef. This can be placed in the kitchen so that the chef can quickly see the cooking temperature without touching their phone with messy hands. This device will be a second Raspberry Pi, and it will have the touch screen attached. It will run its own Android app, based on the Mobile App, that is optimized for its use case, and it will connect to and receive data from the Cloud Back End in the same way. This device is meant to be used indoors and will not need to be weatherproof.
Project Plan:
The first three components will be designed and built in parallel. The first milestone is a Proof of Concept that demonstrates the end-to-end data path for real-time temperature information. Once the prototype is functional, the PCB will be designed and fabricated, and additional user features will be developed. Lastly, the Hands-Free Display will be built and programmed using the existing data architecture developed for the Android Client App. Below is a breakdown of the tasks for each component.
- Sensor Hub
- Hardware component research
- Hardware prototyping
- Thermistor calibration
- Software development to enable proof-of-concept
- PCB design and fabrication
- NFC research and development
- Enclosure prototyping and assembly
- Cloud Back End
- Database architecture development
- Proof-of-concept development
- Integration with Sensor Hub application
- Integration with Android Client App
- Cloud function and alerts development
- Android Client App
- Proof-of-concept development
- Feature development
- Hands-Free Display
- Assembly
- Touchscreen integration with Android Things OS
- Feature development
Top Comments