Freezer Monitoring: Because Ice Cream Is A Dish Best Served Cold

This image created using GPT-4o on Poe using the prompt “picture of an upright freezer connected to a computer for temperature monitoring, together with a graph and an alarm siren. Suitable for a professional blog. Be humorous and use a vintage theme.”

[Scott Baker] wrote in to let us know about his freezer monitor.

After a regrettable incident where the ice cream melted because the freezer failed [Scott] decided that what was called for was a monitoring and alerting system. We enjoyed reading about this hack, and we’ll give you the details in just a tick, but before we do, we wanted to mention [Scott]’s justifications for why he decided to roll his own solution for this, rather than just using the bundled proprietary service from the white goods manufacturer.

We’re always looking for good excuses for rolling our own systems, and [Scott]’s list is comprehensive: no closed-source, no-api cloud service required, can log with high fidelity, unlimited data retention, correlation with other data possible, control over alerting criteria, choice of alerting channels. Sounds fair enough to us!

The single-board computer of choice is the Raspberry Pi Zero 2 W. As [Scott] says, it’s nice to be able to SSH into your temperature monitoring system. The sensor itself is the DS18B20. [Scott] 3D printed a simple case to hold the electronics. The other materials required are a 4.7k resistor and a power cable. The instructions for enabling the 1-wire protocol in Raspbian are documented in INSTALL.md.

When it comes time for programming, [Scott’s] weapon of choice is GoLang. He uses Go to process the file system exported by the 1-wire drivers under /sys/bus/w1/devices. He sets the Pi Zero up as an HTTP endpoint for Prometheus to scrape. He uses a library from Sergey Yarmonov to daemonize his monitoring service.

Then he configures his ancient version of Prometheus with the requisite YAML. The Prometheus configuration includes specifications of the conditions that should result in alerts being sent. Once that’s done, [Scott] configures a dashboard in Grafana. He is able to show two charts using the same timescale to correlate garage energy usage with freezer temperatures. Mission accomplished!

Now that you know how to make a freezer monitor, maybe it’s time to make yourself a freezer.

22 thoughts on “Freezer Monitoring: Because Ice Cream Is A Dish Best Served Cold

  1. The project seems a bit overboard for one analog signal. I just use a thermistor and a 8-bit MCU, beeper does fine. Perhaps an Edison would be better lol.
    Something not utilized in the blog, that I do in commecial HVAC product F/W is look at the cycle times and the slope of the temperatures, to forecast a problem. You don’t know freezer thermal load (how much warm food got put inside) but can still see if something is cutting out, the compressor having troubles starting, someone left the door open, condensor needs to be cleaned, defrost needed etc.
    I dislike the project’s temperature sensor taking hours to settle down. That seems like it is poorly located. Way too slow.

  2. The use of a Pi seems so overkill for this.
    Maybe they had one knocking around in a drawer and felt the need FIND a use for it even if it wasn’t the best choice? I know I’m guilty of that.

    Wouldn’t a ‘fancy’ ESP32 board with an SD slot have been just fine?
    I know I also have plenty of those in a drawer since you can get a handful (5x or more) from AliExpress for less than $20 shipped.
    (ESP-CAM boards have SD slots. And you don’t HAVE to use the camera…)
    And that assumes you actually want the logging to be local. But do you?

    But I digress.

    Too bad the original author uses GenAI.
    That’s an automatic nope from me.

  3. So, just how is he monitoring the freezer temperature with this? Running the DS1820B’s wires underneath the door seal will ensure the seal doesn’t properly keep cold air in. He could drill into the side of the freezer, but that seems overkill.

    Unfortunately, he left this little detail out.

    1. For my deep freeze temp sensor I used some very fine ribbon cable with some of the tape they use to shrink wrap boats over it. IR camera doesn’t indicate any leaks, which doesn’t mean there aren’t any but if there are they are likely negligible.

      1. Checking the comments before reading the article, but I’m saddened that this crucial detail was left out. I have my freezer monitored too**(see below) and I passed thin single-wire strands through the door seal, then covered it with electrical tape to try and flatten it out. Still, there’s ice forming around that point, which means it is not forming a good seal.

        I may end-up drilling on the back of the freezer. I though about passing the sensor wires through the water drainage pipe that collects the runoff from the defrost cycle, but that is a bit narrow and I worry the wire might lead to the possibility of clogging there.

        ** with an ESP8266 running ESPHome and the data going into Home Assistant. In good “keep it local” fashion, even if HA is not running, the ESP has a buzzer and plays a tune if the temp is high for >5min. But HA allows for nicer things, like phone notification.

  4. Living in hurricane country losing a freezer worth of food can be a multiple times a year loss, though this “alert system” wouldnt be of much use there.

    My cousin swapped the compressor from a $50 craigslist chest freezer with a $200 DC compressor from ebay, rigged up a Tesla Model S module with a charger and a buck converter. In total he has about $800 invested. A DC freezer the same size costs almost double that without having a week long power reserve.

  5. I agree with the above, using a Pi does seem a bit silly. A low power 8266 or esp32 would have been better – and you could get the temperatures with the ULP and only wake up the cpu (and wifi) if the temperature rose and an alert needs to be sent.. Would run off a 18650 for about a year or before charging again..

  6. If it’s just about preserving ice cream in the freezer against a breakdown, it’s pointless for me : the average lifespan of the ice cream I just bought is less than the survival time after a freezer malfunction.

  7. This seems like a perfect use case for a flex PCB. ESP32 or equivalent on top of the fridge/freezer, outside of the faraday cage, flexPCB with a DS18b20 on it run under the magnetic seal.

  8. i don’t get it. the freezer has a thermometer built into it that it uses to decide when to run the compressor. if the freezer is broken, it needs to be repaired. this device is just another thing that needs to be repaired when it breaks.

    i have ds18b20 temperature sensors scattered around my house talking via dallas one-wire to an stm32 board hanging off of one of the usb ports on my ‘basement server’ PC. i understand wanting to know temperatures, but it’s just another thing i have to fix (though its been a while since a kid or rodent has destroyed one, knock on wood)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.