Skip to content
Sayed Mowafi

Bluetooth Sumo Robot

A 1.85 kg PS4-controlled sumo robot with 130 ms control latency, built under a 200 AED budget.

Context
CEN325, Abu Dhabi University
My role
Team of three: firmware and wireless control
Year
2025
Result
2nd place in the course competition
Stack
ESP32, Arduino Uno, C++, Bluepad32, Bluetooth Classic, UART, TB6612, Tinkercad, 3D Printing
The 3D-printed sumo robot with its wedge ramp
control latency
130 ms
control latency
Bluetooth range
15 m
Bluetooth range
battery runtime
22 min
battery runtime

Overview

Built as part of the CEN325 course at Abu Dhabi University, this is a competition-grade sumo robot designed to push opponents out of a 200cm arena. The ESP32 handles Bluetooth Classic communication with a PS4 controller using the Bluepad32 library, while the Arduino Uno handles real-time motor control via a tank-steering algorithm. The two microcontrollers communicate over UART serial at 115200 baud. The robot chassis and wedge ramp were designed in Tinkercad and 3D-printed in PLA at 30% infill for a balance of strength and weight. A dual battery system separates the 12V SLA motor supply from the 7.4V Li-ion logic supply, preventing microcontroller resets during peak motor current draw.

The problem

Design a competitive sumo robot within a 200 AED budget that can push opponents out of a 200cm arena, controlled wirelessly via PS4 Bluetooth, with reliable real-time motor control, a 3D-printed chassis, and a total weight under 2kg.

The approach

A dual-microcontroller architecture separates concerns: ESP32 handles Bluetooth with a PS4 controller via the Bluepad32 library, while Arduino Uno handles real-time PWM motor control. They communicate over UART at 115200 baud. The chassis and low-profile wedge ramp were 3D-printed using Tinkercad designs. A dual battery system isolates motor power from logic circuits to prevent voltage sag during high-current motor operation.

Screens and photos

Internal wiring of the ESP32, Arduino and motor drivers
Internal wiring of the ESP32, Arduino and motor drivers
Wiring diagram of the robot
Wiring diagram of the robot

How it works

  1. 01PS4 controller pairs to ESP32 via Bluetooth Classic using the Bluepad32 library
  2. 02ESP32 maps joystick X/Y from raw values (-511 to 512) to a normalized range (-100 to 100)
  3. 03Normalized coordinates sent to Arduino Uno over UART at 115200 baud as comma-separated 'x,y' strings
  4. 04Arduino parses the values and computes: leftSpeed = Y - X, rightSpeed = Y + X
  5. 05Speeds are mapped from -100 to 100 range to PWM values 0-255 for the TB6612 motor drivers
  6. 06TB6612 drivers independently drive all 4 DC motors with proper H-bridge direction control
  7. 07The 3D-printed wedge ramp at the front slides under opponents and lifts them to break traction

What it does

  • PS4/PS5 controller connects to ESP32 via Bluetooth Classic using the Bluepad32 library
  • Tank-steering algorithm: leftSpeed = Y - X, rightSpeed = Y + X, mapped to PWM 0-255
  • UART serial communication at 115200 baud between ESP32 (wireless) and Arduino Uno (motor control)
  • Dual TB6612FNG motor drivers independently controlling all 4 DC motors
  • 3D-printed wedge ramp designed in Tinkercad at 25-30° angle, PLA at 30% infill
  • Dual battery system: 12V SLA for motors, 7.4V dual-18650 Li-ion for logic circuits
  • Bluetooth control range of 15m, end-to-end latency of 130ms, total weight 1.85kg
  • 22+ minutes of battery runtime under continuous operation

Results

Built for CEN325 (IoT 1) at Abu Dhabi University, supervised by Dr. Rabah Al Abdi. The robot achieved a Bluetooth control range of 15m, end-to-end latency of 130ms, total weight of 1.85kg (within the 2kg limit), and 22 minutes of battery runtime. Team: El Sayed Hesham Mowafi, Ahmed Hany Elhadad, Amro Kamal Jalad.

Command Palette

Search for a command to run...