Project · Public · In Progress

🤖 Rover

A WiFi-controlled rover for a woodchip-covered allotment plot in North Yorkshire. First job: drive it manually along the rows to capture video and photos, then let AI flag plant health issues, pest damage, weeds and watering needs that get missed on routine visits. Longer term: it maps the plot once, then navigates to named beds on its own.

📶 WiFi Control 🌿 Allotment Patrol 🧠 AI Plant Analysis 🗺️ Autonomous Nav (planned)
Hardware

What it runs on

The equipment involved, grouped by which phase it's for.

🔧 Driving — Phases 1–2

  • Aluminium chassis kit — 4 mecanum wheels, 4 TT motors
  • WAV-23730 — ESP32-based motor controller board (WiFi + Bluetooth built in)
  • 3S LiPo battery + balance charger

🧠 Autonomy — Phase 3

  • Raspberry Pi 5 + active cooler
  • Pi camera module (forward-facing)
  • HC-SR04 ultrasonic distance sensor
  • RPLiDAR A1 (SLAM mapping)
The Brain

Waveshare WAV-23730

One board replaces the motor driver, the WiFi module and most of the wiring loom that sank the previous attempt at this project.

📶ESP32 built in — WiFi, Bluetooth and ESP-NOW, no separate radio module
🚗Drives all 4 motors directly — no separate motor driver board needed
🔋7–13V input — onboard voltage regulation, no buck converter needed
🧭9-axis IMU, microSD, I2C all onboard, plus live voltage monitoring
🔌40-pin GPIO header — mounts a Raspberry Pi 5 directly for Phase 3
Automatic download circuit — code via Arduino IDE over USB-C, no button-pressing to flash
USB-C → laptop (code upload) M1 M2 M3 M4 FL FR RL RR WAV-23730 ESP32 · motor driver LiPo 3S 11.1V XT60 Motor power (2 wires/motor, PWM) Battery via XT60 USB-C, code upload only

All 8 motor wires are power only — speed and direction are handled internally by the board via PWM, no separate signal wires.

Roadmap

Three phases, tested in order

Each phase has to prove itself before the next one starts — the previous rover attempt stalled on component complexity, so this build adds one capability at a time.

1
● Current Focus

Browser WiFi Control

Goal: drive the rover from a phone browser over WiFi.

Active: WAV-23730 + 4 motors + LiPo battery

  1. Mount the WAV-23730 on the chassis using the included standoffs
  2. Connect the 8 motor wires to terminals M1–M4
  3. Connect the battery via the XT60 adapter cable
  4. Upload the Waveshare WiFi example code via Arduino IDE over USB-C
  5. Connect a phone to the rover's WiFi hotspot
  6. Open a browser and navigate to the rover's IP address
  7. Control the rover via on-screen buttons
Success: rover drives in all directions from a phone browser.
2
◐ Next

Bluetooth App Control

Goal: control the rover via the Dabble app or a custom interface, over Bluetooth.

Active: same hardware as Phase 1

  1. Upload the Bluetooth control example code from the Waveshare wiki
  2. Pair a phone to the rover over Bluetooth
  3. Use the Dabble app's joystick interface, or build a custom interface
  4. Optional: build a custom PWA (Progressive Web App) with joystick control
Success: rover drives smoothly via a phone joystick.
3
○ Future

Autonomous Navigation + AI Plant Analysis

Goal: the rover patrols the allotment on its own, captures images, and returns an AI analysis report.

New hardware: Raspberry Pi 5 (on the WAV-23730's GPIO header), Pi camera module (forward-facing), HC-SR04 ultrasonic sensor, RPLiDAR A1 (SLAM), Pi 5 active cooler

Architecture

WAV-23730 keeps handling motor control; the Pi 5 takes on navigation, camera and AI analysis. ROS2 on the Pi runs SLAM and waypoint navigation, the Pi camera captures stills every few seconds during a patrol, and each image is sent to a vision AI (Claude or GPT-4 Vision) for a plant-health read.

  1. Mount the Pi 5 on the WAV-23730's GPIO header
  2. Confirm 5V power delivery from board to Pi against the Waveshare schematic
  3. Install ROS2 on the Pi 5
  4. First manual run — SLAM maps the plot and saves it
  5. Define named waypoints (Bed 1, Bed 2, Compost, Water Butt, etc.)
  6. Autonomous patrol mode — rover navigates to each waypoint
  7. Camera captures images at each bed
  8. A Python script sends images to the vision AI API
  9. Analysis report returned — plant health, pest damage, dry patches, thin woodchip coverage
Success: rover completes an autonomous plot patrol and returns a plant health report, no manual intervention.
Phase 3 Architecture

Two boards, one job each

The WAV-23730 stays the motor controller throughout — Phase 3 just adds a Raspberry Pi 5 on top for everything that needs real compute: mapping, navigation and vision.

📷 Pi Camera forward-facing 📡 RPLiDAR A1 SLAM mapping 📶 HC-SR04 obstacle detect 🧠 Raspberry Pi 5 ROS2 · SLAM · navigation · image capture ⚙️ WAV-23730 motor control (PWM) ☁️ Vision AI Claude / GPT-4V 📋 Patrol Report plant health · pests dry patches · woodchip

Motor control and navigation stay on separate boards deliberately — the WAV-23730 keeps driving reliably even while the Pi is busy mapping or waiting on an API call.

Terrain

The whole plot is woodchip

The plot surface is soft, uneven, loose woodchip throughout — the mecanum wheels on the current chassis may struggle to get traction on deep or loose sections, and that's the first thing to actually test in Phase 1 rather than assume.

Fallback identified: a tracked chassis (T101D aluminium, 12V motors, Hall sensors) if the mecanum wheels prove unworkable. The WAV-23730 board is chassis-agnostic, so it would simply move across if a chassis swap is needed — no rework of the electronics.

Phase 3 Vision

The control interface

A browser-based map showing the plot from above, named waypoints, the rover's live position, route planning, a manual override, a mission log and the AI analysis report — this is the target shape once autonomous patrol lands.

Allotment Rover — Patrol Map Patrol Active
Bed 1 Bed 2 Compost Water Butt
Bed waypoint Utility waypoint Rover position
🕹️
Manual Override
📜
Mission Log
🌿
AI Report
Key Principles

What's different this time

1

Keep it simple — the previous rover attempt failed on component complexity, not on any single hard problem.

2

Test before adding — each phase gets validated before the next one starts.

3

Integrated solutions preferred — the WAV-23730 replaces a driver board, a radio module and most of the wiring loom in one part.

4

Arduino IDE for Phases 1–2, ROS2/Python on the Pi for Phase 3 — the simplest toolchain that fits each phase's job.

5

AI coding assistance used throughout — so effort goes into hardware validation, not boilerplate.