HomeIdentity EngineeringContact
Back to All Projects
FLAGSHIP 02 / 10

TITAN-V2

Autonomous rover with 3D-printed 6-axis robotic arm, multi-MCU architecture (ESP32 + ESP8266 + ESP-CAM), 6-sensor proximity array, IMU telemetry, and real-time mission control dashboard.

ESP32ESP8266ESP-CAM MPU-6050HC-SR04WebSocket C++3D Printing
View Source
2nd Year IoT End-Sem Project
3
ESP Modules Used
6-Axis
3D-Printed Robotic Arm
6
Ultrasonic Sensors
6-DOF
Robotic Arm + IMU

The Challenge

Agricultural terrain monitoring relies on manual inspection or expensive commercial drones. Research stations need an affordable, modular ground rover capable of autonomous navigation with a manipulator arm for sample collection.

  • Multi-MCU coordination — ESP32 alone doesn't have enough GPIO pins for 6 ultrasonic sensors + motor driver + IMU + servos simultaneously
  • Real-time orientation tracking — knowing rover pitch, roll, and yaw on uneven terrain via MPU-6050 IMU
  • 360° obstacle avoidance — detecting obstacles in 6 directions simultaneously
  • Live video + telemetry — streaming ESP-CAM feed alongside sensor data to a mission control dashboard
  • Robotic manipulation — controlling a 3D-printed 6-axis arm with precision servo actuation

Engineering Thinking

Built as my 2nd year IoT end-semester project. The initial design used ESP-NOW protocol for a custom handheld controller to manually operate the 6-axis arm and rover. When we decided to make it autonomous, we switched from ESP-NOW to WebSocket for lower-latency bidirectional communication.

The pin shortage problem was solved with a multi-MCU architecture: ESP32 handles motor control + IMU + WebSocket server, ESP8266 manages the 6 ultrasonic sensors, and ESP-CAM streams live video for AI analysis. All three communicate over WiFi through a laptop hotspot acting as the local network hub.

The 6-axis robotic arm was 3D-printed in PLA, the rover base was purchased off Amazon, and all electronic components were sourced online — keeping the total BOM cost minimal.

CHOSEN

Multi-MCU + WebSocket architecture

ESP32 + ESP8266 + ESP-CAM working together over WiFi. WebSocket for low-latency bidirectional telemetry.

EVOLVED FROM

ESP-NOW with custom controller

Initially used ESP-NOW for manual control. Abandoned when switching to autonomous mode — needed bidirectional data, not just commands.

REJECTED

Single-MCU design

ESP32 alone couldn't handle 6 ultrasonic sensors + 6 servos + motor driver + IMU + WiFi simultaneously. GPIO exhaustion.

Multi-MCU System Design

┌────────────────────┐ │ Mission Control │ │ Dashboard (Web) │ └─────────┬──────────┘ │ WebSocket (WiFi) │ ┌───────────────┼───────────────┐ │ │ │ ┌─────────┴──────┐ ┌─────┴──────┐ ┌──────┴──────┐ │ ESP32 │ │ ESP8266 │ │ ESP-CAM │ │ Main Control │ │ Sensor │ │ Video │ │ │ │ Manager │ │ Stream │ │ • MPU-6050 IMU │ │ • 6× HC- │ │ • Live MJPEG│ │ • Motor Driver │ │ SR04 │ │ • AI Feed │ │ • Servo (Arm) │ │ • Prox. │ └─────────────┘ │ • WebSocket │ │ Data │ └────────────────┘ └───────────┘ I2C + GPIO GPIO × 12 │ │ ┌────────┴──────┐ ┌─────┴──────┐ │ L298N Motor │ │ Buck/Boost │ │ Driver │ │ Converters │ └───────────────┘ └────────────┘ Rover Movement Power Mgmt

Why These Technologies

ESP32
Main controller — WiFi + enough processing power for WebSocket server, IMU data fusion, and motor PWM.
ESP8266
Added for GPIO expansion — manages all 6 ultrasonic trigger/echo pins that ESP32 couldn't spare.
ESP-CAM
Cheap OV2640 camera module with built-in WiFi. Streams MJPEG to dashboard for AI visual analysis.
MPU-6050 IMU
6-DOF accelerometer + gyroscope for pitch/roll/yaw tracking on uneven terrain. I2C interface.
WebSocket
Replaced ESP-NOW for autonomous mode. Bidirectional, low-latency, browser-compatible telemetry.
3D Printing (PLA)
Custom 6-axis robotic arm — no off-the-shelf arm fit the rover footprint. Designed and printed in-house.

Key Systems

MPU-6050 IMU Integration

  • I2C bus init with device detection handshake (0x68 address)
  • Raw accelerometer + gyroscope data fusion
  • Complementary filter for stable pitch/roll/yaw
  • 50Hz sampling rate with noise rejection

6-Sensor Proximity Array

  • 6× HC-SR04 managed by dedicated ESP8266
  • Sequential trigger-echo with microsecond timing
  • Configurable proximity thresholds per direction
  • Hazard alert system with directional severity mapping

WebSocket Mission Control

  • JSON telemetry frames at 10Hz over persistent connection
  • 3D orientation visualization in browser
  • 6-directional proximity gauge display
  • Manual override controls for motor + arm actuation

3D-Printed 6-Axis Arm

  • Custom-designed PLA arm with 6 servo joints
  • Initially controlled via ESP-NOW custom handheld
  • Migrated to WebSocket for autonomous operation
  • Inverse kinematics for target-position reaching

What Broke & What I Learned

Challenge 01
IMU Address Detection — 0x69 vs 0x68
Spent hours debugging why the MPU-6050 wasn't responding. I was using I2C address 0x69 but the chip defaulted to 0x68. After fixing the address, we still got garbage values — turns out the sensor needed a proper initialization sequence and warm-up delay before readings stabilized.
Lesson: Always run an I2C scanner first. Never assume default addresses from tutorials — check the actual datasheet.
Challenge 02
WiFi Multi-Device Connectivity
Using my mobile hotspot, only 2 of 3 ESPs would connect reliably — one kept dropping. Switched to laptop hotspot and it worked. Root cause: phone hotspot had a device connection limit and aggressive power-saving that killed idle connections.
Lesson: In multi-MCU IoT systems, your network infrastructure matters as much as your firmware. Control your AP.
Challenge 03
Random Disconnections — Power Management
ESPs would randomly disconnect mid-operation. The issue was power — voltage drops under motor load caused MCU brownouts. Fixed by adding buck and boost converters to provide clean, stable voltage rails to each MCU independently of the motor power draw.
Lesson: In robotics, power design is as critical as software. Separate MCU power from motor power with proper regulation.
Challenge 04
ESP-NOW to WebSocket Migration
The original ESP-NOW setup worked perfectly for manual control but couldn't support bidirectional data flow needed for autonomous telemetry. Rewriting the entire communication layer to WebSocket mid-project meant restructuring both firmware and dashboard code.
Lesson: Choose your communication protocol based on the final use case, not the prototype. Architectural pivots are expensive.

What It Achieved

Outcome
End-Sem Project Completion
Successfully delivered a working multi-MCU autonomous rover with robotic arm as 2nd year IoT end-semester project.
Outcome
Multi-MCU Coordination
3 microcontrollers (ESP32 + ESP8266 + ESP-CAM) working in sync over WiFi with stable real-time telemetry.
Outcome
Full Autonomous Pipeline
From manual ESP-NOW control to fully autonomous WebSocket-driven navigation with 6-sensor obstacle avoidance.

Screenshots & Demo

TITAN-V2 Mission Control Dashboard
Mission Control — Live Telemetry Dashboard
*Note: These images are generated by AI, the images will be replaced new very soon
TITAN-V2 Rover with 6-axis robotic arm
TITAN-V2 — Rover + 3D-Printed Robotic Arm
*Note: These images are generated by AI, the images will be replaced new very soon
Hardware components flat lay
Hardware Components — ESP32, ESP8266, IMU, Sensors
*Note: These images are generated by AI, the images will be replaced new very soon
System architecture diagram
System Architecture — Multi-MCU Data Flow
*Note: These images are generated by AI, the images will be replaced new very soon
Previous
RoadCams
Next
Payroll Suite