

The PZEM-004T V4 (10A), manufactured by Peacefair (Part ID: PZEM-004T-10A), is a multifunctional energy monitoring module designed for AC circuits. It is capable of measuring key electrical parameters such as voltage, current, power, energy, frequency, and power factor. This module is widely used in applications requiring real-time energy monitoring, such as home automation, industrial equipment monitoring, and power management systems.








| Parameter | Value |
|---|---|
| Operating Voltage | 80V - 260V AC |
| Current Measurement | 0A - 10A |
| Power Measurement | 0W - 2.3kW |
| Energy Measurement | 0kWh - 9999kWh |
| Frequency Range | 45Hz - 65Hz |
| Power Factor Range | 0.00 - 1.00 |
| Communication Interface | TTL (3.3V logic level) |
| Baud Rate | 9600 bps |
| Accuracy | ±0.5% |
| Dimensions | 48mm x 23mm x 15mm |
The PZEM-004T V4 (10A) module has a 4-pin interface for communication and power. Below is the pin configuration:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VCC | Power supply input (5V DC) |
| 2 | GND | Ground connection |
| 3 | RX | UART Receive pin (connect to TX of microcontroller) |
| 4 | TX | UART Transmit pin (connect to RX of microcontroller) |
VCC pin to a 5V DC power source and the GND pin to ground.RX and TX pins to interface with a microcontroller (e.g., Arduino UNO) or a UART-to-USB converter for PC communication.Below is an example Arduino sketch to read data from the PZEM-004T V4 module:
#include <SoftwareSerial.h>
// Define RX and TX pins for SoftwareSerial
#define PZEM_RX 10 // Connect to TX pin of PZEM-004T
#define PZEM_TX 11 // Connect to RX pin of PZEM-004T
SoftwareSerial pzemSerial(PZEM_RX, PZEM_TX);
void setup() {
Serial.begin(9600); // Initialize Serial Monitor
pzemSerial.begin(9600); // Initialize communication with PZEM-004T
Serial.println("PZEM-004T V4 Energy Monitor");
}
void loop() {
// Request data from PZEM-004T
byte request[] = {0xB0, 0xC0, 0xA8, 0x01, 0x01}; // Example request packet
pzemSerial.write(request, sizeof(request));
delay(100); // Wait for response
// Read response from PZEM-004T
while (pzemSerial.available()) {
byte response = pzemSerial.read();
Serial.print(response, HEX); // Print response in HEX format
Serial.print(" ");
}
Serial.println();
delay(1000); // Wait 1 second before next request
}
No Data Received:
Incorrect Readings:
Module Not Powering On:
VCC pin is receiving 5V DC.Q1: Can the PZEM-004T V4 measure DC circuits?
A1: No, the module is designed specifically for AC circuits and cannot measure DC parameters.
Q2: Is it possible to reset the energy counter?
A2: Yes, the energy counter can be reset using a specific UART command as per the module's protocol.
Q3: Can I use the module with a Raspberry Pi?
A3: Yes, the module can be interfaced with a Raspberry Pi using its UART pins. Use a logic level converter to match the 3.3V logic level of the PZEM-004T.
Q4: What is the maximum cable length for UART communication?
A4: For reliable communication, keep the UART cable length under 1 meter. Use shielded cables for longer distances.
By following this documentation, users can effectively integrate the PZEM-004T V4 (10A) module into their projects for accurate energy monitoring and management.