WiFi-Controlled Pipe Cleaning Robot With NodeMCU Web Dashboard (Drill + Ultrasonic + Live Sensor Feed)

by arhamsameel3 in Circuits > Robots

22 Views, 1 Favorites, 0 Comments

WiFi-Controlled Pipe Cleaning Robot With NodeMCU Web Dashboard (Drill + Ultrasonic + Live Sensor Feed)

WiFi-Controlled Pipe Cleaning Robot With NodeMCU Web Dashboard

So I built this pipe cleaning robot that crawls inside pipes, scrubs with a front drill motor, and now I can control the whole thing from my phone browser over WiFi. No app, no Bluetooth, nothing special — just connect to its hotspot and you get a full control dashboard.

The sensor setup is simple: one HC-SR04 on the front. That's it. It tells you what's ahead, and you make the call. Manual control over WiFi means you decide when to reverse, when to drill harder, when to stop — which honestly is more useful than autonomous mode inside an unknown pipe.

Supplies

IMG_3925.JPG

NodeMCU ESP8266

1× HC-SR04 Ultrasonic Sensor (front only)

L298N Motor Driver Module

3× TT Yellow Gear Motors

1× Small DC Motor (drill/brush, front mounted)

7.4V Li-Po Battery

Buck converter (to get 5V for NodeMCU)

3D printed chassis with spring suspension arms

Jumper wires, M3/M4 screws, hot glue

What It Does

91BF194F-710B-453B-A215-FF27EECC23B5.JPG

The robot hosts its own WiFi access point. You connect your phone or laptop to that network, open a browser, and you get a control panel with:

  1. Forward / Backward / Stop buttons
  2. Drill ON / Drill OFF toggle
  3. Live ultrasonic distance , refreshing every second
  4. A simple status indicator showing current movement state

Everything runs on HTTP GET requests — the ESP8266 handles them, drives the motors through an L298N, and responds with updated sensor data as JSON.

Architecture

IMG_3917.JPG

NodeMCU creates a WiFi access point. You connect your phone to it, open 192.168.4.1 in the browser, and get the dashboard. Buttons send HTTP GET requests — /forward, /backward, /stop, /drillon, /drilloff. One endpoint /sensors fires the HC-SR04 and returns a JSON with the front distance. Dashboard polls it every second.

L298N handles all motor power. NodeMCU only drives logic-level signals.

Wiring

NodeMCU → L298N (Drive motors):

  1. D1 → IN1
  2. D2 → IN2
  3. D3 → ENA (PWM)

NodeMCU → L298N (Drill motor):

  1. D5 → IN3
  2. D6 → IN4
  3. D7 → ENB (PWM)

NodeMCU → HC-SR04 (front):

  1. D8 → TRIG
  2. D4 → ECHO — use a voltage divider here (10kΩ + 20kΩ). SR04 echo is 5V, NodeMCU is 3.3V. Skip this and you'll kill a GPIO pin quietly over time.

Power:

  1. Battery → L298N 12V in + Buck converter in
  2. Buck converter 5V out → NodeMCU VIN
  3. L298N 5V out → SR04 VCC
  4. All grounds tied together


3d Files

Code

Downloads

Using It

This is the part that actually makes this robot different from a regular RC car — the spring suspension arms.

Before inserting, pull all three suspension arms inward toward the chassis and hold them compressed. The springs will resist but it's manageable with one hand. In this collapsed state the robot is narrow enough to fit into the pipe opening.

Once the front end is inside, slowly release your grip. The springs push the arms outward and the rubber wheels press firmly against the inner pipe wall. The robot self-centers automatically — no adjustment needed. This works across a range of pipe diameters, not just one fixed size.


Power on. NodeMCU boots and the PipeCrawler WiFi network appears.

Connect your phone to it (password: crawl1234).

Open browser → 192.168.4.1.

Drive forward, watch the front distance. If it drops below 10cm it goes red — that's your cue to stop or reverse.

Toggle drill as needed.

Tips

Voltage divider on the echo pin is not optional. I cannot stress this enough.

NodeMCU PWM is 0–1023, not 0–255. If motors barely move, this is why.

One sensor is enough for manual control — you're watching the number and deciding. The autonomous version needed two because the code had to detect if it was actually moving forward. Here, that's your job.

If the distance reads 999 it means the pulse timed out — either nothing is in range or the sensor isn't wired right. Check the echo voltage divider first.

Conclusion

One sensor, one NodeMCU, one dashboard. The spring suspension arms do the centering inside the pipe, the drill handles the scrubbing, and you drive it from your phone. Total build cost around ₹1,800–2,200. The 3D printed chassis took the most iteration — four versions of the suspension arms before they stopped binding — but the electronics side is genuinely straightforward once the voltage levels are sorted.