2021 June
Automated Valve Control System


Project Overview
I developed a control system using an Arduino to automate the movement of a butterfly valve installed in a 1.5-meter perimeter pipeline. The valve regulates water flow from a small reservoir and is powered by a 1.5 HP single-phase motor. To increase torque, a reducer with a belt system was added.
The system includes:
Limit switches to detect full open/close positions.
A potentiometer to measure the valve’s position and calculate the percentage of opening.
A relay module controlled by the Arduino to signal a variable frequency drive (VFD), which powers the motor.
A water level sensor to monitor the water level in a domestic-use storage tank.
Programming & Technologies Used
The control program was developed using GP-PRO, a SCADA software that only supports specific PLC models. To integrate the Arduino with SCADA, I converted it into a Modbus TCP device, allowing it to be recognized as a standard PLC. This enabled full control of the valve, real-time monitoring of the water level, and valve positioning from the SCADA interface.
Additionally, the Arduino sent data via a REST API to a server, reporting:
Tank water level
Valve status (open/closed)
Technologies Used:
✅ C++ (Arduino programming)
✅ SCADA (GP-PRO)
✅ Modbus TCP/IP Libraries
✅ REST API for data transmission
On the left video, you can see the valve opening process. The SCADA interface, which I also developed using GP-PRO (GP-PRO is a SCADA software that I had to research to determine how it could communicate with an Arduino by making it act as a PLC. This research took me two months), is displayed, communicating with the Arduino inside this control box via a Modbus library.
The video also shows:
The motor in action, moving the valve until it reaches the limit switch, which signals the end of the opening.
The Arduino reading the limit switch states and calculating the percentage of valve opening using a potentiometer that I installed for precise position tracking.
On the right video, you can see the valve closing process, with all three views displayed in real time.








Automated Valve Control System for a Small Reservoir
I developed a control system using an Arduino to automate the movement of a butterfly valve installed in a 1.5-meter perimeter pipeline