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

- 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


How it works
- 01PS4 controller pairs to ESP32 via Bluetooth Classic using the Bluepad32 library
- 02ESP32 maps joystick X/Y from raw values (-511 to 512) to a normalized range (-100 to 100)
- 03Normalized coordinates sent to Arduino Uno over UART at 115200 baud as comma-separated 'x,y' strings
- 04Arduino parses the values and computes: leftSpeed = Y - X, rightSpeed = Y + X
- 05Speeds are mapped from -100 to 100 range to PWM values 0-255 for the TB6612 motor drivers
- 06TB6612 drivers independently drive all 4 DC motors with proper H-bridge direction control
- 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.