Bluetooth Sumo Robot
Competition-grade sumo robot controlled via PS4 Bluetooth, built with a dual-microcontroller architecture (ESP32 + Arduino Uno), tank-steering drive, and a custom 3D-printed wedge chassis. 2nd place in CEN325 competition.

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 Solution
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.
How It Works
PS4 controller pairs to ESP32 via Bluetooth Classic using the Bluepad32 library
ESP32 maps joystick X/Y from raw values (-511 to 512) to a normalized range (-100 to 100)
Normalized coordinates sent to Arduino Uno over UART at 115200 baud as comma-separated 'x,y' strings
Arduino parses the values and computes: leftSpeed = Y - X, rightSpeed = Y + X
Speeds are mapped from -100 to 100 range to PWM values 0-255 for the TB6612 motor drivers
TB6612 drivers independently drive all 4 DC motors with proper H-bridge direction control
The 3D-printed wedge ramp at the front slides under opponents and lifts them to break traction
Key Features
- 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
- Achieved 2nd place in CEN325 (IoT 1) competition at Abu Dhabi University
Technology Stack
Results
Achieved 2nd place in the CEN325 (IoT 1) competition 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.