Arduino Based Underground Cable Fault Detection


The objective of this project is to determine the distance of underground cable fault from base station in kilometers using an Arduino board. The underground cabling system is a common practice followed in many urban areas. There are many electrical, telephone and other signal cables are laid underground.
Many time faults occur due to construction works and other reasons. At that time it is difficult to dig out cable due to not knowing the exact location of the cable fault.

What we learn?

1. What are the different cable faults?
2. How to detect cable faults?
3. How to detect fault location?
4. How to measure small value resistance?

Different Cable Fault

There are main two faults in cable short circuit and open circuit.

Short Circuit Fault

Short circuit can be determined by measuring resistance between two cables at one end (base station).  The value of resistance tells us the exact location of short circuit.

Cable Short Circuit Fault
Cable Short Circuit Fault

Open Circuit Fault

Open Circuit can be detected by measuring the capacitance between two wires. Capacitance of cable changes according to the length. The length of cable varies based on the location of cable cut (open).   As the cable is open parallel wire capacitance gets reduced based on this we can calculate the fault location.

Cable Open Circuit Fault
Cable Open Circuit Fault

The proposed system is to find the exact location of the fault. The project uses the standard concept of Ohms law i.e., when a low DC voltage is applied at the feeder end through a Cable lines, then current would vary depending upon the location of fault in the cable. In case there is a short circuit (Line to Ground), the voltage across series resistors changes accordingly, which is then fed to inbuilt ADC of Arduino board to develop precise digital data for display in kilometers.

The project is assembled with a set of resistors representing cable length in KM’s and fault creation is made by a set of switches at every known KM to cross check the accuracy of the same. The fault occurring at a particular distance and the respective phase is displayed on a LCD interfaced to the Arduino board. Further this project enhanced by measuring capacitance of cable which can even locate the open circuited cable.

Arduino based underground cable fault detection circuit

The circuit is consists of 4 line display, arduino and resistance measurement circuit. Main component of the underground cable fault detection circuit is low value resistance measurement. It is constructed using a constant current source of 100mAmps. It can measure very low value resistance as the cables have around 0.01 Ohm/meter resistance. For 10meter cable resistance becomes 0.1 Ohm. This circuit can measure resistance up 50 Ohm, Maximum cable length it can check up to 25000 meters.

Underground Cable Fault Detection Circuit
Underground Cable Fault Detection Circuit

Arduino Code for Underground Cable Fault Detection

  Arduino Based Underground Cable Fault Detection

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

const double Rc = 0.01;    //Cable Resistance per meter its 0.01 Ohm/Mtr
void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 4);
  // Print a message to the LCD.
  lcd.print("   Cable Fault  ");

void loop() {
  double Vx=(5.0/1024.0) * analogRead(A0);  //Voltage across Rx
  double Rx = Vx / (1.25/12);  //Cable Resistace  (1.25/R2)=I Constant Current Source
  //Display Cable Resistance
  lcd.setCursor(0, 1); // set the cursor to column 0, line 2
  lcd.print(" Ohm");

  //Display Fault Location
  lcd.setCursor(0, 2); // set the cursor to column 0, line 3
  lcd.print((Rx/Rc)/2);  //Find Location of Fault
  lcd.print(" Mtr");

Testing and Results

Circuit can be tested with different resistor values to simulate various fault conditions. It displays exact location of short circuit. Similarly you can find the open circuit in a cable using capacitance measurement technique.

18 thoughts on “Arduino Based Underground Cable Fault Detection

  1. Good day.

    I run a company that does ht power lines on the mines.

    I also do allot of mv cabling.

    Can you please send me all the details on what and how.
    I have a arduino mega r3 and and want to know exactly what tipe of screen, screen libraries and components.

    I want to build this as a portable unit for use to test cables in overhead cable racks.

    any info would be appreciated.


  2. Sir,
    I want use ohms law to find fault location I.e by sensing voltage drop can u plz send code and ckt diagram for same experiment but using ohm’s law

      1. hi brother i have an idea do u tell me is it possible to do it
        i have an idea of using sensor in this process to detect the fault and i need to know that if this process is possible doing with the telephone cable used underground in real time. i am taking this as my project using iot and i need to know about this pls reply me

  3. This code is incomplete and the technique doesn’t work in the real world.

    RC is not defined anywhere in this code. Since you are doing a constant current measurement it is only possible to measure the sum of the 2 resistors, only one measurement number so you can only solve 1 equation.

    The correct way to measure this parameter is a tdr.

    It is a much more technical process, but it will give real results. The thing you measure with a tdr is the time of reflection, the amplitude, and the sign of the reflection. With these numbers you can calculate distance, magnitude of the damage, and short or open.

Leave a Reply