IoT – Bee Hive Weight Scale with Arduino

This Bee Hive Weight Scale project automates hive monitoring using sensors and microcontrollers. The system collects data from the hive and displays it on an I2C LCD. It also sends periodic SMS updates to the beekeeper using the SIM800L GSM module. Additionally, the system includes an option to send data over the internet, allowing beekeepers to access real-time hive conditions from anywhere.

Beekeeping plays a crucial role in agriculture and the environment, with bees contributing to pollination and honey production. Monitoring the hive’s weight, temperature, and humidity is essential for understanding colony health and honey production. Traditional methods of hive monitoring require frequent manual inspections, which can disturb the bees.

Bee Hives Weight Scale with Arduino IOT and SMS
Bee Hives Weight Scale with Arduino IOT and SMS

Objective of Bee Hive Weight Scale Project:

The primary objective of this project is to design an automated system for monitoring beehive weight, temperature, and humidity using an Arduino-based solution. This system helps beekeepers track hive conditions remotely by displaying data on an LCD screen and sending updates via SMS. Additionally, an optional feature allows the data to be sent to an online platform for remote access. This monitoring system ensures optimal hive health, honey production tracking, and early detection of issues like swarming or theft.

Components used in Bee Hive Weight Scale Project:

Arduino UNO – The central microcontroller to process and display data.

Load Cell with HX711 Amplifier – Measures the weight of the beehive.

DHT22 Sensor – Measures temperature and humidity inside the hive.

SIM800L GSM Module – Sends SMS alerts with weight, temperature, and humidity data.

I2C LCD Display (16×2 or 20×4) – Displays real-time data on-site.

Power Supply (12V battery with voltage regulator or solar panel) – Provides power for continuous operation.

Working Principle of Bee Hive Weight Scale Project:

Weight Measurement

  • The Load Cell senses the weight of the beehive and sends an analog signal to the HX711 amplifier.
  • The HX711 converts the analog signal into a digital signal and sends it to the Arduino for processing.

Temperature & Humidity Measurement

  • The DHT22 sensor continuously monitors the temperature and humidity inside the beehive and provides digital readings to the Arduino.

Data Display

  • The I2C LCD displays the latest readings of weight, temperature, and humidity in real-time.

SMS Alert System

  • The Arduino processes the sensor data and formats it into a readable message.
  • The SIM800L GSM module sends this data via SMS to a predefined mobile number.

Internet Data Transmission (Optional)

  • If an internet connection is available (via Wi-Fi or GPRS), data can be uploaded to an online server or cloud platform (e.g., ThingSpeak, Firebase, or Blynk).

Features of Bee Hive Weight Scale Project:

  • Real-time Hive Monitoring – Live data is displayed on the LCD.
  • Remote SMS Alerts – Beekeepers receive hive updates on their phone.
  • Internet Connectivity (Optional) – View hive data online
  • Power Efficiency – Can be powered by a battery or solar panel for 24/7 monitoring.
  • Early Problem Detection – Alerts for hive weight loss (swarming, honey harvesting) or temperature/humidity fluctuations.
  • Data Logging – Helps in analyzing hive performance over time.

Circuit Diagram of Bee Hive Weight Scale Project:

The Load Cell & HX711 module connected to the pins (4, 5) of Arduino for weight measurement.

The DHT22 sensor connected to Pin 7 Arduino for temperature and humidity.

The I2C LCD module connected via I2C pins (A4, A5) for data display.

The SIM800L GSM module connected to 2 and 3 pins of Arduino for SMS communication.

Bee Hives Weight Scale with Arduino, Load Cell, HX711 Sim800L, LCD Circuit Diagram
Bee Hives Weight Scale with Arduino, Load Cell, HX711 Sim800L, LCD Circuit Diagram

Code for Bee Hive Weight Scale Project:

#include <SoftwareSerial.h>  //Libraries required for Serial communication, i²c communication, DHT11 and MLX90614
#include <Wire.h>
#include <HX711.h>
#include <DHT.h>
#include <LiquidCrystal_I2C.h>

#define DHTPIN 7  //DHT OneWire pin and its type
#define DHTTYPE DHT11

LiquidCrystal_I2C lcd(0x27, 16, 2);

// HX711 circuit wiring
const int LOADCELL_DOUT_PIN = 4;
const int LOADCELL_SCK_PIN = 5;

double Calibration = 0;  //put your calibrated value here
HX711 scale;

char Received_SMS;                    //Here we store the full received SMS (with phone sending number and date/time) as char
short DHT_OK = -1, LOADCELL_OK = -1;  //Used later it shows if there's the word "DHT"/"MLX" within the received SMS "-1" means they are not found

String Data_SMS;  //Here's the SMS that we gonna send to the phone number, it may contain DHT data or MLX data
double oneVal=0;
double averageVal=0;

SoftwareSerial sim800l(2, 3);  // RX,TX for Arduino and for the module it's TXD RXD, they should be inverted

DHT dht(DHTPIN, DHTTYPE);

float h;
float t;

void setup() {

  sim800l.begin(9600);  //Begin all the communications needed Arduino with PC serial and Arduino with all devices (SIM800L+DHT+MLX)
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();
  dht.begin();
  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);

  Serial.println("Starting ...");
  delay(3000);    //Delay to let the module connect to network, can be removed
  ReceiveMode();  //Calling the function that puts the SIM800L moduleon receiving SMS mode

  Serial.println("Before setting up the scale:");
  Serial.print("read: \t\t");

  Serial.println(scale.read());  // print a raw reading from the ADC

  Serial.print("read average: \t\t");

  Serial.println(scale.read_average(20));  // print the average of 20 readings from the ADC

  Serial.print("get value: \t\t");
  Serial.println(scale.get_value(5));  // print the average of 5 readings from the ADC minus the tare weight (not set yet)

  Serial.print("get units: \t\t");
  Serial.println(scale.get_units(5), 1);  // print the average of 5 readings from the ADC minus tare weight (not set) divided
                                          // by the SCALE parameter (not set yet)

  scale.set_scale(Calibration);
  //scale.set_scale(-471.497);                      // this value is obtained by calibrating the scale with known weights; see the README for details
  scale.tare();  // reset the scale to 0

  Serial.println("After setting up the scale:");

  Serial.print("read: \t\t");
  Serial.println(scale.read());  // print a raw reading from the ADC

  Serial.print("read average: \t\t");
  Serial.println(scale.read_average(20));  // print the average of 20 readings from the ADC

  Serial.print("get value: \t\t");
  Serial.println(scale.get_value(5));  // print the average of 5 readings from the ADC minus the tare weight, set with tare()

  Serial.print("get units: \t\t");
  Serial.println(scale.get_units(5), 1);  // print the average of 5 readings from the ADC minus tare weight, divided
                                          // by the SCALE parameter set with set_scale
}

Applications of Bee Hive Weight Scale Project:

Beekeeping Management – Monitor hive conditions remotely.
Swarm Prevention – Detects sudden weight loss (indicating swarming).
Weather Impact Study – Tracks how environmental conditions affect honey production.
Security Alerts – Weight loss detection may indicate hive theft or tampering.


Conclusion:

This Bee Hive Weight Scale with Arduino project provides an efficient solution for real-time hive monitoring. By integrating a load cell, temperature & humidity sensor, GSM module, and LCD, beekeepers can access hive data remotely and receive instant alerts if conditions change.

The project reduces manual inspections, improves hive management, and prevents potential problems like swarming, overheating, or theft. Additionally, the optional internet feature enhances monitoring capabilities by allowing online data access.

This system offers an innovative and practical approach to modern beekeeping, ensuring healthier colonies and better honey production.

Need This Project?

If you need this Project with or without Modifications or Customization then you can contact us through WhatsApp. We can deliver you this Project in the Following Ways.

Project Code:
we can provide you Project Code along with Zoom Assistant, through Zoom meeting for Setup of this Project or any other Arduino Project of your need.

Fully Functional Project with Hardware/Components Shipment:
if you can not make this project yourself then you can use this option. We will assemble the Project and will ship it to your Doorstep with Safe Packaging.

Learn More about the services we offer.

Leave a Reply

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

Facebook
YouTube