Back to Parent

Outcome


Problem Statement

I designed this product for my husband, Carlos, who loves to drink tea but finds the process of making it somewhat inconvenient. We don't have a tea kettle in our house so he makes tea by boiling water in a saucepan on the stove. The process usually unfolds in the following steps:

  1. Place saucepan with water on stove and turn on heat
  2. Leave the kitchen and start another activity
  3. Return to kitchen to check if water is boiling
  4. Leave the kitchen and start an activity
  5. Lose track of time
  6. Return to kitchen to find that the water has been boiling for a while, sometimes for so long that the water level is too low and you need to add more water and wait again

Considering this problem, I set out to create an IoT device that would eliminate the need to keep checking the pot, the possibility that the water would begin to boil without Carlos' knowledge, and the resulting waste in water and energy.

Project Goal

They say “a watched pot never boils.” This product will eliminate this conundrum by sensing when water has reached a boiling point using a waterproof temperature sensor placed into the pot and alerting the user using a piezo buzzer. Once the user reaches the pot, they will be able to turn the alert on off using a switch. 

This IoT product will allow users to focus on other tasks while their water boils and will allow people to know when the water is boiling. This will save time, water from evaporation, and electricity / gas.  Additionally, this project could be adapted for other uses in the kitchen like cooking things on the stove or brewing beer.

Process

This was the first IoT project I attempted on my own. I found the experience challenging but rewarding when I was able to get components working.

Below are the components I used for input, output, and sensing (full bill of parts included below). I originally planned to use a button as the input, but after adding it to my circuit I quickly released that I needed a switch that could stay in place without someone pressing it.

  • Piezo Buzzer - PS1240 (output)
  • Single-pole, double-throw (SPDT) switch (input)
  • DS18B20 Sealed Temperature Sensor (sensor)

I built the circuit component by component, first building the code, then the accompanying physical circuit, and finally checking the serial monitor data to confirm that that piece of the project was working as planned. I did this first for the DS18B20 temperature sensor, then for the Piezo Buzzer, and finally for the SPDT.

Challenges

  • The Particle Dev application often returns errors initially when compiling code in the cloud and then on second try it accepts the code. Before I realized this, I spent a significant amount of time debugging code and the physical circuit unnecessarily.
  • I tried to add a more complex alert melody and was not able to incorporate the library and code into my existing code.

Learnings

  • Testing the functionality of my circuit proved to be good for usability testing as well. I learned needed some kind of holder for my IoT product (were I to use this day-to-day). Resting it on a knife was precarious given the PVC could melt and holding it above the pot defeated the purpose of the product.
  • Switches serve better as on-off switches than buttons.
Screen shot 2018 01 30 at 11.39.30 pm
Show Advanced Options
Screen shot 2018 01 30 at 11.39.18 pm
Show Advanced Options
Screen shot 2018 01 30 at 11.39.11 pm
Show Advanced Options
Screen shot 2018 01 30 at 10.22.21 pm
Show Advanced Options
Screen shot 2018 01 30 at 10.19.38 pm
Show Advanced Options
Screen shot 2018 01 30 at 10.56.49 pm
Show Advanced Options

Outcome

In this project, I was able to complete the prototype nearly as planned. The major difference was that I was not able to have the piezo buzzer play a song and instead had it play a simple alert. 

Potential next steps:

  • Make it so that switching the SPDT on and off immediately turns off the piezo buzzer and ends the main loop. With the current product, if the SPDT switch is turned off after the loop has started, a sound will play after the user has turned the switch off. This may lead to confusion and the perception that the product does not function well.
  • Add an LED to indicate when the loop is being run and information is being sent to the cloud.
  • Include a more complex song to alert (and delight) users when their water is boiling.
  • Send a text message when water is boiling in case the user is in another room and can't hear the alert.

Bill of parts:

  • Piezo Buzzer - PS1240 (output)
  • Single-pole, double-throw (SPDT) switch (input)
  • DS18B20 Sealed Temperature Sensor (sensor)
  • Photon
  • USB Micro B Cable (plugged into laptop for power / information transfer)
  • Resistor (4.7k Ohm pull-up)
  • Jumper wires (10)

Fritzing breadboard
Show Advanced Options
Show Advanced Options
Show Advanced Options

Reflection

Given that this was my first project, I felt happy with the product that I created. While the project was difficult for me, it was exciting to see that a small circuit board could have so many applications and solve common problems. Building this product opened my eyes to the fact that many of the IoT products we buy, despite their polished and well-designed exteriors, are ultimately a mix of inputs, outputs, and sensors. This project made me curious as to other potential applications for sensors in my day-to-day life.

In completing this project, I felt limited by two things: 1) my inability to parse out portions of more complex open source code (e.g. how I was unable to incorporate a song and instead opted for a tune with a few notes) and 2) my limited knowledge of ways to control and manage loops and sending information to the cloud. 

I am excited to work on these limitations in future projects so that I can become more comfortable with them and build upon the skills I've developed thus far. 

Drop files here or click to select

You can upload files of up to 20MB using this form.