The PZEM-004T V3 is a multifunctional energy monitoring module manufactured by Peacefair. It is designed to measure key electrical parameters in AC circuits, including voltage, current, power, energy, frequency, and power factor. The module communicates via UART (Universal Asynchronous Receiver-Transmitter), making it easy to integrate with microcontrollers and other devices for real-time energy monitoring.
This module is widely used in energy management systems, home automation, industrial monitoring, and other applications where accurate measurement of electrical parameters is essential.
Below are the key technical details of the PZEM-004T V3 module:
The PZEM-004T V3 module has a 4-pin interface for power and communication. The pin configuration is as follows:
Pin Number | Pin Name | Description |
---|---|---|
1 | VCC | Power supply input (5V DC) |
2 | GND | Ground |
3 | RX | UART Receive (connect to TX of MCU) |
4 | TX | UART Transmit (connect to RX of MCU) |
The module comes with an external current transformer (CT) for current measurement. The CT has a maximum current rating of 100A and is connected to the module via a dedicated port.
Below is an example Arduino sketch to read data from the PZEM-004T V3 module using the SoftwareSerial library:
#include <SoftwareSerial.h>
// Define RX and TX pins for SoftwareSerial
SoftwareSerial pzemSerial(10, 11); // RX = pin 10, TX = pin 11
// PZEM-004T V3 communication commands
byte readCommand[] = {0xB0, 0xC0, 0xA8, 0x01, 0x01, 0x00, 0x1A};
void setup() {
Serial.begin(9600); // Initialize Serial Monitor
pzemSerial.begin(9600); // Initialize PZEM communication
Serial.println("PZEM-004T V3 Energy Monitor");
}
void loop() {
// Send read command to PZEM-004T V3
pzemSerial.write(readCommand, sizeof(readCommand));
delay(100); // Wait for response
// Check if data is available
if (pzemSerial.available()) {
Serial.print("Data received: ");
while (pzemSerial.available()) {
byte data = pzemSerial.read();
Serial.print(data, HEX); // Print data in hexadecimal format
Serial.print(" ");
}
Serial.println();
} else {
Serial.println("No data received.");
}
delay(1000); // Wait 1 second before next read
}
readCommand
array contains the command to request data from the PZEM-004T V3 module.No Data Received
Incorrect Measurements
Module Not Powering On
Communication Errors
Can the PZEM-004T V3 measure DC circuits?
What is the maximum current the module can measure?
Can I use multiple PZEM-004T V3 modules with a single microcontroller?
Is the module safe to use with high-voltage circuits?
By following this documentation, you can effectively integrate the PZEM-004T V3 module into your energy monitoring projects.