Zbotic Logo Zbotic Logo
  • Home
  • Shop
  • Sale
  • 3D Print Service
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

  • Shop
  • About Us
  • Contact Us
  • Reseller
  • Blogs
020 69134444
1800 209 0998
[email protected]
Help Desk
Facebook Twitter Instagram Linkedin YouTube
Zbotic Logo Zbotic Logo
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

All departments
  • 3D Print Service
  • 3D Printer
  • Batteries & Chargers
  • Development Boards
  • Drone Parts
  • EBike parts
  • Sensor Modules
  • Electronic Components
  • Electronic Modules
  • IoT and Wireless
  • Mechanical Parts and Workbench Tools
  • Motors & Drivers & Pumps & Actuators
  • DIY and Robot Kits
  • Show more
  • Home
  • Shop
  • Sale
  • 3D Print Service
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
Return to previous page
Home Agriculture & Smart Farming

Cold Storage Monitoring: Temperature Alert with GSM Module

Cold Storage Monitoring: Temperature Alert with GSM Module

March 11, 2026 /Posted byJayesh Jain / 0

Cold storage monitoring using a temperature alert system with a GSM module ensures perishable produce remains within safe temperature ranges even during power failures and remote storage scenarios. India loses an estimated Rs 92,000 crore of agricultural produce annually due to inadequate cold chain infrastructure. This guide covers building a reliable cold storage monitoring system with DS18B20 temperature sensors, Arduino, and SIM800L GSM module for SMS alerts.

Table of Contents

  • Cold Chain Challenges in India
  • Temperature Sensor Selection
  • Components Required
  • Circuit and Wiring
  • Arduino GSM Alert Code
  • Multi-Zone Monitoring
  • Power Backup and Failsafe Design
  • Frequently Asked Questions

Cold Chain Challenges in India

India’s cold storage capacity (37 million MT) is severely insufficient for its 300+ million MT of perishable production. Key challenges include:

  • Frequent power outages in rural areas — average 4-6 hours/day in many states
  • No real-time temperature alerts — staff discover failures hours after the fact
  • Single-zone monitoring — hotspots within large chambers go undetected
  • Refrigeration compressor failures go unnoticed during nights and weekends
  • Regulations: FSSAI requires temperature logs for food safety compliance

An SMS-based monitoring system provides reliable alerts without internet dependency, critical in rural areas with poor WiFi but good 2G/3G coverage.

Temperature Sensor Selection

For cold storage (typically -25 degrees C to +10 degrees C), choose appropriately:

  • DS18B20: Digital 1-Wire, -55 to +125 degrees C, accuracy ±0.5 degrees C. Ideal for multi-point monitoring as multiple sensors share a single wire.
  • BME280: -40 to +85 degrees C, also measures humidity — useful for monitoring defrost cycles
  • PT100/PT1000 RTD: Industry standard for -200 to +600 degrees C, requires MAX31865 interface chip, highest accuracy (±0.1 degrees C)
  • SHT10: Temperature + humidity, suitable for blast freezer monitoring

Components Required

Related Products from Zbotic

  • GY-BME280 Temperature and Humidity Sensor — for ambient monitoring in entry areas
  • GY-BME280 5V variant — for 5V Arduino systems

Complete parts list:

  • Arduino Uno or Nano
  • SIM800L GSM module (with 2G SIM card — BSNL/Airtel 2G works in rural areas)
  • 4.7k ohm resistor (DS18B20 pullup)
  • 4x DS18B20 waterproof temperature probes (with 3m cable for cold room reach)
  • DS3231 RTC module (for timestamped logs)
  • MicroSD card module (for local data logging)
  • 12V 7Ah sealed lead-acid battery (backup power)
  • 12V to 5V DC-DC buck converter
  • Buzzer (local alarm)
  • LED indicators (red/green)

Circuit and Wiring

Connection summary:

  • All DS18B20 data lines -> Arduino D2 (1-Wire bus, shared via single wire + 4.7k pullup to 5V)
  • SIM800L TX -> Arduino D10 (SoftwareSerial RX)
  • SIM800L RX -> Arduino D11 (via 1k voltage divider to protect 2.8V SIM800L)
  • SIM800L VCC -> 4.2V (use 4xAA batteries or dedicated 4.2V LiPo — NOT 5V Arduino pin)
  • DS3231 SDA -> Arduino A4, SCL -> A5
  • SD card module: CS -> D4, MOSI -> D11, MISO -> D12, SCK -> D13
  • Buzzer -> D7, Red LED -> D8, Green LED -> D9

SIM800L is notorious for voltage sensitivity. Power it from a dedicated source capable of 2A peak (needed during GSM transmission). Use a 1000uF capacitor across SIM800L VCC/GND to stabilise during TX bursts.

Arduino GSM Alert Code

#include <OneWire.h>
#include <DallasTemperature.h>
#include <SoftwareSerial.h>
#include <Wire.h>
#include <RTClib.h>
#include <SD.h>

#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
SoftwareSerial gsm(10, 11); // RX, TX
RTC_DS3231 rtc;

// Alert thresholds for cold storage
const float TEMP_MAX_ALARM = 4.0;   // Above this = alert (e.g., potato cold store)
const float TEMP_MIN_ALARM = -1.0;  // Below this = alert (prevent freezing)
const float SENSOR_FAIL_VAL = -127.0; // DS18B20 returns this on failure

// Phone numbers to alert
String alertNumbers[] = {"+919876543210", "+919876543211"};
int numRecipients = 2;

bool alarmActive = false;
unsigned long lastSMSTime = 0;
const unsigned long SMS_COOLDOWN = 900000UL; // 15 min between repeat alerts

void sendSMS(String number, String message) {
  gsm.println("AT+CMGF=1"); // Text mode
  delay(500);
  gsm.println("AT+CMGS="" + number + """);
  delay(500);
  gsm.print(message);
  gsm.write(26); // Ctrl+Z to send
  delay(3000);
  Serial.println("SMS sent to " + number);
}

void sendAlertAll(String message) {
  for (int i = 0; i < numRecipients; i++) {
    sendSMS(alertNumbers[i], message);
    delay(2000);
  }
}

String getTimestamp() {
  DateTime now = rtc.now();
  char buf[20];
  sprintf(buf, "%02d/%02d/%04d %02d:%02d", now.day(), now.month(), now.year(), now.hour(), now.minute());
  return String(buf);
}

void logToSD(float temps[], int count) {
  File logFile = SD.open("coldlog.csv", FILE_WRITE);
  if (logFile) {
    logFile.print(getTimestamp());
    for (int i = 0; i < count; i++) {
      logFile.print(",");
      logFile.print(temps[i], 1);
    }
    logFile.println();
    logFile.close();
  }
}

void setup() {
  Serial.begin(9600);
  gsm.begin(9600);
  sensors.begin();
  rtc.begin();
  SD.begin(4);

  pinMode(7, OUTPUT); // Buzzer
  pinMode(8, OUTPUT); // Red LED
  pinMode(9, OUTPUT); // Green LED

  // Init GSM
  delay(2000);
  gsm.println("AT");
  delay(1000);
  gsm.println("AT+CMGF=1");
  delay(500);

  Serial.println("Cold Store Monitor Ready");
  Serial.print("Sensors found: ");
  Serial.println(sensors.getDeviceCount());
}

void loop() {
  sensors.requestTemperatures();
  delay(750);

  int sensorCount = sensors.getDeviceCount();
  float temps[8];
  bool hasAlarm = false;
  String alarmMsg = "COLD STORE ALERTn" + getTimestamp() + "n";

  for (int i = 0; i < sensorCount; i++) {
    temps[i] = sensors.getTempCByIndex(i);
    if (temps[i] == SENSOR_FAIL_VAL) {
      alarmMsg += "Zone " + String(i+1) + ": SENSOR FAILn";
      hasAlarm = true;
    } else if (temps[i] > TEMP_MAX_ALARM) {
      alarmMsg += "Zone " + String(i+1) + ": " + String(temps[i], 1) + "C HIGH!n";
      hasAlarm = true;
    } else if (temps[i] < TEMP_MIN_ALARM) {
      alarmMsg += "Zone " + String(i+1) + ": " + String(temps[i], 1) + "C LOW!n";
      hasAlarm = true;
    } else {
      Serial.println("Zone " + String(i+1) + ": " + String(temps[i], 1) + "C OK");
    }
  }

  logToSD(temps, sensorCount);

  if (hasAlarm && (millis() - lastSMSTime > SMS_COOLDOWN)) {
    alarmMsg += "Check refrigeration immediately!";
    sendAlertAll(alarmMsg);
    lastSMSTime = millis();
    alarmActive = true;
    digitalWrite(7, HIGH); // Buzzer
    digitalWrite(8, HIGH); // Red LED
    digitalWrite(9, LOW);
  } else if (!hasAlarm) {
    alarmActive = false;
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, HIGH); // Green LED
  }

  delay(300000); // Check every 5 minutes
}

Multi-Zone Monitoring

A single DS18B20 1-Wire bus supports up to 127 sensors on one Arduino pin. For a large cold store:

  • Place sensors at top, middle, and bottom of each chamber (temperature stratification in cold stores can be 2-5 degrees C)
  • Label each sensor by its unique 8-byte ROM address (printed in setup)
  • Create zone profiles: “potato” (2-4 degrees C), “apple” (0-1 degrees C), “frozen” (-18 degrees C)
  • Log data every 5 minutes to SD card for FSSAI compliance records

Power Backup and Failsafe Design

Power outages are the most common cold chain failure cause. Design for resilience:

  • 12V 7Ah sealed lead-acid battery provides 8-12 hours backup for Arduino + GSM
  • Auto-send SMS on power restoration: detect 5V supply drop via voltage divider on A0
  • Daily “all OK” heartbeat SMS at 8am to confirm system is alive
  • Watchdog timer in Arduino code to auto-reset on software hang

Frequently Asked Questions

Which 2G SIM card works best for rural cold storage alerts?

BSNL has the widest 2G coverage in rural India. Airtel and Jio also provide good coverage. Use a prepaid SIM with validity top-up plan. Disable mobile data to reduce monthly cost — SMS-only uses less than Rs 10/month for alert systems.

Can I monitor freezer temperature at -25 degrees C?

Yes. DS18B20 is rated to -55 degrees C. Use stainless steel probe variants (not basic black plastic) for frozen storage. Seal the cable entry point into the freezer with foam or silicone to prevent ice buildup around the cable gland.

How do I store temperature logs for FSSAI audit compliance?

Log every 30 minutes to SD card in CSV format with timestamp. Monthly, copy the SD card data to a PC and back up to cloud. FSSAI requires 2-year data retention for licensed cold storage facilities.

What happens if the SIM card loses signal?

Add a “heartbeat” check: if no SMS can be sent after 3 attempts, sound the local buzzer continuously. Also check GSM signal strength (AT+CSQ command) and log to serial. Place a repeater antenna if signal is consistently below 12 dBm.

Shop Cold Chain Monitoring Components at Zbotic

Tags: Arduino temperature monitor, cold chain India, cold storage monitoring, DS18B20 cold chain, food storage monitoring, SIM800L SMS alert, temperature alert GSM
Share Post
  • Facebook
  • Linkedin
  • Whatsapp
NFC vs RFID: Smart Card Access...
blog nfc vs rfid smart card access system comparison 599457
blog scada system setup beginners guide with free software 599477
SCADA System Setup: Beginners ...

Related posts

Svg%3E
Read more

Farm Drone Pilot Training: Course and Certification India

April 1, 2026 0
Table of Contents DGCA Requirements Choosing an RPTO Curriculum and Duration Costs Career Opportunities Practical Tips Commercial agricultural drone operations... Continue reading
Svg%3E
Read more

Crop Insurance Sensor: Weather Data for Claims India

April 1, 2026 0
Table of Contents How PMFBY Works Weather Data for Claims Claim-Ready Weather Station Documenting Damage Insurance Integration Cost-Benefit PMFBY protects... Continue reading
Svg%3E
Read more

Fertigation Controller: Drip Irrigation Nutrient Mixing

April 1, 2026 0
Table of Contents What Is Fertigation EC and pH Monitoring Automated Dosing System Nutrient Schedules Sensor Integration Economics Fertigation through... Continue reading
Svg%3E
Read more

Organic Farm Certification: Monitoring Requirements

April 1, 2026 0
Table of Contents Certification Process Monitoring Requirements Sensor Documentation Soil Health Monitoring Pest Management Records Cost and Premium NPOP organic... Continue reading
Svg%3E
Read more

Agri-Tech Startups India: Technology Partners for Farmers

April 1, 2026 0
Table of Contents India’s Agri-Tech Landscape Advisory Platforms Farm Management Companies Market Linkage Startups Precision Ag Startups Choosing Partners India’s... Continue reading

Add comment Cancel reply

Your email address will not be published. Required fields are marked

Facebook Twitter Instagram Pinterest Linkedin Youtube

Get the latest deals and more.

Download on Google Play Download on the App Store

Call us: 020 69134444 / 1800 209 0998

Monday - Saturday 09:30 AM - 06:00 PM
For Technical Supports Email: [email protected]
For Sales / Enquiries Email: [email protected]

  • My Account

    • Cart

    • Wishlist

    • Checkout

    • My Orders

    • Track Order

    • My Account

  • Information

    • FAQs

    • Blogs

    • Career

    • About Us

    • Contact Us

    • Payment Options

  • Policies

    • Privacy Policy

    • Terms & Conditions

    • GST Input Tax Credit

    • Shipping Return Policy

    • E-Waste Collection Points

    • Our Sitemap

© Zbotic.in is registered trademark of Moxie Supply Pvt Ltd – All Rights Reserved
Login
Use Phone Number
Use Email Address
Not a member yet? Register Now
Reset Password
Use Phone Number
Use Email Address
Register
Already a member? Login Now