Arduino ThingShield Fridge/Freezer Monitor

Having lost a lot of food and beverages when my previous garage refrigerator failed, I have been a little paranoid about it happening again. For the past few years I have been using a temperature monitor that integrates with a La Crosse weather station I bought. But this solution has been very limited and is mostly false positives and has an annual fee. I get alerted via email when my children go raiding the freezer for ice cream as an example.

I recently bought an Arduino and decided to tackle something to alert me based on my criteria instead. Thus the Fridge Monitor was developed. I would assume others in the Community live in areas with warm summers or have young children so I thought I would share this project.

Parts you will need:

  1. Arduino Uno R3 -
  2. SmartThings Shield for Arduino -!/products/smartthings-shield-arduino
  3. 2 DS18B20 Temperature Sensors -
  4. Breadboard -
  5. Power Adapter (any 9-12V will work) -
  6. 2 1/8" Shielded Stereo Phone Plug (optional but useful to easily disconnect the temp probes) - purchased at a local “rare” Radio Shack -
  7. 2 1/8" Stereo Panel-Mount Audio Jacks (optional but useful to easily disconnect the temp probes) - purchased at a local Radio Shack -
  8. 1 4.7k Resistor
  9. Wire - breadboard connectors or telephone/network wire
  10. Case - If you purchase the breadboard mentioned above, this fits perfectly in a case purchased at a local Container Store - 400ml box:
  11. Magnet Adhesive so it can be mounted to the side of the refrigerator

Wire Arduino to breadboard similar to the pictures. The following tutorial was used as a reference:

Please Note: Multiple DS18B20 can be hooked up to the same digital pin. In order to do this you will need to determine the serial numbers of the sensors. More details on how to do this can be found here:

The DS18B20 yellow data wire(s) should be between the wire to Arduino Digital Pin 10 and the 4.7k Resistor that is hooked up to 5V power:

Arduino Code:
Download the following Libraries and unzip into your Arduino/Library folder:

SmartThings IDE:

Here are the completed project pictures:
Top View in box:

Bottom View in box:

Side View where temp probes and power are hooked up:

All components hooked up



ok - no doubt, what you did is cool. But you are doing it the hard way. You did not explain your alarm criteria but you probably go by high temp for delay time (like 10 minutes). No? The fridge is already mostly dead when that happens, unless the thermostat stuck or the door’s open - still, that’s better than thawed-freezer-water-on-the-floor notification.

Typically when a fridge actually fails, it’s gradual (and power consumption goes way up). My fridge is dying, but it still maintains temperature. The duty cycle/percentage of runtime is increasing, and it’s now at 85-90%. Five years ago, it ran about 33%. You may guess correctly that when it gets to 100% that the situation/current settings will be unsustainable.

So you could monitor the KWH, divide it by the average power/KW, that gives you the hours of runtime, and compare that to the actual expired time to get the duty cycle. Aeon plugs make this easy to do from 1200 miles away (FYI schedule them to turn on every day).

You could also nicely log the runtime directly with a relay to your Arduino. Calculate the duty-cycle, alarm over 50% or something like that, then you have an early-warning of fridge trouble.

Otherwise If you chart your temperature, then you can eyeball the runtime of cooling to heating.

I’m trying to pick a new fridge now. It sucks! But not so bad as when the fridge is completely dead - mos’def.

1 Like

Snazzy solution. The SmartThings Multis also do well in the freezer.

Interesting approach thanks. Definitely something to consider. Given the 100 degree temps lately here, my fridge runs all the time so it would be interesting g to compare data.

One other reason I went with this approach is that sometimes the fridge/freezer is over stuffed and the door doesn’t close all the way. Then later I find the door wide open. This helps me control this situation as well.

1 Like

Very nice! :clap::clap::clap: