Modular Autonomous Ground Vehicle (MAG-V)

Waveshare Rover Platform • ESP32 Control • Payload System • Radar Sensing • Wi-Fi and Bluetooth Operation

Custom unmanned ground vehicle project integrating remote mobility, payload aiming and actuation, ultrasonic radar-style sensing, OLED telemetry, browser-based Wi-Fi control, Bluetooth gamepad operation, onboard battery monitoring, and emergency-stop safety logic into a single modular robotics platform.

Project Overview

The Modular Autonomous Ground Vehicle, or MAG-V, was developed as a modular rover platform capable of remote driving, sensor-assisted awareness, payload aiming, payload actuation, and future autonomous expansion. The final system was built around a Waveshare rover base, an ESP32-based driver board, a browser-based controller, Bluetooth gamepad support, ultrasonic radar-style sensing, and a servo-driven payload mechanism.

The most difficult part of this project was system integration. The final build required motor control, wireless communication, browser commands, Bluetooth input, OLED feedback, sensor telemetry, servo control, relay actuation, battery monitoring, and safety logic to work together reliably without brownouts, pin conflicts, startup issues, or excessive latency.

Platform Waveshare Rover
Controller ESP32
Control Modes Wi-Fi + Bluetooth
Final Build v11.11 Demo Code

My Role

This project was submitted in a group course setting for MENG 4311, but I served as the primary technical lead for the final integrated rover build. I independently completed the core system integration work, including firmware development, wiring architecture, sensor integration, payload control, web interface development, Bluetooth controller integration, subsystem troubleshooting, and final demo preparation.

My documented contributions included setup and procedures, results, bill of materials, electrical diagrams, CAD/model appendices, firmware appendices, and web user interface documentation. The final working build integrated Wi-Fi control, Bluetooth gamepad operation, ultrasonic radar-style sensing, servo payload aiming, relay payload actuation, OLED telemetry, onboard battery monitoring, and emergency-stop behavior.

Final Implemented System

The finished rover combined mechanical design, embedded firmware, wireless control, sensor feedback, payload actuation, and power-management troubleshooting into one working platform.

Wi-Fi Access Point Control

The rover creates its own local Wi-Fi access point and serves a browser-based user interface for telemetry, drive control, payload control, radar visualization, and emergency-stop operation.

ESP32 Wi-Fi AP Web UI

Bluetooth Gamepad Mode

The final demo build supports an Xbox One controller. The left stick controls rover motion, the right stick controls payload pan/tilt, and controller buttons handle stop, radar sweep, payload trigger, and next-boot mode selection.

Bluetooth Bluepad32 Xbox Controller

Payload Aiming and Triggering

A two-servo payload system provides horizontal and vertical aiming. A relay-controlled payload actuator allows remote triggering from the web interface or Bluetooth controller.

MG995 Relay Payload Control

Radar-Style Ultrasonic Sensing

An HC-SR04 ultrasonic sensor mounted on an SG90 servo performs a sweeping scan. Distance data is displayed through the web interface as a radar-style visualization.

HC-SR04 SG90 Radar View

Telemetry and OLED Feedback

The rover displays operating status, IP address, control mode, battery telemetry, sensor status, and safety state through the onboard OLED and web interface.

OLED INA219 Telemetry

Emergency-Stop Logic

A tilt switch and software emergency-stop latch force the rover into a safe state during rollover events, unsafe orientation, or operator-triggered stop conditions.

Safety Logic Tilt Switch Failsafe

Final Hardware Architecture

Core Platform

  • Waveshare Wave Rover base platform
  • ESP32-based General Driver for Robots Rev 1.2 board
  • 3S 18650 battery system
  • External antenna for improved wireless reliability
  • OLED display for local status feedback
  • Onboard INA219 current/voltage monitoring

Payload and Sensing

  • PCA9685 servo driver on the rover I2C bus
  • SG90 servo for ultrasonic radar sweep
  • Two MG995 servos for payload pan and tilt
  • HC-SR04 ultrasonic sensor with voltage divider on the echo line
  • Relay-driven payload actuator with separate payload power
  • Tilt switch for emergency-stop behavior

Electrical and Control Design

The rover used a split-power approach to improve reliability. Logic power stayed on the rover board, while the servo and relay loads were moved to an accessory 5 V rail with a shared ground reference. This reduced brownout issues caused by servo current spikes and relay/payload transients.

The PCA9685 servo driver was connected to the rover’s I2C bus and used to drive the radar servo and payload pan/tilt servos. The ultrasonic echo signal was routed through a voltage divider before entering the ESP32 input pin because the HC-SR04 echo output is a 5 V logic signal and the ESP32 uses 3.3 V logic.

Confirmed Pin Map

  • I2C SDA: GPIO32
  • I2C SCL: GPIO33
  • HC-SR04 trigger: GPIO16
  • HC-SR04 echo: GPIO4 through divider
  • Tilt switch: GPIO27
  • Relay input: GPIO5

PCA9685 Channel Map

  • Channel 0: radar SG90 servo
  • Channel 1: payload pan MG995 servo
  • Channel 2: payload tilt MG995 servo

Power Strategy

  • Rover battery powers base platform and logic
  • Accessory 5 V rail powers servos and relay control side
  • Payload motor remains on relay contact side with separate supply
  • Common ground connects rover logic, servo driver, relay control, and sensors

Software Architecture

The final firmware was written for the ESP32 using Arduino-style C++. It combined motor control, sensor polling, servo control, web server routes, JSON command handling, Bluetooth gamepad support, persistent boot-mode selection, telemetry reporting, OLED updates, and emergency-stop logic.

Wi-Fi Mode

In Wi-Fi mode, the rover becomes a local access point and hosts a control dashboard. The interface includes a home page, classic controller, virtual joystick, radar visualization, servo controls, relay controls, telemetry, and emergency-stop buttons.

Bluetooth Mode

In Bluetooth mode, the rover searches for an Xbox One controller and maps controller inputs to rover movement, payload pan/tilt, radar sweep, payload triggering, and emergency-stop behavior.

Mode Persistence

The firmware stores the next boot mode in nonvolatile preferences. The next mode can be toggled from the web interface, Bluetooth controller, or tilt-switch startup gesture.

Development Progression

Subsystem Bring-Up

Individual testing validated the motors, OLED, ultrasonic sensor, PCA9685 servo driver, relay control, external accessory rail, and tilt switch before full integration.

v10 Full Bring-Up

v10 integrated Wi-Fi access point control, OLED feedback, ultrasonic sensing, servo control, relay control, onboard telemetry, and manual web-based operation.

v11 Interface Expansion

v11 improved the user interface by separating the system into a home page, classic controller page, and virtual joystick page while preserving the working backend behavior.

v11.11 Final Demo Build

v11.11 added the final dual-mode Wi-Fi/Bluetooth architecture, Xbox controller support, radar visualization, payload controls, startup mode selection, and emergency-stop behavior used for the final demonstration.

Engineering Challenges

Power Stability

Servo and relay loads caused brownout risk when powered from weak or shared rails. The solution was to separate accessory power from logic power while keeping all control grounds common.

Pin Conflicts

Several ESP32 pins had board-level functions or serial conflicts. The final pin map was selected after testing which pins could support sensors and peripherals without upload or serial issues.

Control Latency

Blocking sensor reads affected web responsiveness. Later firmware revisions reduced blocking behavior, shortened ultrasonic timeouts, and prioritized control responsiveness.

Integration Scope

The project required simultaneous mechanical mounting, wiring, firmware, user interface, safety behavior, payload control, and live testing under a tight course-project timeline.

Results

The final MAG-V prototype demonstrated remote rover motion, browser-based control, Bluetooth gamepad operation, payload aiming, payload triggering, ultrasonic radar-style sensing, OLED status display, onboard telemetry, and emergency-stop behavior. The system was successfully demonstrated as a modular ground-vehicle platform with room for future autonomy and sensor-fusion development.

Validated Capabilities

  • Wi-Fi access point control from a mobile browser
  • Classic button control and virtual joystick control
  • Bluetooth gamepad driving and payload control
  • Radar-style ultrasonic sweep visualization
  • Payload pan/tilt servo control
  • Relay-based payload actuation
  • OLED telemetry and status feedback
  • Tilt-triggered and software emergency stop behavior

Future Improvements

  • Add autonomous navigation and obstacle avoidance
  • Improve radar visualization and data logging
  • Add cleaner enclosure and cable-management hardware
  • Publish cleaned firmware modules
  • Add rover photos, demo clips, and wiring diagrams to this page
  • Expand IMU-based motion analysis and sensor fusion

Media and Documentation

The MAG-V web interface was built directly into the rover firmware and served from the ESP32 over the rover's local Wi-Fi access point. The interface included a home/status page, a classic controller, a virtual joystick controller, live telemetry, radar-style ultrasonic visualization, payload controls, servo controls, and emergency-stop controls.

MAG-V virtual joystick and radar visualization interface
MAG-V web controller home page showing telemetry
Web controller home page showing system telemetry, battery voltage, drive command state, range data, tilt status, relay state, emergency-stop status, and selected control mode.
MAG-V classic controller page with timed jog and servo controls
Classic controller interface with timed jog controls, radar servo commands, payload pan/tilt controls, and safety-oriented manual operation.
MAG-V virtual joystick interface with radar visualization
Virtual joystick interface with live radar-style ultrasonic visualization, current range reading, sweep state, and touch-based drive control.

Note: the full submitted course report is not posted here because it contains group course context, school-specific links, full code appendices, and embedded reference materials. This page is the cleaned public-facing technical summary.

Related Work / Contact

This project connects directly to my broader work in embedded systems, robotics, CAD, data acquisition, power systems, and electromechanical prototyping.