Project Report: Underground Cable Fault Detector Using Arduino Nano
- Abstract
Underground cables are widely used in modern power distribution networks due to their reliability and minimal susceptibility to environmental hazards like storms or lightning. However, when a fault occurs in an underground cable, locating the exact position is extremely difficult and time-consuming. This project presents the design and implementation of an automated Underground Cable Fault Detector using an Arduino Nano, a 16×2 LCD display, a structured resistor divider network, relays, and manual push buttons. The system operates on the principle of Ohm’s Law and voltage divider circuits. By measuring voltage variations through internal Analog-to-Digital Converter (ADC) channels, the microcontroller identifies the faulty phase and calculates the precise distance of the fault in kilometers. This low-cost, highly accurate system significantly reduces downtime and maintenance labor in power distribution sectors.
- Introduction
Modern urban infrastructure relies heavily on underground power cables instead of overhead lines to ensure uninterrupted power supply and clean aesthetics. Despite their high reliability, these cables encounter faults caused by insulation aging, chemical corrosion, manufacturing defects, or accidental mechanical excavations.
Locating underground faults manually involves digging long stretches of cables, which is expensive and disruptive. Conventional diagnostic tools like Time Domain Reflectometers (TDR) are highly accurate but prohibitively expensive for local distribution grids.
This project solves this problem by creating an affordable, real-time embedded system. It uses a series of resistors to simulate the electrical resistance of an underground cable over specific distances. When a fault occurs, the change in voltage drop is evaluated by an Arduino Nano. The results are immediately visualised on a digital display, providing maintenance teams with actionable localization data.
- System Architecture and Block Diagram
The hardware layout of the system is modular and comprises four core stages: Input Selection, Signal Conditioning (Resistor Network), Processing, and Output Display.
[4 Phase Buttons] —> [3x Relays] —> [Resistor Network (Fault Simulator)] | v[16×2 LCD Display] <— [Arduino Nano] <— [3x ADC Channels (A0, A1, A2)]
3.1 Input Stage
- Four mechanical push buttons serve as user inputs to trigger testing parameters for specific cable phases.
3.2 Switching & Calibration Stage
- Three independent electrical relays route the physical test paths to isolate specific line segments.
3.3 Processing Stage
- The Arduino Nano microcontroller reads analog variations, processes mathematical calibration equations, and translates voltage into distance.
3.4 Display Stage
- A 16×2 character Liquid Crystal Display provides high-contrast, real-time diagnostic readings to the operator.
- Hardware Component Descriptions
4.1 Arduino Nano Microcontroller
The Arduino Nano serves as the central processing unit of this system. It is chosen for its compact form factor, low power consumption, and abundant input/output capabilities. It features an ATmega328P processor operating at a clock frequency of 16 MHz. It possesses 8 built-in analog-to-digital converter (ADC) channels, which allows it to directly monitor multiple phases without external multiplexers.
4.2 16×2 LCD Display
To make the diagnostic tool standalone, a 16-character, 2-line liquid crystal display is integrated. The display communicates with the Arduino using a 4-bit parallel data configuration to save microcontroller I/O pins. It outputs the designated fault phase (Phase A, B, or C) on the first line and the calculated distance (in kilometers) on the second line.
4.3 Resistor Network
In an actual power grid, a cable has a uniform resistance per unit length (e.g., R Ω/km). To simulate this in a laboratory prototype, a series of precision resistors are chained together. Tapping points between these resistors simulate faults at different distances, such as 2 km, 4 km, or 6 km.
4.4 Push Buttons
Four distinct tactile push buttons are deployed. Three of these buttons correspond to specific phases (Phase A, Phase B, Phase C) to manually simulate or check lines. The fourth button functions as a master reset or baseline calibration selector to verify the integrity of the sensing network.
4.5 Relays
Three single-pole double-throw (SPDT) relays are utilized to isolate the three phases of the cable system. When a user presses a phase test button, the corresponding relay energizes. This mechanically closes the path, routing the voltage drop from that specific phase network directly into the dedicated ADC channel of the Arduino Nano.
- Circuit Design and Connections
The system schematic is designed to prevent cross-talk between phase lines while ensuring a stable reference voltage for calculation accuracy.
| Component | Pin / Terminal | Connected To Arduino Nano Pin | Purpose |
| 16×2 LCD | RS, EN, D4, D5, D6, D7 | D2, D3, D4, D5, D6, D7 | Data communication and control |
| Relay 1 Control | Transistor Driver Base | D8 | Switches Phase A sensing pathway |
| Relay 2 Control | Transistor Driver Base | D9 | Switches Phase B sensing pathway |
| Relay 3 Control | Transistor Driver Base | D10 | Switches Phase C sensing pathway |
| Phase A Network | Output Voltage Node | A0 | Analog sensing for Phase A |
| Phase B Network | Output Voltage Node | A1 | Analog sensing for Phase B |
| Phase C Network | Output Voltage Node | A2 | Analog sensing for Phase C |
| Push Buttons | Digital Input Terminals | D11, D12, D13, A3 | Triggers line tests and interrupts |
The resistor network for each phase is powered by a stable 5V DC reference line drawn from the Arduino regulator. Resistors are configured in a voltage divider arrangement with a fixed pull-up resistor (R₁ = 1 kΩ) and a series of switchable ground-loop resistors representing different distances.
- Principle of Operation & Mathematical Model
The underlying methodology relies on measuring voltage changes caused by a short-circuit fault to ground. When a cable breaks and touches the ground, the resistance of the line up to that specific point drops proportionally to the distance.
The mathematical model utilizes the standard voltage divider equation:
\(V_{\text{out}}=V_{\text{in}}\times \left(\frac{R_{\text{fault}}}{R_{\text{pull-up}}+R_{\text{fault}}}\right)\)
Where:
- \(V_{\text{in}}\) = Reference supply voltage (5V)
- \(R_{\text{pull-up}}\) = Internal fixed resistor in the detector unit
- \(R_{\text{fault}}\) = Cable resistance up to the fault point
The Arduino Nano converts this analog voltage (\(V_{\text{out}}\)) into a digital value ranging from 0 to 1023 using its 10-bit ADC:
\(\text{ADC\ Value}=\frac{V_{\text{out}}}{5}\times 1023\)
During calibration, specific ADC values are mapped to explicit distances:
- No Fault Condition: \(V_{\text{out}} \approx 5\text{V}\), ADC Value ≈ 1023 (Open Circuit)
- Fault at 2 Kilometers: ADC Value ≈ 700 (Low Resistance)
- Fault at 4 Kilometers: ADC Value ≈ 500 (Medium Resistance)
- Fault at 6 Kilometers: ADC Value ≈ 300 (High Resistance)
When an operator presses a phase selection button, the internal program executes an automated sequence:
- It triggers the corresponding relay to close the measurement loop.
- It pauses for 50 milliseconds to allow relay contacts to stabilize (debounce).
- It samples the respective ADC channel multiple times to filter out high-frequency noise.
- It compares the averaged digital value against a pre-programmed lookup array.
- It computes the distance and prints the location matrix onto the LCD.
- Firmware and Software Logic
The embedded program is developed in C++ using the Arduino IDE platform. The program architecture follows a state-machine model.
7.1 Initialization Loop
Upon system boot, the setup() function configures the digital I/O pins, activates the internal pull-up resistors for the user input buttons, initializes the LCD object, and displays a “System Ready” welcoming prompt.
7.2 Main Scanning State
The continuous loop() function polls the state of the four input phase buttons. If no button is pressed, the system remains in a low-power scanning loop and the LCD displays “All Phases Clear”.
7.3 Fault Analysis Routine
When a button press is registered (e.g., Phase B):
- The program changes state and sets Pin D9 high, engaging Relay 2.
- The analog voltage at pin A1 is read using analogRead(A1).
- An evaluation block filters the code:
- If the value matches the 2 km profile, it flags a 2 km fault.
- If it matches the 4 km profile, it flags a 4 km fault.
- The system sends data commands to the LCD to update the screen display.
- The relay is disengaged, returning the detector to its default monitoring state.
- Results and Discussion
Experimental evaluation of the prototype confirmed the reliability of the system design. Under test conditions using a synthetic resistor array, the microcontroller correctly classified different fault conditions.
The system performance matrix highlights the correlation between fault location, measured voltage, and system output:
| Active Phase Input | Pressed Button Target | Measured ADC Value | Detected Fault Status | LCD Output Readout |
| None | Idle Mode | 1023 | Healthy Line | Line Status: OK |
| Phase A | Button 1 (Tier 1) | 712 | 2 Kilometers | Ph: A Flt: 2KM |
| Phase B | Button 2 (Tier 2) | 508 | 4 Kilometers | Ph: B Flt: 4KM |
| Phase C | Button 3 (Tier 3) | 335 | 6 Kilometers | Ph: C Flt: 6KM |
The text-based feedback on the 16×2 LCD layout is clear and easy to read:
[Line 1]: PH: B FAULT DET.[Line 2]: DISTANCE: 4.0 KM
The prototype exhibited a response time of less than 200 milliseconds from button activation to line telemetry calculation. This response profile is well within standard limits for electrical diagnostic applications.
- Conclusion & Future Scope
The Underground Cable Fault Detector prototype successfully demonstrates an efficient, automated method for locating line faults. By leveraging the processing capabilities of an Arduino Nano and the reliability of a switchable relay-ADC layout, the design eliminates manual diagnostic steps. This layout ensures line safety and speeds up electrical grid repairs.
9.1 Future Enhancements
- Wireless Telemetry Integration: Adding an IoT module (such as an ESP8266 or GSM modem) to transmit exact GPS fault coordinates to a central utility control station.
- Graphical User Interfaces: Upgrading the 16×2 character display to a high-resolution touchscreen TFT monitor to plot line impedance graphs in real time.
- Advanced Fault Analytics: Implementing lookup tables capable of detecting complex open-circuit, line-to-line, and high-impedance intermittent structural faults.





Reviews
There are no reviews yet.