AC Current Direction & Measurement with Arduino Pro Micro
Introduction
With the increasing adoption of renewable energy systems and smart energy management solutions, monitoring both the magnitude and direction of electrical current has become essential. In applications such as photovoltaic (PV) systems, energy can flow either from the grid to a load or from a local generation source back to the grid. Therefore, a reliable and cost-effective method of measuring AC current and determining its direction is required for efficient energy monitoring and control.
This project, “AC Current Direction & Measurement with Arduino Pro Micro,” presents a simple and non-intrusive solution for measuring alternating current and identifying the direction of power flow. Using an Arduino Pro Micro, the system samples voltage and current signals, calculates their RMS values, and analyzes their phase relationship to determine whether energy is being consumed or injected. The design incorporates zero-crossing detection techniques, hardware-assisted direction sensing, and a filtered PWM output for analog signal generation, making it suitable for smart home automation, renewable energy monitoring, and educational applications.
For Full Project:
https://electronicsworkshops.com/ac-current-direction-measurement-with-arduino-pro-micro/
Objectives
To measure AC current flowing in a circuit using a suitable current sensor.
To determine the direction of current flow in real time.
To process sensor signals using the Arduino Pro Micro microcontroller.
To display or transmit the measured current value for monitoring purposes.
To ensure accurate measurement of both magnitude and polarity (direction) of AC current.
To develop a low-cost, compact, and efficient current monitoring system.
To improve understanding of AC signal behavior and microcontroller-based sensing systems
Circuit Diagram
SchematicDownload
This circuit is designed to measure AC current, AC voltage, and determine the direction of power flow using an Arduino Pro Micro. The system uses an SCT013-000 current transformer (CT) to sense the load current and a ZMPT101B voltage transformer to measure the AC mains voltage. Both signals are conditioned and amplified using OPA2333 operational amplifiers, then shifted around a precise 2.5V reference voltage so that the Arduino can safely read the AC waveforms through its analog inputs. A built-in 24V to 5V buck converter powers the entire circuit, ensuring stable operation of the microcontroller and analog components.
To determine the direction of current flow, the circuit compares the phase relationship between the voltage and current waveforms. Zero-crossing detection circuits generate timing signals for both voltage and current, allowing the Arduino to calculate the phase difference between them. Based on which waveform leads or lags, the controller can identify whether power is flowing from the source to the load or in the reverse direction. The measured values are processed by the Arduino and can also be converted into a standard 0–10V analog output, making the system suitable for energy monitoring, industrial control, and smart power measurement applications.
PCB Image


3D View


Conclusion
The project “AC Current Direction & Measurement with Arduino Pro Micro” successfully demonstrates a practical method to measure both the magnitude and direction of AC current using a microcontroller-based system. By integrating a current sensing module with the Arduino Pro Micro, the system is able to accurately process real-time electrical signals and provide meaningful output for monitoring applications.
This project improves understanding of AC signal behavior, sensor interfacing, and embedded data processing. It also offers a compact, low-cost solution for current monitoring that can be further expanded for energy monitoring, fault detection, or smart metering applications in the future.
For Full Project:
https://electronicsworkshops.com/ac-current-direction-measurement-with-arduino-pro-micro/
AC Current Direction & Measurement with Arduino Pro Micro
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(0)
- Likes(0)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Rabin Poudel
-
Automatic Water Pump Control System Using ESP-12F
IntroductionWater scarcity and wastage are major challenges in residential, agricultural, and indust...
-
Flood Detection and warning system using LORA and Arduino
IntroductionFloods are one of the most devastating natural disasters, causing immense damage to life...
-
DIY LED Decoration Tiny Star PCB Project
IntroductionThe Tiny Star PCB is a small and fun DIY electronics project that is perfect for hobbyis...
-
Simple and Cheap Clap Switch Circuit
IntroductionThe Simple and Cheap Clap Switch Circuit is a practical and fun DIY electronics project ...
-
Arduino-based Mist Maker and Hand Dryer
IntroductionIn today’s world, automation and hygiene have become essential, especially in public pla...
-
MPL3115A2 Barometric Pressure, Altitude, and Temperature Sensor
IntroductionThe MPL3115A2 is a highly accurate, low-power digital barometric pressure sensor from NX...
-
E-Speaker Using ESP32
IntroductionThe E-Speaker is a smart, portable, and versatile audio system built using the ESP32 mic...
-
Heart Rate Monitor Circuit Using Photoplethysmography (PPG)
IntroductionHeart rate is a vital physiological parameter that reflects the health and fitness of an...
-
Automated Greenhouse Control System using ESP32
IntroductionAn automated greenhouse control system leverages technology to optimize plant growth con...
-
STD CH330N USB to Serial Converter 5V
IntroductionThe CH330N is a versatile USB-to-serial converter chip that simplifies interfacing betwe...
-
KY-032 Obstacle avoidance sensor module
IntroductionIntroduction to Obstacle Avoidance SensorsObstacle avoidance sensors are essential compo...
-
BC547 BASED WATER LEVEL INDICATOR
IntroductionA water level indicator using a BC547 transistor is a simple and effective electronic pr...
-
How to Design Own Arduino Wifi shield PCB
OverviewArduino wifi shield connects the Arduino with a wifi chip through the serial communication p...
-
DIY Air Quality Tester
OverviewIn this project “DIY Air Quality Tester” we use Node MCU microcontroller and air quality sen...
-
Digital Clock Using Arduino
OverviewIn this project, “Digital clock using Arduino” we will make a PCB board for digital clock an...
-
Bluetooth Controlled car using Arduino
OverviewA Bluetooth Controlled Car Using Arduino is a fascinating DIY project that involves building...
-
AC Current Direction & Measurement with Arduino Pro Micro
IntroductionWith the increasing adoption of renewable energy systems and smart energy management sol...
-
ESP8266 Programmer Board (USB-C Based)
IntroductionThe ESP8266 Programmer is a compact breakout board designed to simplify firmware uploadi...
-
Programmable Mist Maker - XIAO / QT PY Extension
60 0 0 -
RadioHAT - Raspberry Pi radio development platform
82 0 0 -
-
-
-
-
ARPS-2 – Arduino-Compatible Robot Project Shield for Arduino UNO
2708 0 5 -
-
A Compact Charging Breakout Board For Waveshare ESP32-C3
3206 3 8 -
AI-driven LoRa & LLM-enabled Kiosk & Food Delivery System
3463 2 2







