TRANSFORMER MONITORING
![[Pasted image 20250625134249.png]]
Project Title: Real-Time Transformer Monitoring System
Name: Brian Kamau Muthoni
Reg No: TLE/4906/21
Date: 24/06/2025
Superviser: Dr Serem
I. INTRODUCTION
The modern power grid is the backbone of global infrastructure, enabling the delivery of electricity to homes, industries, and essential services. At the heart of this network are power transformers, responsible for stepping voltage levels up or down for efficient long-distance transmission and safe distribution. Despite their importance, transformer failures continue to pose significant risks to grid stability, public safety, and economic productivity. In light of recent grid disruptions, there is a growing call to modernize transformer monitoring and integrate smart grid technologies.
With advancements in microcontrollers and sensor networks, it is now feasible to deploy low-cost, real-time transformer monitoring systems that collect and analyze key performance indicators such as current, voltage, gas emission levels, and temperature. When integrated with cloud platforms like Firebase, these systems can alert utilities before failures occur—ushering in a new era of smart maintenance and grid resilience.
II. PROBLEM STATEMENT
When a power transformer fails, the resulting consequences can be catastrophic. Utilities may face months of downtime, millions in repair and replacement costs, and service disruption to thousands or millions of customers. Traditionally, transformer condition assessment has been manual and infrequent, leaving utilities reactive rather than proactive.
Most transformers in existing electrical infrastructure operate without real-time monitoring. Utilities often depend on manual inspections or periodic sampling, which may fail to detect critical fault conditions early enough. This reactive approach can lead to:
Unexpected failures and prolonged outages
Manual dispatches to remote areas for testing
Cascading failures due to overloading of adjacent transformers
Increased operational costs and customer dissatisfaction
The objective of this project is to design and implement a low-cost, real-time transformer monitoring system using the ESP32 microcontroller. The system will collect data from sensors (voltage, current, gas), display it locally, and upload it to Firebase for remote monitoring and fault prediction.
CHALLENGE
Conventional vs. Smart Transformer Monitoring System
Lets look at a utility that has not deployed an advanced transformer monitoring system and technicians need to manually inspect the transformer for potential faults.
Samples of gases taken show no indication of potential failure , but 2 weeks later the transformer has a catastrophic failure
The inspection of the transformer is not scheduled for another 4 weeks
In this scenario the utility is unable to prevent a transformer failure ![[Pasted image 20250624124057.png]]
CONSEQUENCES
The immediate result is :
A large Blackout that affects many customers.
Customers are moved to another circuit on the distribution network while they replace the failed transformer
This in turn places undue strain on the second circuit and accelerates asset failures.
Months and Millions of Kenya Shillings are spent to bring a new transformer online.
![[Pasted image 20250624124214.png]]
III. OBJECTIVES
With Real Time Monitoring:
Enable Anomaly detection
Predict failure in advance
Schedule maintenance and minimize operational costs
Increased life span of transformers
Core Design Objectives:
Real-time monitoring of AC voltage, current, and gas leaks
Alert generation on overload, undervoltage, or gas threshold exceedance
Cloud database for remote monitoring and historical logging
A low-cost, scalable, microcontroller-based prototype
Motivation and Relevance
This project aims to emulate the core monitoring functions of industrial systems using affordable, easily sourced components:
Gas Analysis (Photo-acoustic)
MQ2 Gas Sensor
Partial Discharge / Bushing
Not implemented (future upgrade)
Load Current Monitoring
ACS712 Current Sensor
Voltage Monitoring
ZMPT101B Voltage Sensor
Cloud Dashboard & Alerting
Firebase Integration via Wi-Fi
Local Display
LED 16x2 I2C
Literature Review and Industry Background
A fragmented energy sector
Recent years have witnessed catastrophic grid failures due to transformer breakdowns. For instance:
Kenya's energy sector relies heavily on renewables such as geothermal and wind energy. But experts say there are potential weaknesses in the system.
According to Victor Kenga, a renewable energy expert, the fragmented nature of the energy sector presents challenges that may not exist in a more centralized setting.
"It should be looked at that we don't have a lot of monopolization in Kenya power and KenGen," Kenga said.
Experts say a lack of clear leadership on energy further muddles the picture. Kenya also has an energy minister and a principal secretary in charge of energy and various departments.
Cabinet Secretary for Energy and Petroleum David Chirchir has blamed the nationwide power outages on overloaded transmission lines.
"Sometimes the network trips when it is overloaded, there was sudden demand in the line between Kisumu and Muhoroni and cascaded down to the rest of the country," Chirchir said.
January 3, 2024 - A woman pictured in the glow of an emergency light during a power outage in Kenya in August 2023
Global infrastructure aging—70% of transformers and transmission lines are beyond their designed lifespan.
V. SMART GRIDS: THE FUTURE OF RESILIENT ENERGY DELIVERY
The traditional electrical grid was designed for one-way power flow: from central generation stations to end users. It lacks the intelligence to handle distributed renewable sources, variable demand, or autonomous control. This leads to inefficiencies, vulnerabilities, and increased blackout risk.
What is a Smart Grid?
A Smart Grid is a next-generation power system that integrates:
Sensors for real-time voltage, current, and frequency monitoring
Communications between substations, transformers, and utilities
Automation to trigger load balancing, isolation, and fault response
Computational intelligence for predictive maintenance and demand forecasting
Smart grids are capable of:
Detecting small faults before they become major failures
Isolating problems to local microgrids
Automatically shedding load during peak times or faults
Integrating renewable energy (solar, wind, hydro)
A smart grid integrates digital sensors, IoT devices, and automated controls to monitor, analyze, and optimize the flow of electricity in real-time. Smart grids can detect early signs of failure, reroute power dynamically, and isolate faults before they escalate.
Key smart grid technologies include:
Multi-Gas Monitoring: Identifies fault-related gases in transformer oil.
Partial Discharge Detection: Monitors bushing capacitance and dielectric breakdown.
Microgrids: Decentralized clusters that can operate independently during grid failures.
Advanced Communications: Use of IEC 61850 protocol for secure, real-time data exchange.
Industry Practice:
Modern solutions, like GE’s Transfix multi-gas monitor and BMT 300, use:
Photoacoustic Spectroscopy to detect trace gases
Capacitance Monitoring for bushings
Partial Discharge Analysis for early failure symptoms
These parameters are continuously monitored and sent to control centers over secure networks (e.g., IEC 61850 protocol), allowing operators to receive predictive alerts up to six months before potential failure.
“GE’s Transfix and BMT-300 series continuously monitor dissolved gases, bushing capacitance, and partial discharge in transformers using optical sensors and advanced analytics platforms integrated via IEC 61850 protocols.”
These systems, while effective, are prohibitively expensive for developing regions and local utilities. There’s a need for affordable, scalable, and wireless systems that mimic industrial capabilities on a smaller scale.
Project Justification and Design Goals
This project aims to emulate the core monitoring functions of industrial systems using affordable, easily sourced components:
Gas Analysis (Photo-acoustic)
MQ2 Gas Sensor
Partial Discharge / Bushing
Not implemented (future upgrade)
Load Current Monitoring
ACS712 Current Sensor
Voltage Monitoring
ZMPT101B Voltage Sensor
Cloud Dashboard & Alerting
Firebase Integration via Wi-Fi
VII. PROTOTYPE DESIGN: LOW-COST TRANSFORMER MONITORING SYSTEM
To replicate similar functionalities in a low-cost educational setup, components such as the ESP32 microcontroller, ACS712 current sensor, ZMPT101B voltage sensor, MQ2 gas sensor, relay module, OLED display, and Firebase IoT backend are used.
Features:
AC Voltage and Current Monitoring
Gas Leak Detection (Dissolved Gases Proxy)
Fault Shutdown via Relay
Real-Time Display and Cloud Logging
Components Used
ZMPT101B (AC Voltage Sensor Module)
Data Collection: - The ZMPT101B is a voltage sensor that uses a precision voltage transformer and an operational amplifier. - It scales down high AC voltages to a safe, readable level for the microcontroller.
Data Interpretation: - The module outputs a proportional AC signal that can be read by an ADC (Analog-to-Digital Converter) pin on a microcontroller. - The ADC reads the signal as a varying voltage, and a calibration algorithm calculates the actual AC voltage.
![[Pasted image 20250624125010.png]] ## ✅ ZMPT101B AC Voltage Measurement Script (0–250V) Here’s a MicroPython script that:
Reads the ADC value rapidly.
Converts it to voltage.
Calculates the RMS AC voltage.
Maps that to the real AC voltage (0–250V) using a calibration factor.
from machine import ADC, Pin
from time import sleep
import math
# --- ZMPT101B Setup ---
VREF = 3.3
ADC_RESOLUTION = 4095
ADC_MIDPOINT = VREF / 2 # Midpoint around which waveform is biased
SAMPLES = 1000 # Number of samples for RMS
# Adjust this based on calibration (typical value: 250 for full scale)
CALIBRATION_FACTOR = 233 # volts per RMS output of sensor when mains is at 250V
# Setup ADC (GPIO 35)
zmpt_adc = ADC(Pin(35))
zmpt_adc.atten(ADC.ATTN_11DB) # 0-3.3V input range
def read_voltage(adc):
raw = adc.read()
return (raw / ADC_RESOLUTION) * VREF
def read_ac_voltage(samples):
sum_sq = 0
for _ in range(samples):
voltage = read_voltage(zmpt_adc)
centered = voltage - ADC_MIDPOINT # Remove DC offset
sum_sq += centered ** 2
mean_sq = sum_sq / samples
sensor_rms = math.sqrt(mean_sq)
# Convert sensor RMS voltage to actual AC voltage using calibration factor
ac_voltage = sensor_rms * CALIBRATION_FACTOR
return sensor_rms, ac_voltage
while True:
sensor_rms, ac_voltage = read_ac_voltage(SAMPLES)
adc_reading = zmpt_adc.read()
print("ADC Value : {}".format(adc_reading))
print("Sensor RMS (V) : {:.3f} V".format(sensor_rms))
print("AC Voltage : {:.1f} V".format(ac_voltage))
print("-" * 40)
sleep(1)
Calibration Instructions
The CALIBRATION_FACTOR
maps the sensor's RMS voltage to the actual AC voltage. To get an accurate value:
Connect the ZMPT101B to AC mains (e.g. 233V measured in KENYA using a digital multimetee ).
Use a multimeter to measure the real AC voltage.
Run the script above and note the sensor RMS value.
Use this formula to find the correct calibration factor:
CALIBRATION_FACTOR = True_AC_Voltage / sensor_rms
Replace the default value (
250
) with your calculated value.
# ACS712 (Current Sensor Module)
Data Collection: - The ACS712 measures current using the Hall effect. - It outputs a proportional analog voltage (e.g., 2.5V at 0A, 5V at max positive current, 0V at max negative current).
Data Interpretation: - The analog signal is fed to a microcontroller’s ADC pin. - The microcontroller reads the voltage and calculates the current based on the sensor's sensitivity (e.g., 185 mV per amp for 5A version).
![[Pasted image 20250624125044.png]]
How the ACS712 Works:
The ACS712 provides an analog voltage that varies linearly with current. For example:
ACS712-05B
185 mV/A
~2.5V
ACS712-20A
100 mV/A
~2.5V
ACS712-30A
66 mV/A
~2.5V
When no current is flowing, the sensor outputs approximately 2.5V (assuming 5V supply). A current in either direction shifts the output voltage linearly up or down.
Let’s assume you're using ACS712-20A for this example. Here's how to calculate the current:
current = (voltage - 2.5) / 0.100 # for 100 mV/A sensitivity
✅ Modify Your Script:
You can update your script to calculate and print the actual current like this:
from machine import ADC, Pin
from time import sleep
import math
# Constants
VREF = 3.3
ADC_RESOLUTION = 4095
ACS_OFFSET = 2.5
ACS_SENSITIVITY = 0.100 # V/A (adjust for your model)
SAMPLES = 1000 # Increase if needed for accuracy
# ADC setup
acs_adc = ADC(Pin(34))
acs_adc.atten(ADC.ATTN_11DB)
def read_voltage(adc):
raw = adc.read()
voltage = (raw / ADC_RESOLUTION) * VREF
return voltage
def read_rms_current(samples):
sum_sq = 0
for _ in range(samples):
voltage = read_voltage(acs_adc)
current = (voltage - ACS_OFFSET) / ACS_SENSITIVITY
sum_sq += current ** 2
mean_sq = sum_sq / samples
return math.sqrt(mean_sq)
while True:
rms_current = read_rms_current(SAMPLES)
print("AC Current (RMS): {:.3f} A".format(rms_current))
print("-" * 40)
sleep(1)
MQ Sensors (Gas Detection)
Output: Analog voltage
Application: Detect gas leaks, overheating
- MQ-2: Methane, Butane, LPG ![[Pasted image 20250624125141.png]]
What It Detects
Gases: LPG, propane, methane (CH4), hydrogen (H2), smoke, CO, alcohol
It's ideal for flame detection, gas leak detection, smoke alarms, and air quality monitoring
How It Works
MQ2 contains a SnO₂ (tin dioxide) semiconductor that changes resistance in the presence of target gases.
The analog output voltage drops or rises based on gas concentration.
It also has a digital output (threshold-based) that goes HIGH or LOW when concentration exceeds a set value (adjustable via onboard potentiometer).
Output
Use in Your Transformer Project
Detect flammable gases or transformer oil vapor
Trigger alerts when threshold exceeds safe levels
Can log data to Firebase and show on web dashboard
from machine import ADC, Pin
from time import sleep
# Setup ADC
mq2_adc = ADC(Pin(34)) # Use a valid ADC pin
mq2_adc.atten(ADC.ATTN_11DB) # Full range 0-3.3V
VREF = 3.3
ADC_RES = 4095
def read_gas_voltage():
raw = mq2_adc.read()
voltage = (raw / ADC_RES) * VREF
return voltage
while True:
gas_voltage = read_gas_voltage()
print("MQ2 Gas Sensor Voltage: {:.2f} V".format(gas_voltage))
sleep(1)
ESP32 (Microcontroller)
Dual-core 32-bit MCU with built-in Wi-Fi and Bluetooth
12-bit ADC for analog sensor interfacing
Acts as control, logic, and communication center
Sends data to Firebase and drives output devices
Data Collection and Processing: - The ESP32 Microcontroller can read analog and digital inputs and processes them
It interprets sensor data using libraries and code logic.
Data Interpretation: - It can directly interact with DHT22, ACS712, MQ sensors, etc. - It can also communicate with other modules ( e.g SIM800L) via UART, SPI, or I2C. Power Supply: 5V USB / Regulated 5V
![[Pasted image 20250624125208.png]]
Summary of Pin Usage
ZMPT101B
GPIO35
ACS712
GPIO34
MQ2 (analog)
GPIO32
Ultrasonic TRIG
GPIO13
Ultrasonic ECHO
GPIO12
LED Alert
GPIO2
Ultrasonic Sensor (e.g., HC-SR04)
![[Pasted image 20250625141104.png]]
✅ What It Measures
Distance from the sensor to an object using sound waves
Used for level sensing (liquid, solid), obstacle detection, distance measurement
⚙️ How It Works
Sends a 40kHz ultrasonic pulse via the trigger pin
Measures the time it takes for the echo to bounce back to the echo pin
Calculates distance using the formula:
Accuracy & Range
Range: 2 cm to 400 cm
Accuracy: ±3 mm (under ideal conditions)
Power & Connections
Vcc: 5V
Trig: Digital Output (you pulse it HIGH for 10 µs)
Echo: Digital Input (read HIGH pulse duration)
GND: Ground
Use in My Transformer Project
Oil level detection: Measure oil height inside a tank if no mechanical float
Can be replaced by mechanical float or capacitive/oil-specific sensors in industrial setups
from machine import Pin, time_pulse_us
from time import sleep
TRIG = Pin(5, Pin.OUT)
ECHO = Pin(18, Pin.IN)
def get_distance():
TRIG.off()
sleep(0.002)
TRIG.on()
sleep(0.00001)
TRIG.off()
duration = time_pulse_us(ECHO, 1, 30000) # Wait for ECHO HIGH
if duration < 0:
return -1 # Timeout
distance_cm = (duration / 2) / 29.1 # Convert to cm
return round(distance_cm, 2)
while True:
dist = get_distance()
if dist == -1:
print("Out of range or timeout")
else:
print("Distance: {} cm".format(dist))
sleep(1)
System Flowchart
![[Pasted image 20250624125240.png]]
Varying the load on a 230V AC supply line to test my voltage and current monitoring system was very doable and was done safely and deliberately.
How to Vary the Load on a 230V Line
The goal is to change the current drawn by connecting or disconnecting resistive or inductive loads:
🔌 A. Use Multiple Household Appliances
LED Bulb
7–15 W
Light load, quick baseline test
Incandescent Bulb
60–100 W
Easy to see changes
Fan/Heater
100–2000 W
For larger load variations
Kettle/Iron
1500–2500 W
Useful for near-overload testing
Refrigerator
200–600 W
Inductive load (good test case)
🔧 Use a power strip with switches:
Connect multiple devices.
Toggle one by one.
See voltage drop or current increase.
Testing and Experimental Results
⚙️ Setup
The system was tested in a simulated environment using:
A regulated 230V AC supply
Variable loads (bulbs, heaters, fans) to simulate current fluctuations
A gas lighter and ethanol drops for MQ2 testing
Firebase was monitored in real-time from a mobile dashboard
![[Pasted image 20250625130448.png]]
🔍 Key Testing Metrics
AC Voltage
215V – 240V
OLED showed accurate values
✅
AC Current
0.02A – 3.5A
ACS712 tracked correctly
✅
Gas Level
0.1V – 0.5V
MQ2 triggered alarm at >0.4V
✅
Firebase Logs
Every 5s or Fault
Synced with network connection
✅
BreadBoard Diagram
![[Pasted image 20250625161355.png]]
Schmatic Diagram
![[Pasted image 20250625161501.png]]
PCB Design
![[Pasted image 20250625162106.png]]
Firmware, Firebase Integration & Fault Handling
💻 MicroPython Firmware Logic Overview
The ESP32 firmware in this transformer monitoring project performs four key operations:
Reads analog values from voltage (ZMPT101B), current (ACS712), and gas (MQ2) sensors
Displays real-time readings on an LED screen
Sends sensor data to Firebase for cloud-based visualization and logging
Handles fault conditions, such as overcurrent, undervoltage, and gas leak detection, by activating a relay, buzzer, and LED alerts
⚙️ Main Functional Blocks in Code
🔹 1. ADC Reading & Conversion
def read_voltage(adc):
raw = adc.read()
return (raw / 4095.0) * 3.3
This is applied to each analog input (voltage, current, gas), scaled to reflect real-world measurements using calibrated constants.
🔹 2. RMS Current and AC Voltage Conversion
To get real values (RMS) from AC sensors:
def convert_acs712_to_current(vout):
sensitivity = 0.185 # For ACS712-5A version
v_zero = 2.5 # No-load output voltage
return (vout - v_zero) / sensitivity
def convert_zmpt_to_ac_voltage(vout, scale_factor):
return vout * scale_factor # scale_factor = calibrated multiplier
🔹 3. OLED Display via I2C
oled.text("Voltage: {:.1f}V".format(voltage), 0, 0)
oled.text("Current: {:.2f}A".format(current), 0, 10)
oled.text("Gas: {:.2f}".format(gas_level), 0, 20)
oled.show()
This gives local visibility even without internet connectivity.
🔹 4. Firebase Integration
Use urequests
or a Firebase client to upload data via HTTPS POST:
import urequests
firebase_url = "https://your-project.firebaseio.com/data.json"
payload = {
"voltage": voltage,
"current": current,
"gas": gas_level,
"status": status
}
res = urequests.post(firebase_url, json=payload)
res.close()
Firebase Realtime Dashboard
Data Structure in Firebase:
{
"data":{
"timestamp": "2025-06-21 17:00",
"voltage": 229.1,
"current": 1.25,
"gas": 0.45,
"status": "OK"
}
}
Optional Enhancements:
Add charts to display time-series data
Trigger email/SMS using Firebase Functions
Log historical data for predictive analysis
🔄 Data Refresh Rate
Sampling frequency: 1–2 Hz (every 0.5–1 sec)
Firebase upload rate: every 5 seconds or when fault is detected
LED update rate: every second
13. 🔔 Fault Handling Summary
Overcurrent
> 5 A (configurable)
Disconnect relay, activate buzzer
Overvoltage
> 250 V
Trigger visual and audible alarm
Undervoltage
< 180 V
Cut off relay
Gas Detected
> 0.4 V on MQ2
Alarm + Notification
Wi-Fi Lost
N/A
Store buffer data locally (optional)
VIII. ADVANTAGES OF SMART TRANSFORMER MONITORING
Prevents catastrophic failures
Enables predictive maintenance
Reduces manual inspection frequency
Supports grid stability and efficiency
Reduces operating costs and outage penalties
Industrial Case Study: GE Advanced Monitoring Solutions
In an actual utility scenario, transformer failure occurred two weeks after gas samples were collected, long before the next test was scheduled. The utility failed to detect a growing fault, resulting in:
Catastrophic failure
Blackout affecting thousands
Strain on alternate circuits, accelerating other failures
High replacement costs, both financial and time-wise
In Contrast: GE’s Smart Monitoring
GE’s Transfix multi-gas monitor and BMT 300 detect:
Minute changes in gas concentrations
Partial discharges and bushing capacitance
All results are reported in real-time via IEC 61850 over wireless links
Anomaly detection triggered alerts months in advance
Utility pre-emptively de-energized the transformer, avoiding failure
This industrial-grade system demonstrates how proactive monitoring changes the game.
Transition to Industrial-Grade System
For the Industrial Transition Considerations we will include EMI-Resistant Components such as the GE Intellix BMT 300 and GE Transfix for more robust readings and integrating LTE/4G modules for reliable remote monitoring Why DGA?
Traditional current, voltage, and temperature sensors provide surface-level data but do not give insights into internal transformer conditions.
Dissolved Gas Analysis (DGA) detects key fault gases (e.g., hydrogen, methane, ethane) dissolved in transformer oil, providing early warning of issues like overheating, arcing, or insulation degradation.
How DGA Works: Transformer oil samples are analyzed for gases like hydrogen (H₂), methane (CH₄), ethylene (C₂H₄), ethane (C₂H₆), and carbon monoxide (CO).
Each gas is associated with specific fault conditions:
Hydrogen (H₂): Partial discharge
Methane (CH₄): Thermal faults
Ethylene (C₂H₄): High-temperature arcing
Carbon Monoxide (CO): Insulation degradation
The GE Intellix BMT 300 The Intellix BMT 300 is a multi-parameter transformer condition monitoring system that combines:
Online DGA (gas-in-oil monitoring)
Bushing monitoring
Oil temperature and moisture monitoring
Load current and voltage monitoring
It’s installed permanently on power transformers (mostly high-voltage ones) and continuously collects and transmits data to SCADA or asset management systems.
Bushing Risk Alerts Detects changes in:
Capacitance (increasing = insulation breakdown)
Power factor (increasing = aging or moisture ingress)
Leakage current (increasing = partial discharge or tracking)
Triggers alerts before catastrophic bushing failure (a major cause of transformer explosions)
How DGA Provides Deeper Insights into Transformer Health
Early Fault Detection: - DGA can detect thermal faults, arcing, and partial discharge long before they manifest as external temperature rises or current anomalies. Fault Classification: - By analyzing specific gas ratios (e.g., Duval Triangle method), DGA can pinpoint the type and severity of internal faults, allowing for targeted maintenance. Bushing Condition Monitoring: - The BMT 300 monitors bushing capacitance and power factor. Changes in these parameters can indicate moisture ingress, insulation breakdown, or mechanical displacement.
Parameters Monitored
Category
Parameter
Description
Dissolved Gases
H₂, CO, CO₂, CH₄, C₂H₂, C₂H₄, C₂H₆, O₂, N₂
Used for fault detection (thermal, electrical, insulation degradation)
Temperature
Top-oil temperature, ambient temp
Indicates thermal stress and helps detect overload or cooling failure
Moisture in Oil
ppm
High moisture can reduce insulation life and lead to arcing/failure
Load Current
Real-time current through transformer
Tracks load conditions and load-induced heating
Bushing Monitoring
Capacitance, power factor (tan δ), leakage current
Detects bushing aging, insulation failure, partial discharge risk
Pressure/Vacuum
Oil tank pressure (optional)
Detects leaks or vacuum loss (if sensors added)
GE Transfix and GE Intellix BMT 300: Why Consider Them?
These devices are designed specifically for DGA and can operate reliably in high-EMI environments due to their industrial-grade construction and advanced signal processing.
GE Transfix: Continuous multi-gas monitoring with built-in data analysis for real-time fault detection.
°GE Intellix BMT 300: Focuses on bushing condition monitoring, integrating both DGA and bushing capacitance analysis for comprehensive health assessment.
Both devices can transmit data via industrial protocols like Modbus, DNP3, or Ethernet, reducing the reliance on GSM modules
GE Transfix and GE Intellix BMT 300
Feature
GE Intellix BMT 300
GE Transfix
Type
Multi-parameter monitor
Dedicated DGA monitor
Dissolved Gas Monitoring
✅ 9 gases (full DGA)
✅ 9 gases (full DGA)
Bushing Monitoring
✅
❌
Moisture & Oil Temp
✅
✅ (limited)
Load/Current Monitoring
✅
❌
Communication Protocols
Modbus, DNP3, IEC 61850
Modbus, DNP3
Transformer Health Index
✅ Combines all diagnostics
❌ (gas-only health index)
Ideal Use
High-voltage, critical assets
Medium-voltage, gas-only needs
Cost
💲💲💲 (more expensive)
💲💲 (less expensive)
Summary of What the GE System Does
The GE advanced transformer monitoring solution includes:
Gas monitoring inside transformer oil (dissolved gases)
Bushing diagnostics (capacitance change, partial discharge)
Temperature monitoring
Electrical fault detection (voltage/current anomalies)
Data logging and trend analysis
Wireless transmission (via IEC 61850 or private LTE)
Cloud/dashboard analysis (Perception Commander software)
🔧 What I Can Mimic in My DIY Setup
Dissolved gas detection
MQ2 gas sensor (general leak/gas detection, not dissolved gases)
Bushing diagnostics
⚠️ Very advanced — hard to mimic cheaply
Current monitoring
✅ ACS712 (already in your setup)
Voltage monitoring
✅ ZMPT101B (already in your setup)
Partial discharge sensing
⚠️ Not feasible at low cost; needs high-frequency sensors
Oil level monitoring
JSN-SR04T ultrasonic sensor + sealed probe
Local alerts (overload/fault)
Relay module, buzzer, OLED display
Data logging
Firebase Realtime DB (replaces SD card and trend logs)
Web dashboard/alerts
Firebase + Freeboard or custom HTML/Chart.js
Wireless transmission
ESP32 Wi-Fi (replaces GE’s wireless LTE or IEC 61850)
ESP32 MicroPython Code (Post Data to Firebase)
📦 Required library:
urequests.py
(install via Thonny or WebREPL)
import urequests
from machine import ADC, Pin
from time import sleep
import network
import math
# Wi-Fi config
SSID = 'YOUR_WIFI_SSID'
PASSWORD = 'YOUR_WIFI_PASSWORD'
# Firebase config
FIREBASE_URL = 'https://my-project-id.firebaseio.com'
FIREBASE_SECRET = 'YOUR_FIREBASE_SECRET'
# Setup ADCs
acs = ADC(Pin(34))
zmpt = ADC(Pin(35))
mq2 = ADC(Pin(32))
for adc in (acs, zmpt, mq2):
adc.atten(ADC.ATTN_11DB)
# Constants
VREF = 3.3
ADC_RES = 4095
ACS_OFFSET = 2.5
ACS_SENS = 0.185
ZMPT_SCALE = 230.0
# Connect Wi-Fi
def connect_wifi():
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(SSID, PASSWORD)
while not wlan.isconnected():
sleep(1)
print("Connected:", wlan.ifconfig())
# Compute RMS voltage from sensor
def get_rms(adc, samples=100):
values = []
for _ in range(samples):
raw = adc.read()
voltage = (raw / ADC_RES) * VREF
values.append(voltage)
sleep(0.005)
mean_square = sum([v**2 for v in values]) / len(values)
return round(math.sqrt(mean_square), 2)
# Push data to Firebase
def push_to_firebase(vrms, irms, gasv):
url = f"{FIREBASE_URL}/transformer_data.json?auth={FIREBASE_SECRET}"
payload = {
"voltage": vrms,
"current": irms,
"gas": gasv
}
try:
r = urequests.post(url, json=payload)
print("Data pushed:", r.text)
r.close()
except:
print("Failed to send data.")
# Run main loop
connect_wifi()
while True:
vrms = get_rms(zmpt) * ZMPT_SCALE
irms = abs((get_rms(acs) - ACS_OFFSET) / ACS_SENS)
gasv = get_rms(mq2)
push_to_firebase(vrms, irms, gasv)
sleep(10) # Push every 10s
Web Dashboard with Charts
Create
index.html
locally or host it on GitHub Pages / Firebase Hosting
<!DOCTYPE html>
<html>
<head>
<title>Transformer Monitor Dashboard</title>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body>
<h2>Transformer Monitor</h2>
<canvas id="voltageChart"></canvas>
<canvas id="currentChart"></canvas>
<canvas id="gasChart"></canvas>
<script>
const firebaseUrl = 'https://your-project-id.firebaseio.com/transformer_data.json';
async function fetchData() {
const res = await fetch(firebaseUrl);
const data = await res.json();
const labels = Object.keys(data).map((_, i) => i + 1);
const voltage = Object.values(data).map(d => d.voltage);
const current = Object.values(data).map(d => d.current);
const gas = Object.values(data).map(d => d.gas);
return { labels, voltage, current, gas };
}
async function drawCharts() {
const { labels, voltage, current, gas } = await fetchData();
const commonConfig = (label, data, color) => ({
type: 'line',
data: {
labels: labels,
datasets: [{
label: label,
data: data,
borderColor: color,
fill: false
}]
}
});
new Chart(document.getElementById('voltageChart'), commonConfig('Voltage (V)', voltage, 'blue'));
new Chart(document.getElementById('currentChart'), commonConfig('Current (A)', current, 'green'));
new Chart(document.getElementById('gasChart'), commonConfig('Gas (V)', gas, 'red'));
}
drawCharts();
</script>
</body>
</html>
Summary
✅ ESP32 collects RMS sensor data
✅ Posts data to Firebase in JSON format
✅ Web app pulls data and renders it using Chart.js
✅ You can monitor real-time changes in voltage, current, and gas
Data Visualization
![[Pasted image 20250624125802.png]]
![[Pasted image 20250624125826.png]]
![[Pasted image 20250624125818.png]]
IX. LIMITATIONS AND FUTURE WORK
Overview of Challenges
1.EMI Interference High-voltage power lines and transformers, Switching transients and arcing, Relay operations and circuit breakers, Motor drives and large inductive loads can cause potential impact on sensor accuracy and data transmission
2.Sensor Limitations - ACS712 limited to specific current ranges (e.g., 5A, 20A, 30A) - MQ sensors prone to calibration drift over time - DHT22 sensitive to rapid temperature/humidity changes 3.Communication Limitations
Wi-Fi Connectivity Issues: - ESP32 may experience signal loss in enclosed transformer rooms - Potential use of external antennas or LTE modules for extended range - Data Latency:-Real-time data transmission may be delayed by network congestion
4.No bushing capacitance monitoring (as in GE BMT-300) 5.No partial discharge detection 6 Limited to single transformer phase
No internal battery backup if power fails
Low-cost sensors have limited precision compared to industrial-grade systems.
Oil level and bushing capacitance sensors are not implemented in basic prototypes.
Future work can integrate AI models for anomaly prediction and add cybersecurity layers.
Future Work
Advanced Data Analysis: - Predictive maintenance using AI/ML algorithms - Data pattern recognition for fault detection
System Expansion: - Integration with additional sensors (e.g., vibration sensors) - Cloud integration for long-term data storage and analytics
Real-Time Data Acquisition: - Data acquisition frequency and sampling intervals
Data Storage: - Local storage (SD Card, EEPROM) - Remote logging (Cloud, MQTT)
Visualization: - Real-time graphs using platforms like ThingSpeak, Firebase - Customized dashboards for specific data points
X. CONCLUSION
The prototype successfully demonstrates the feasibility of a low-cost, ESP32-based transformer monitoring system. It combines:
Real-time data acquisition
Local and remote data display
Automatic safety response
Scalable architecture
This system can empower local utilities or research institutions to monitor transformer health in real-time, detect faults early, and reduce response time dramatically — a step forward toward democratizing smart grid monitoring.
References
G.E. Advanced Transformer Monitoring Solutions
ACS712 Datasheet – Allegro Microsystems
ZMPT101B Voltage Sensor Module – Open Source Hardware
MQ2 Gas Sensor Specifications – SeeedStudio
Firebase Realtime Database – Google Cloud Docs
IEEE 61850 Communication Standard for Substations
“Smart Grid Overview” – National Renewable Energy Laboratory (NREL)
Last updated