← Projects

Pothole Detection Drone for Zimbabwe's Roads

An autonomous drone system using YOLOv8 computer vision and ArduPilot telemetry to detect and map potholes in real-time, helping municipal infrastructure maintenance in Bulawayo.

hardware demo
Problem
Driving in Bulawayo, Zimbabwe often felt like navigating a minefield. Hidden potholes disrupt supply chains and endanger lives. The local City Council couldn't fix what they couldn't find. Manual road inspections were slow, expensive, and incomplete.
Solution
Built a custom drone with CNC aluminum airframe, Raspberry Pi 5 edge computing, and YOLOv8 AI to autonomously detect potholes in real-time. The system syncs GPS coordinates with computer vision detections, creating an instant map of road defects for municipal maintenance teams.

Overview

What it is: An autonomous drone system that uses computer vision and GPS telemetry to detect and map potholes in real-time. The system combines a custom-built drone airframe, Raspberry Pi 5 edge computing, YOLOv8 AI model, and ArduPilot flight controller to create a flying infrastructure inspection tool.

Why it matters: Road maintenance in Zimbabwe faces a basic problem: manual inspections are slow, expensive, and often miss defects until they become dangerous. This system automates the discovery process, enabling municipal teams to prioritize repairs based on real-time data rather than reactive complaints.

Who it’s for: Municipal infrastructure teams, city councils, and transportation departments who need efficient, cost-effective road inspection capabilities. The system is particularly valuable in resource-constrained environments where traditional inspection methods are impractical.

Impact: The project won 2nd Place at the Zimbabwe International Trade Fair (ZITF), was presented to the President of Zimbabwe, and engaged with industry leaders at Econet Wireless. It demonstrated that low-cost, high-tech solutions can address real infrastructure challenges in developing economies.

The Problem

The Challenge

Driving in Bulawayo, Zimbabwe often felt like navigating a minefield. A hidden pothole doesn’t just ruin a tire; it disrupts supply chains and endangers lives. The local City Council faced a basic problem: they couldn’t fix what they couldn’t find.

Specific issues:

Who was affected:

Consequences of not solving it:

Why It Matters

Road infrastructure is critical for economic development and public safety. In Zimbabwe, where resources are limited, efficient maintenance is essential. The inability to quickly identify and prioritize road defects leads to:

Existing Solutions

Traditional approaches:

Why they’re insufficient:

Gap identified:

Constraints & Requirements

Technical constraints:

Time constraints:

Resource constraints:

User constraints:

The Solution

Approach & Methodology

The solution combines three key innovations:

  1. Custom Hardware Design: Built a vibration-resistant drone frame using CNC aluminum and 3D printing, optimized for computer vision stability
  2. Edge AI Processing: Deployed YOLOv8 on Raspberry Pi 5 for real-time pothole detection without requiring cloud connectivity
  3. Telemetry Synchronization: Integrated ArduPilot flight controller with computer vision to sync GPS coordinates with detections

Methodology:

Technology Stack

Hardware:

To achieve the reliability needed for municipal infrastructure monitoring, I selected high-performance components and designed a custom airframe.

Custom CNC Aluminum Build Plate The heart of the airframe: a custom-designed CNC aluminum build plate for maximum rigidity and vibration dampening.

Orange Cube Flight Controller The Orange Cube (CubePilot) provides triple-redundant IMUs for stable flight and supports the MAVLink protocol used for vision integration.

Raspberry Pi HQ Camera and Mount The Raspberry Pi HQ Camera with a wide-angle lens, secured in a custom 3D-printed mount designed for road-facing detection.

Brushless Motors and Propellers High-torque 880KV brushless motors paired with 10x7E propellers provide the lift needed for the heavy sensor payload.

Drone Parts Layout A complete breakdown of the drone’s bill of materials (BOM), from the flight controller and GPS to the power distribution board and ESCs.

Software:

Tools & Services:

Why this stack:

Architecture & Design Decisions

Architecture pattern: Master-Slave separation

Key design decisions:

  1. Vibration Dampening: Used rubber inserts to isolate Raspberry Pi and Cube Orange from frame vibrations, critical for accelerometer/gyrometer calibration
  2. Direct UART Connection: Hardwired connection at 921600 baud eliminates USB latency for real-time telemetry
  3. Nano Model Selection: Chose YOLOv8 Nano over larger models to prioritize FPS over marginal accuracy gains
  4. Asynchronous Uploads: Network calls pushed to separate threads to never block video processing loop

Trade-offs:

Scalability considerations:

Key Features

  1. Real-Time Pothole Detection: YOLOv8 processes video feed at flight speed, detecting potholes with >50% confidence threshold
  2. GPS Synchronization: Precise location data synced with each detection using Here3 RTK-ready GPS
  3. Live Data Upload: Cellular connectivity (Econet 4G/LTE) enables real-time data streaming to cloud API
  4. Autonomous Operation: Fully autonomous flight with pre-programmed waypoints
  5. Vibration-Resistant Design: Custom frame and dampening ensure stable camera feed for accurate detection

Technical Highlights

Core Detection Pipeline

# Simplified core logic
from dronekit import connect
from ultralytics import YOLO

# Initialize systems
vehicle = connect('/dev/ttyAMA0', baud=921600)
model = YOLO('pothole_v8_nano.pt')

# Detection loop
while True:
    frame = camera.read()
    results = model(frame)
    
    for detection in results:
        if detection.confidence > 0.5:
            # Get GPS immediately
            telemetry = {
                "lat": vehicle.location.global_frame.lat,
                "lon": vehicle.location.global_frame.lon,
                "alt": vehicle.location.global_relative_frame.alt
            }
            # Upload to cloud
            upload_detection(telemetry, detection)

Key Technical Decisions:

  1. UART at 921600 baud: Eliminates USB latency for sub-second telemetry sync
  2. Nano model selection: Optimized for Raspberry Pi 5 inference speed
  3. Confidence threshold at 0.5: Balances false positives with detection coverage
  4. Immediate telemetry capture: Gets GPS coordinates the moment pothole is detected (critical for accuracy at 15 m/s flight speed)

Frame Design Philosophy

Rigidity is King: When building a drone for computer vision, vibration is the enemy. The custom CNC aluminum build plate provides the rigidity needed for stable sensor operation, while 3D printed components allow rapid iteration and customization.

Vibration Dampening: Rubber inserts isolate critical components (Raspberry Pi, Cube Orange) from frame vibrations, ensuring accurate sensor readings and stable flight.

Process & Timeline

Phase 1: Research & Planning

Phase 2: Design & Development

Phase 3: Testing & Refinement

Major Milestones

Challenges & Solutions

Challenge 1: Vibration Affecting Computer Vision

The Problem: Initial frame design caused excessive vibration, making computer vision unreliable and affecting flight controller sensor calibration.

Why it was difficult: Balancing weight, rigidity, and vibration dampening while working with limited materials and tools in Zimbabwe.

The Solution:

What I learned: Vibration is the enemy of edge computing on drones. Every component placement matters, and isolation is critical for sensor accuracy.

Challenge 2: Telemetry Synchronization Timing

The Problem: When the camera detects a pothole, we need the exact GPS coordinate of that millisecond. A 2-second delay means the drone (flying at 15 m/s) is 30 meters away from the actual defect.

Why it was difficult: Multiple systems (camera, AI model, flight controller, GPS) all operating at different latencies needed precise synchronization.

The Solution:

What I learned: Real-time systems require careful attention to latency at every layer. Direct hardware connections are essential for sub-second synchronization.

Challenge 3: Resource Constraints in Zimbabwe

The Problem: Limited access to components, no Amazon, reliance on “runners” bringing parts from South Africa, limited local manufacturing capabilities.

Why it was difficult: Every component choice had to consider availability, cost, and local alternatives. Rapid iteration was challenging.

The Solution:

What I learned: Innovation in resource-constrained environments requires creativity, local partnerships, and designing for what’s available rather than what’s ideal.

Visual Elements

Screenshots & Demos:

ZITF display showing the drone at the Bulawayo City Council stand The custom-built pothole detection drone on display at the Bulawayo City Council stand during the Zimbabwe International Trade Fair (ZITF). The project received significant attention and was awarded 2nd Place for innovation.

Presentation to the President of Zimbabwe A pivotal moment for the project: presenting the drone and its AI-powered vision system to the President of Zimbabwe at the Zimbabwe Presidential Innovation Fair. The presentation highlighted how local engineering can address national infrastructure challenges.

Presentation to Econet leadership Discussing the integration of 5G connectivity and “Smart City” initiatives with Dr. Douglas Mboweni, CEO of Econet Wireless. The discussion explored real-time cloud data streaming for road maintenance and other municipal applications.

Diagrams:

Results & Metrics

Quantifiable Outcomes

Performance metrics:

Impact metrics:

Technical metrics:

User Feedback

“This system could revolutionize how we maintain our roads. Having real-time data on road conditions allows us to prioritize repairs based on actual need rather than complaints.”
— Bulawayo City Council Representative

“The integration of AI with flight telemetry is impressive. This could have applications beyond potholes: minefield detection, agriculture, infrastructure inspection.”
— Econet Wireless Leadership

Impact & Value Delivered

What value did this project create?

How did it improve the situation?

What changed as a result?

What opportunities did it unlock?

Learnings

What Worked Well

What Didn’t Work

What I’d Do Differently

Key Insights:

Next Steps

Future Improvements

Potential Iterations

Ongoing Work

The project demonstrated proof-of-concept and received significant recognition. Future development would focus on:


Completed: June 15, 2024