Saturday 20 February 2016

Monitor your fridge temperature

Ever wondered how efficient your fridge is?

Mine with a set point of 9 degrees needs to cool for 45 minutes(compressor on) and seems to keep the cold for another 45 minutes(compressor off). The temperature seems to oscillate ±1.5 degrees as you see in the pic.

I wonder how well other people's fridges perform. Should I change it? I wish everyone was posting their data! 

Here is a picture of my setup:

I am using a ESP8266 connected to an LM75 sensor. I am using a 5000mAh 3.7V battery connected through a step down voltage regulator to get 3.3V.

The device has been running for 37 hours thanks to using deep sleep. Every minute the ESP8266 was waking up, measuring the temperature, sending it to a server and then back to sleep. 

The consumption per wake up is: 5000mAh/37h/60 = 2.25mA

Just for laughs I'm going to elaborate on this server, it is just an old 'HTC Desire S' cellphone that is running Debian linux. This cellphone is now my cloud and it is running 24/7, it has installed PHP, nginx, mysql, samba, minidlna, ssh, avahi, and OpenVPN so I can connect remotely and have full access to everything. 

In order the deep sleep function I had to connect the XPD_DCDC with the reset pin, if you zoom into the ESP8266 you'll see the dirty hack (credits go to for the idea)

I find rather interesting what happened when the battery was running out of juice. The ESP seemed to work properly but the LM75 sensor was becoming more and more noisy

One would expect that the ESP would be the first one to notice the lack of power! The time stamps are generated in the server so this seems to imply that the ESP was doing its job at the right intervals.

If people show enough interest I will tidy up the code and upload it to github.


  1. Hi! Your post is interesting at several levels ...

    First, it seems you want to monitor the temperature of your fridge. And your setup is interesting (and damn simple, in these times where the starting point is usually an Arduino). When measuring the temperature every minute, you were able to observe the period of your compressor. But do you really *need* to go down to that level of detail? In the CDC guidelines for storage of vaccines (ok, something diametrically opposed to an everyday fridge in terms of requirements) [1] the minimum frequency is one reading every 15 minutes. If the ESP wakes up every 15 minutes, would you be able to save energy and keep a log for about 23 days (37 hours * 15 ; I guess it's not that linear)?

    But you also mention the notion of efficiency. We miss the brand and model of your fridge, as well as the setting you might have used (at which temperature is your main compartment? how many times did you open the fridge in 37 hours? for how long each time?). But how will you define/measure efficiency? Stability of temperature reading? Slope of temperature going up/down? Energy consumption per cycle? But I definitely agree there is very little data online.

    One last question: what software did you use to display the data? It looks like you took screenshots from an interactive (online?) tool ...


  2. Hi Jepoirrier,

    This was just an exercise several things:
    1) have a ESP measure data and send it to a web server.
    2) have the web server store the measurement into a MySQL database
    3) have the webserver display the data in a nice and interactive way.

    I don't really need to measure the temperature every minute but I did want to stress the ESP. I did not open the fridge at all, each time you open it you see a small bump in the temperature graph.

    This was just a silly project to learn a bunch of things, I am not that serious about measuring my fridge perf :)