Friday, 20 March 2026

IoT-Based Smart Energy Meter Using ESP32 with MQTT and SMS Alerts

Keeping track of electricity usage is becoming more important than ever, especially with rising energy costs and the need for efficient power management. But what if you could monitor your home’s energy consumption in real time and get alerts instantly when something goes wrong?

That’s exactly what this ESP32 based Smart Energy Meter Using IoT does. It combines real-time monitoring with remote access and SMS alerts, making it a practical and powerful project for both beginners and advanced users.

What This Project Does

This smart energy meter uses the PZEM-004T sensor along with an ESP32 to measure key electrical parameters like voltage, current, power, energy consumption, frequency, and power factor.

The ESP32 then sends this data to an MQTT dashboard, allowing you to monitor everything remotely from your browser. At the same time, the system displays live values on an LCD for local viewing.

The most useful feature is the SMS alert system. If the system detects abnormal conditions such as high voltage or unusual current flow, it immediately sends an alert to your phone using a cloud API. This adds an extra layer of safety and awareness.

Why Use the PZEM-004T?

The PZEM-004T module makes this project much easier compared to traditional sensors. It comes factory-calibrated and can measure multiple parameters without complex setup.

It supports:

  • Voltage (80–260V AC)
  • Current (up to 100A using CT)
  • Power and energy consumption
  • Frequency and power factor

Since all calculations are handled internally, the ESP32 simply reads the data through UART communication, making the system more reliable and accurate.

How the System Works

The working of this project is simple but effective.

The PZEM-004T sensor measures electrical parameters from the AC supply. A current transformer (CT) is placed around the live wire to detect current safely without direct contact.

The ESP32 reads this data continuously and processes it. It then sends the data to an MQTT broker, which updates the dashboard in real time.

At the same time:

  • The LCD displays values like voltage and current
  • The Serial Monitor shows debugging data
  • The MQTT dashboard shows live remote data

If any parameter crosses a defined threshold (for example, high voltage), the ESP32 triggers an SMS alert through the cloud API.

Why MQTT Is Used

MQTT plays a key role in this project. Unlike traditional HTTP, MQTT is lightweight and designed for real-time communication.

It offers:

  • Low latency for instant updates
  • Minimal bandwidth usage
  • Continuous connection without repeated requests

This makes it perfect for streaming sensor data in real time.

SMS Alert Feature

One of the standout features of this project is its SMS alert system.

Whenever an abnormal condition is detected, the ESP32 sends a request to the cloud API. The cloud then sends an SMS to your registered phone number.

For example:

  • High voltage detected
  • Sudden drop in current
  • Unusual electrical behavior

A cooldown mechanism ensures that messages are not sent repeatedly, keeping notifications controlled and meaningful.

Applications

This smart energy meter can be used in many real-world scenarios.

It is useful for:

  • Monitoring household electricity usage
  • Detecting electrical faults early
  • Managing energy in remote locations
  • Building smart home automation systems

It can also be expanded further for predictive maintenance and energy optimization.

Conclusion

The IoT Smart Energy Meter using ESP32 is a practical and efficient solution for real-time energy monitoring. It combines accurate measurement, remote access, and instant alerts in a simple setup.

By using MQTT for fast data transmission and adding SMS alerts for safety, this project goes beyond basic monitoring and becomes a complete smart energy solution.

Whether you’re a student, hobbyist, or someone interested in smart systems, this project is a great way to understand how IoT can make everyday systems smarter and more reliable.

Robotics Projects |Arduino Projects | Raspberry Pi Projects|

ESP32 Projects | AI Projects | IoT Projects  | Drone projects

Thursday, 19 March 2026

Send WhatsApp Messages Using Arduino UNO R4 WiFi – Simple IoT Alert System

Send WhatsApp Messages from Arduino Uno R4

Sending real-time alerts from your electronics projects has become an essential part of modern IoT systems. Whether it’s monitoring distance, detecting motion, or tracking environmental data, getting instant updates on your phone makes projects far more useful.

In this project we Send WhatsApp Messages using Arduino, without using a GSM module or complex APIs. Instead of dealing with SIM cards or expensive integrations, this method uses CircuitDigest Cloud WhatsApp API, allowing your Arduino to send messages over WiFi using a simple HTTPS request.

What This Project Does

The idea is simple. The Arduino reads data from a sensor, checks a condition, and sends that data to the cloud. The cloud then converts it into a proper WhatsApp message and delivers it instantly.

To demonstrate this, we use an HC-SR04 ultrasonic sensor. When an object comes closer than a defined distance (for example, 20 cm), the Arduino sends the distance value to the cloud, which then triggers a WhatsApp alert.

This setup creates a real-time proximity alert system that can be used for safety, automation, or monitoring applications.

Components Required

Whatsapp-API-Arduino-UNO-R4-Components-Used

The hardware setup is minimal and beginner-friendly:

  • Arduino UNO R4 WiFi
  • HC-SR04 Ultrasonic Sensor
  • Breadboard
  • Jumper Wires
  • USB Cable

The UNO R4 WiFi is important here because it has built-in WiFi capability, allowing direct internet communication.

How the System Works

The workflow is straightforward and happens in a loop.

First, the Arduino connects to your local WiFi network. Once connected, it continuously reads distance values from the ultrasonic sensor.

When the measured distance crosses a predefined limit, the Arduino prepares a small JSON payload. This payload includes details like your phone number, template ID, and sensor value.

The Arduino then sends this data securely to the cloud using an HTTPS POST request.

From there, CircuitDigest Cloud takes over. It verifies your API key, formats the message using a pre-approved WhatsApp template, and sends it to your registered phone number.

The key advantage here is that Arduino doesn’t directly talk to WhatsApp. The cloud handles all the complex parts like authentication, formatting, and delivery.

Circuit Connections

Whatsapp-API-Arduino-UNO-R4-Circuit-Diagram

The wiring is very simple and requires only four connections:

  • VCC → 5V
  • GND → GND
  • TRIG → Digital Pin 9
  • ECHO → Digital Pin 10

Once connected, the ultrasonic sensor can measure distances from about 2 cm up to 4 meters.

Arduino Code Overview

The code handles three main tasks: WiFi connection, sensor reading, and API communication.

First, the Arduino connects to WiFi using your network credentials. Then, it continuously triggers the ultrasonic sensor and calculates distance based on the echo time.

If the distance goes below the threshold, the code checks a cooldown timer to avoid sending too many messages. If allowed, it sends a request to the cloud API.

The payload includes dynamic values like the measured distance, which gets inserted into a WhatsApp message template automatically.

Testing the System

Once the code is uploaded, open the Serial Monitor to verify WiFi connection and sensor readings.

Place an object close to the sensor. When the distance drops below the set limit, a WhatsApp message will be sent instantly to your phone.

The message typically includes:

  • Device name
  • Event type (e.g., intrusion detected)
  • Measured distance
  • Location

The cooldown feature ensures that repeated alerts are not sent continuously.

Real-World Applications

This project can be extended into many practical use cases:

  • Intrusion detection systems
  • Smart parking alerts
  • Industrial safety monitoring
  • Home automation notifications
  • Distance-based automation triggers

Since it uses WiFi instead of GSM, it’s cost-effective and easy to scale.

Conclusion

This Send WhatsApp Messages using Arduino  is a great example of how IoT projects can be made smarter with cloud integration. By offloading complex messaging tasks to the cloud, the Arduino only focuses on collecting and sending data.

The result is a simple, reliable, and efficient system that delivers real-time alerts directly to your phone. With just a few components and minimal setup, you can add instant WhatsApp notifications to almost any Arduino project.

Robotics Projects |Arduino Projects | Raspberry Pi Projects|

ESP32 Projects | AI Projects | IoT Projects  | Drone projects


Monday, 16 March 2026

LiteWing ESP32 Drone with WiFi Camera – Live Video Streaming Upgrade


Flying a small drone is already fun, but adding a camera makes the experience even better. In this project, we upgraded the LiteWing ESP32 drone with a compact WiFi camera module so it can stream live video while flying. The idea to add Wi-Fi Camera to LiteWing ESP32 Drone is simple: keep the drone light, keep the setup easy, and still enjoy real-time aerial footage.

With this upgrade, the drone can transmit live video directly to a mobile phone. It’s perfect for hobby flying, experimenting with aerial views, or simply exploring how lightweight drones can capture video without the need for expensive camera drones.

The LiteWing ESP32 drone with camera uses a dual WiFi architecture. This means the drone’s flight control and the camera streaming work on two completely separate wireless connections.

The LiteWing drone creates its own WiFi network that your phone connects to for flight control. At the same time, the WiFi camera module creates another WiFi network for video streaming.

Because the control and video signals are separated, both systems run smoothly without interfering with each other. You can control the drone and watch live video simultaneously without lag.

LiteWing Drone Working Flow Diagram


Components Required

  • LiteWing ESP32 Drone
  • Dual WiFi Camera Module
  • 1S LiPo Battery (preferably high C-rating)



The LiteWing drone acts as the flight platform, while the camera module handles video transmission independently. A lightweight LiPo battery powers both the drone and the camera during flight.

How the Drone Camera System Works

This drone setup works using two independent communication channels.

The first channel is used for flight control. The LiteWing ESP32 creates a WiFi access point that allows your phone to connect through the LiteWing control app. From the app, you can control throttle, pitch, roll, and yaw.

The second channel is used for video streaming. The WiFi camera module also creates its own WiFi access point. Your phone connects to this network using a compatible camera viewing app.

Since both networks operate separately, the drone can fly smoothly while continuously transmitting live video. Think of it like using two different radio frequencies: one for controlling the drone and the other for receiving video updates.

WiFi Camera Module Details

For this project, we used a dual WiFi camera module originally designed for toy drones. The module includes two cameras that can capture video from different angles.

The cameras operate at 3.3V, but the module includes a built-in voltage regulator that allows it to accept up to 5V input. This makes powering the camera easy because it can be connected directly to the drone’s battery.

Another advantage of this module is its lightweight design. Since it is compact and simple, it does not significantly affect the drone’s balance or flight stability.

Hardware Connections

Hardware Connection Drone

One of the best parts of this project is how simple the wiring is.

The camera module only needs two connections:

  • VCC connected to the drone’s VBUS line

  • GND connected to the drone’s ground

There is no data connection required between the camera and the flight controller. The camera operates independently and handles its own WiFi video transmission.

Both the drone and camera are powered using a 1S LiPo battery.

Connecting the Camera to Your Phone

After powering the drone, the camera module automatically creates a WiFi network.

To view the live video feed:

  1. First, open the WiFi settings on your phone and connect to the camera’s network using the default password 12345678.
  2. Next, install and open a compatible viewing app such as WebCam or IP Camera.
  3. Once connected, start the camera feed in the app. You should now see the live aerial video streaming directly from the drone.

Meanwhile, you can switch back to the LiteWing app to control the drone.

Troubleshooting Video Noise

Sometimes the video feed may show noise or jitter when the drone motors start running. This usually happens due to voltage fluctuations caused by high motor current.

The easiest fix is to use a battery with a higher C-rating. A stronger battery can deliver stable current even when the motors draw sudden power, which helps keep the camera feed stable during flight.

Conclusion

Adding Wi-Fi Camera to LiteWing ESP32 Drone is a simple but powerful upgrade. With only a few extra components, the drone can stream live video while flying.

The dual-network design keeps flight control and video transmission separate, ensuring smooth operation without lag. This makes the project ideal for hobbyists who want to experiment with aerial video without investing in a costly camera drone.

Overall, this project demonstrates how small embedded systems can be combined to create a lightweight drone capable of real-time aerial monitoring and video streaming. 


Robotics Projects |Arduino Projects | Raspberry Pi Projects|

ESP32 Projects | AI Projects | IoT Projects  | Drone projects

Friday, 13 March 2026

DC Motor Speed Control Using GSM with Arduino – SMS-Based Motor Control

DC Motor Control Using GSM

Automation and remote control systems are becoming increasingly important in modern engineering. In many situations, operating machines manually is not always practical, especially in large industrial setups, agricultural fields, or remote locations. Remote control technologies help solve this problem by allowing devices to be operated from a distance without direct human interaction.

In this project, we build a DC motor speed control using GSM and Arduino. Instead of controlling the motor with physical switches, the motor can be operated remotely using SMS commands sent from a mobile phone. The Arduino receives these commands through a GSM module and controls the motor accordingly.

Components Required

This project uses several commonly available electronic components:

  • Arduino Uno
  • SIM800L GSM Module
  • L298N Motor Driver
  • DC Motor
  • Logic Level Shifter
  • Breadboard
  • Jumper Wires
  • External Power Supply
  • Arduino IDE
Components Required for the DC Motor Control Using GSM

The Arduino Uno acts as the main controller that processes incoming SMS commands and sends control signals to the motor driver. The SIM800L GSM module receives SMS messages from the user’s phone and forwards them to the Arduino. The L298N motor driver is responsible for controlling the speed and direction of the DC motor.

Because the GSM module and Arduino operate at different voltage levels, a logic level shifter is used to ensure safe communication between the two devices.

Circuit Overview

Circuit Diagram of DC Motor Control Using GSM

The circuit connects the Arduino, GSM module, motor driver, and motor together to create a complete control system.

The GSM module communicates with the Arduino through serial communication. When an SMS message is received, the module sends the message data to the Arduino. Since the SIM800L operates at a lower voltage level than the Arduino, a level translator is used to convert the signals safely.

The Arduino processes the received command and sends control signals to the L298N motor driver. The driver then supplies the required current to the motor and determines its direction and speed.

Motor direction is controlled through two input pins on the motor driver, while motor speed is controlled using Pulse Width Modulation (PWM) from the Arduino. A separate power supply is usually required for the motor and GSM module to ensure stable operation.

All components share a common ground connection, which is essential for proper communication between devices.

How GSM-Based Motor Control Works

The working principle of this system is simple and efficient.

When the circuit is powered on, the Arduino and GSM module are initialized. The GSM module connects to the mobile network and waits for incoming SMS messages. Meanwhile, the Arduino continuously monitors the serial interface for new data from the GSM module.

The user sends an SMS command from a mobile phone to control the motor. Each message contains a predefined command that represents a specific motor action.

For example:

  • FWD200Rotate the motor forward at speed level 200

  • REV150Rotate the motor in reverse at speed level 150

  • STOPStop the motor immediately

When the GSM module receives the SMS, it forwards the message content to the Arduino through serial communication. The Arduino reads the message and checks whether it matches one of the predefined commands.

If the command indicates forward rotation, the Arduino sets the input pins of the motor driver accordingly so the motor rotates in the forward direction. If the command indicates reverse rotation, the logic signals are reversed to change the direction.

For speed control, the Arduino generates a PWM signal on the enable pin of the motor driver. By changing the PWM duty cycle, the motor speed can be increased or decreased smoothly.

Using this method, the motor can be controlled remotely from anywhere within GSM network coverage.

Real-World Applications

GSM-based motor control systems have several practical applications.

  • Automated gates
  • Security barriers
  • Home automation systems 

Because GSM communication does not require internet connectivity, the system works reliably even in areas with limited internet access.

The DC motor speed control using GSM and Arduino project demonstrates a practical method for remotely controlling motors using SMS commands. By combining an Arduino Uno, SIM800 GSM module, and L298N motor driver, the motor’s speed and direction can be controlled without physical interaction.

This project also introduces important concepts such as GSM communication, PWM-based speed control, serial interfacing, and motor driver operation. With small modifications, the system can be expanded to control multiple motors or integrated into larger automation systems.

Overall, this project provides a simple and effective solution for remote motor control in real-world applications. 

Robotics Projects |Arduino Projects | Raspberry Pi Projects|

ESP32 Projects | AI Projects | IoT Projects  | Drone projects