Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use CT PZEM004T: Examples, Pinouts, and Specs

Image of CT PZEM004T
Cirkit Designer LogoDesign with CT PZEM004T in Cirkit Designer

Introduction

The CT PZEM004T is a multifunctional energy meter designed to measure key electrical parameters such as voltage, current, power, energy, and frequency. It is specifically built to work with current transformers (CTs), making it ideal for monitoring AC electrical systems. This component is widely used in energy management systems, industrial automation, and home energy monitoring applications. Its ability to provide real-time data makes it a valuable tool for analyzing energy efficiency and optimizing power usage.

Explore Projects Built with CT PZEM004T

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32-Based Smart Environmental Monitoring System with Relay Control
Image of SOCOTECO: A project utilizing CT PZEM004T in a practical application
This is a smart environmental monitoring and control system featuring an ESP32 microcontroller interfaced with a PZEM004T for power monitoring, relay modules for actuating bulbs and a fan, and an LCD for user interface. It includes flame, gas, and vibration sensors for safety monitoring purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Controlled AC Lighting System with Power Monitoring
Image of Smart Energy Meter: A project utilizing CT PZEM004T in a practical application
This circuit features an ESP32 microcontroller interfaced with a PZEM004T power monitoring module and a 4-channel relay module controlling multiple AC LED bulbs. The ESP32 uses GPIO pins to control the relays, which in turn switch the LED bulbs on and off. The PZEM004T is connected to the ESP32 for communication and to a current sensor for monitoring power consumption of the connected load through the relay contacts.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Smart Power Monitoring and Control System with Wi-Fi Connectivity
Image of SIM: A project utilizing CT PZEM004T in a practical application
This circuit is a smart power monitoring and control system using an ESP32 microcontroller. It features multiple sensors and components, including PZEM-004T AC modules for voltage and current measurement, DS18B20 temperature sensors, an LCD for display, and solid-state relays for controlling power outlets. The system is integrated with Blynk for remote monitoring and control, and includes pushbuttons for local interaction.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 and PZEM004T-Based Smart Light Control with Current Sensing
Image of Smart Energy Meter: A project utilizing CT PZEM004T in a practical application
This circuit is designed for monitoring and controlling AC loads using an ESP32 microcontroller. It includes a PZEM004T module for measuring voltage, current, and power, and a 4-channel relay module to switch three LED bulbs. The ESP32 communicates with the PZEM004T via UART and controls the relays to manage the connected loads.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with CT PZEM004T

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of SOCOTECO: A project utilizing CT PZEM004T in a practical application
ESP32-Based Smart Environmental Monitoring System with Relay Control
This is a smart environmental monitoring and control system featuring an ESP32 microcontroller interfaced with a PZEM004T for power monitoring, relay modules for actuating bulbs and a fan, and an LCD for user interface. It includes flame, gas, and vibration sensors for safety monitoring purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Smart Energy Meter: A project utilizing CT PZEM004T in a practical application
ESP32-Controlled AC Lighting System with Power Monitoring
This circuit features an ESP32 microcontroller interfaced with a PZEM004T power monitoring module and a 4-channel relay module controlling multiple AC LED bulbs. The ESP32 uses GPIO pins to control the relays, which in turn switch the LED bulbs on and off. The PZEM004T is connected to the ESP32 for communication and to a current sensor for monitoring power consumption of the connected load through the relay contacts.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of SIM: A project utilizing CT PZEM004T in a practical application
ESP32-Based Smart Power Monitoring and Control System with Wi-Fi Connectivity
This circuit is a smart power monitoring and control system using an ESP32 microcontroller. It features multiple sensors and components, including PZEM-004T AC modules for voltage and current measurement, DS18B20 temperature sensors, an LCD for display, and solid-state relays for controlling power outlets. The system is integrated with Blynk for remote monitoring and control, and includes pushbuttons for local interaction.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Smart Energy Meter: A project utilizing CT PZEM004T in a practical application
ESP32 and PZEM004T-Based Smart Light Control with Current Sensing
This circuit is designed for monitoring and controlling AC loads using an ESP32 microcontroller. It includes a PZEM004T module for measuring voltage, current, and power, and a 4-channel relay module to switch three LED bulbs. The ESP32 communicates with the PZEM004T via UART and controls the relays to manage the connected loads.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Home energy monitoring systems
  • Industrial power management
  • Renewable energy systems (e.g., solar inverters)
  • Smart grid applications
  • Electrical load analysis and diagnostics

Technical Specifications

The CT PZEM004T is a compact and efficient energy meter with the following key specifications:

Parameter Specification
Voltage Range 80V - 260V AC
Current Range 0A - 100A (with external CT)
Power Range 0W - 22kW
Energy Range 0kWh - 9999kWh
Frequency Range 45Hz - 65Hz
Communication Protocol UART (9600 baud rate)
Power Supply 5V DC (external power required)
Accuracy ±0.5% (under standard conditions)
Dimensions 48mm x 29mm x 21mm

Pin Configuration

The CT PZEM004T module has a simple pinout for easy integration into circuits. Below is the pin configuration:

Pin Name Description
VCC Power supply input (5V DC)
GND Ground connection
TX UART Transmit pin (connects to RX of MCU)
RX UART Receive pin (connects to TX of MCU)

Usage Instructions

Connecting the CT PZEM004T to an Arduino UNO

To use the CT PZEM004T with an Arduino UNO, follow these steps:

  1. Wiring the Module:

    • Connect the VCC pin of the PZEM004T to the 5V pin of the Arduino UNO.
    • Connect the GND pin of the PZEM004T to the GND pin of the Arduino UNO.
    • Connect the TX pin of the PZEM004T to the RX pin of the Arduino UNO.
    • Connect the RX pin of the PZEM004T to the TX pin of the Arduino UNO.
    • Attach the current transformer (CT) to the PZEM004T and clamp it around the live wire of the AC circuit to be measured.
  2. Install Required Libraries:

    • Download and install the PZEM004T library for Arduino from the Arduino Library Manager or GitHub.
  3. Upload the Code: Use the following example code to read data from the PZEM004T and display it on the Serial Monitor:

    #include <PZEM004Tv30.h> // Include the PZEM004T library
    
    // Create a PZEM004T object with RX and TX pins
    PZEM004Tv30 pzem(2, 3); // RX = pin 2, TX = pin 3
    
    void setup() {
        Serial.begin(9600); // Initialize Serial Monitor
        Serial.println("PZEM004T Energy Meter Example");
    }
    
    void loop() {
        // Read voltage
        float voltage = pzem.voltage();
        if (!isnan(voltage)) {
            Serial.print("Voltage: ");
            Serial.print(voltage);
            Serial.println(" V");
        } else {
            Serial.println("Error reading voltage");
        }
    
        // Read current
        float current = pzem.current();
        if (!isnan(current)) {
            Serial.print("Current: ");
            Serial.print(current);
            Serial.println(" A");
        } else {
            Serial.println("Error reading current");
        }
    
        // Read power
        float power = pzem.power();
        if (!isnan(power)) {
            Serial.print("Power: ");
            Serial.print(power);
            Serial.println(" W");
        } else {
            Serial.println("Error reading power");
        }
    
        // Read energy
        float energy = pzem.energy();
        if (!isnan(energy)) {
            Serial.print("Energy: ");
            Serial.print(energy);
            Serial.println(" kWh");
        } else {
            Serial.println("Error reading energy");
        }
    
        // Read frequency
        float frequency = pzem.frequency();
        if (!isnan(frequency)) {
            Serial.print("Frequency: ");
            Serial.print(frequency);
            Serial.println(" Hz");
        } else {
            Serial.println("Error reading frequency");
        }
    
        // Wait 1 second before the next reading
        delay(1000);
    }
    

Important Considerations

  • Ensure the current transformer (CT) is properly clamped around the live wire of the AC circuit. Incorrect placement may result in inaccurate readings.
  • The PZEM004T requires an external 5V DC power supply for operation.
  • Avoid exceeding the specified voltage and current ranges to prevent damage to the module.
  • Use proper isolation techniques when working with high-voltage AC circuits to ensure safety.

Troubleshooting and FAQs

Common Issues and Solutions

  1. No Data on Serial Monitor:

    • Ensure the TX and RX pins are correctly connected between the PZEM004T and the Arduino UNO.
    • Verify that the baud rate in the Serial Monitor is set to 9600.
  2. Inaccurate Readings:

    • Check that the CT is securely clamped around the live wire and not the neutral wire.
    • Ensure the load being measured is within the specified range of the PZEM004T.
  3. Error Messages in Code:

    • Ensure the PZEM004T library is correctly installed in the Arduino IDE.
    • Verify that the correct pins are defined in the code for RX and TX.
  4. Module Not Powering On:

    • Confirm that the VCC pin is receiving a stable 5V DC supply.
    • Check all connections for loose wires or poor soldering.

FAQs

Q: Can the PZEM004T measure DC circuits?
A: No, the PZEM004T is designed specifically for AC circuits and cannot measure DC parameters.

Q: What is the maximum current the PZEM004T can measure?
A: The module can measure up to 100A when used with the appropriate current transformer (CT).

Q: Can I use multiple PZEM004T modules with a single Arduino?
A: Yes, multiple modules can be used by assigning unique addresses to each module and using a software serial library to manage communication.

Q: Is the PZEM004T safe to use with high-voltage systems?
A: Yes, but proper isolation and safety precautions must be followed when working with high-voltage AC circuits.