Blog.

RoboCup Junior Lightweight Soccer – My Journey in Building a Competitive Robot 2023

Cover Image for RoboCup Junior Lightweight Soccer – My Journey in Building a Competitive Robot 2023
Satyar Salehian .D
Satyar Salehian .D

In 2023, while still a high school student, I led my team in a complete redesign of our RoboCup Junior Lightweight Soccer robot. Inspired by the advanced robotics work at our research center, we set out to build a cutting-edge robot capable of outperforming competitors in speed, accuracy, and tactical intelligence.

As the team captain and lead circuit designer, I was responsible for the entire electronics architecture and strategy execution of the robot. Here’s a breakdown of what made our robot stand out:

Key Technical Features:

  • Microcontroller: STM32F405RGT6

    • A powerful 32-bit ARM Cortex-M4 running at 168 MHz.
    • Enabled use of the Input-Capture feature for each ball sensor (TSSP), allowing us to achieve high-speed, real-time ball detection.
  • Sensor Fusion: BNO055 + MPU6050

    • Combined data from both sensors for robust head tracking.
    • The MPU6050 helped us track angular velocity, so even if our robot was pushed off-course, it would react instantly to reorient its head and continue tracking the ball.
  • OUT area Detection: NJL7302L-F3 Sensors + Ultrasonics

    • Fused data from NJL7302L-F3 sensors and ultrasonic modules to precisely detect and measure distances from the walls — crucial for maintaining strategic field positioning.
  • Vision System: OpenMV H7+

    • Used for real-time image processing to detect open spaces and goal directions, helping the robot decide the optimal time and angle to shoot.
  • Motors & Drivers

    • Motors: High-torque MAXON Dcx16L motors for fast movement and precise control.
    • Drivers: DRV-series motor drivers, custom-configured for high-frequency PWM control and heat dissipation.

Custom Electronics Design:

I designed a three-tier circuit system:

1. Main Board:

  • Hosts the STM32 microcontroller and Head Controller modules
  • Handles motor control, ball sensor data processing, and strategy coordination.

2. Sensor Board (Sub-board):

  • Dedicated to handling the TSSP58038 (ball) sensors and delivering clean, filtered data to the main board.

3. Power & Auxiliary Board:

  • Regulates power delivery and processing OUT sensors data

Check out the board designs on GitHub :

-> Main and Ball Sensors Board on GitHub <-

Additionally, I designed a custom motor driver board, which I’ve detailed here:

-> Check out this blog post about DRV8256P <-

Intelligent Strategy & Angular Correction

Our robot’s attacker strategy relied heavily on maintaining head orientation. Even when physically pushed by an opposing robot, the onboard IMU data (from the MPU6050) helped detect the shift in angular velocity, allowing the robot to instantly correct its orientation.

This stability was crucial in offensive plays. Once near the goal, the robot would subtly adjust its head for the best shooting angle and then strike with precision — often catching defenders off guard.

Challenge: BNO055 I2C Communication

One major technical hurdle we faced was I2C instability with the BNO055 sensor. Due to the STM32 running at 165 MHz, we experienced synchronization issues. After multiple attempts, we solved it by:

  • Connecting a secondary low-frequency microcontroller (ATmega328) to interface with the BNO055 via I2C.
  • Transferring the sensor data to the STM32 using SPI communication, which proved reliable and efficient.

Source Code:

Check out our complete code and implementation on GitHub:

-> RCJ Soccer Lightweight 2023 by Mohammad Hossein Nabavi <-

Building this robot was one of the most intense and rewarding technical experiences of my early career. It taught me about real-time embedded systems, sensor fusion, circuit design, and teamwork — all under the pressure of competition.

In IranOpen 2023 competition( Iranian RoboCup Open Competition), we won the first place in the Junior Soccer league with a 100-goal difference and were selected to compete in RoboCup 2023 in Bordeaux, France.

Checkout our competition's video on my Linkedin -> Our Competition's Video 2023 <-

I look forward to sharing more projects like this soon. If you have any questions or want to collaborate, feel free to reach out!