Freezer Failure Alarm

The other day I started thinking about our chest freezer and all of the hundreds of dollars worth of food that we have in there. What if it fails and goes unnoticed for a while? The freezer is getting older. Probably around 11 years old. I would hate for all of that food to ruin. Plus that’s a lot of money to loose if it does fail. So I started looking online for a simple freezer alarm thermometer.

What I found didn’t really stand out as something I would trust to do the job. Most of them were battery powered and the reviews had several complaints about how quiet the alarms were. Some even mentioned that the alarm would just stop after a few minutes. With our freezer being located in a basement I needed something reliable, loud, and that could just be plugged in. I definitely didn’t need yet another device that had to have batteries replaced every so often. So I just decided to build my own and post the results for anyone else in the same predicament.

Below is everything you should need to build your own Arduino powered freezer alarm. It operates like this. The temperature sensor is placed in the freezer with small gauge wires in order not to cause issues with the seal. When the temperature inside the freezer gets to 32°F/0°C or above the alarm sounds for 3 seconds and repeats every 13 seconds until the temperature drops below freezing. If the Arduino looses signal from the temperature sensor it will sound the alarm constantly.

It’s a very simple setup that with a little research and minimal skills you can build yourself. I will include everything that I did to build this device here, but you can modify it however you want. I know that everyone doesn’t have a 3D printer to print their own case, but you can just buy a project box enclosure and get the same results.

Parts:

  • ELEGOO UNO R3
  • DHT22/AM2302 Digital Temperature and Humidity Sensor
  • 4-Digit 7-Segment Display HT16K33 -Adafruit
  • 100dB Piezoelectric Buzzer
  • 24 Gauge Solid Wire
  • Solder/Heat-shrink Tubing
Wiring/Parts Layout
Schematic
3D Printable Case

Arduino Sketch

//freezeralarm (low temperature freezer alarm)
//by Adam (aparker@appforgeworks.com)
//2020.05.4 https://www.appforgeworks.com
//version 1.1

#include "DHT.h" //DHT sensor library - adafruit
#include <Wire.h> //wire library
#include "Adafruit_LEDBackpack.h" //adafruit unified sensor library
#include "Adafruit_GFX.h" //adafruit GFX library

int speakerPin = 3;
int length = 1;

#define DHTPIN 2 //DHT22 is connected to digital pin 2
#define DHTTYPE DHT22   //set the type of sensor

DHT dht(DHTPIN, DHTTYPE);
Adafruit_7segment matrix = Adafruit_7segment();

void setup() {
    dht.begin();
    matrix.begin(0x70);
    matrix.setBrightness(1);

}

void loop() {
  pinMode(speakerPin, OUTPUT);
  delay(2000);
  
  float t = dht.readTemperature(); //t = DHT temp

    if (isnan(t)) { //failure to read from DHT sensor alarm
      digitalWrite(speakerPin, HIGH);
    return;
    }
    
    if (t >= 0) { //alarm for temp above or equal to 0 celsius 32 fahrenheit
      digitalWrite(speakerPin, HIGH);
      delay (3000); //wait 3 seconds
      digitalWrite(speakerPin, LOW);
    }
    
    matrix.print(t*1.8+32); //display temp in fahrenheit
    matrix.writeDisplay();
    delay(10000); //wait 10 seconds
       
}

Files