โšฝ๐Ÿค– ESP-NOW Wireless Soccer Robot

by Mohammed Nihal in Circuits > Robots

53 Views, 0 Favorites, 0 Comments

โšฝ๐Ÿค– ESP-NOW Wireless Soccer Robot

WhatsApp Image 2026-05-19 at 8.54.08 PM (1).jpeg

In this project, I built a wireless soccer robot using an ESP8266, L298N motor driver, BO motors, and a rechargeable Li-ion battery.

The robot is controlled wirelessly using ESP-NOW communication. A separate ESP32 joystick controller sends movement commands to the ESP8266 mounted on the robot. The ESP8266 receives these commands and controls the motors through the L298N motor driver.

The robot is enclosed inside a 3D-printed case, making the electronics and motors compact and protected.

This project helped me learn about ESP-NOW communication, motor control, wireless robotics, battery-powered systems, and 3D-printed robot design. โšฝ๐Ÿ“ก

Supplies

WhatsApp Image 2026-05-19 at 8.54.06 PM (1).jpeg

Electronics

  1. ESP8266
  2. L298N Motor Driver
  3. 2 ร— BO Motors
  4. Li-ion Battery
  5. Power Switch
  6. Connecting Wires

๏ธ 3D Printing

  1. 3D-printed robot case
  2. PLA / PLA+ filament
  3. 3D printer

๏ธ Tools

  1. Soldering Iron
  2. Solder Wire
  3. Wire Cutter / Stripper
  4. Screwdriver
  5. Hot Glue / Double-Sided Tape


๐Ÿ–จ๏ธ 3D Printing the Robot Case

WhatsApp Image 2026-05-19 at 8.54.05 PM (1).jpeg
WhatsApp Image 2026-05-19 at 8.54.06 PM.jpeg
WhatsApp Image 2026-05-19 at 8.54.05 PM.jpeg

First, I prepared the 3D-printed case for the soccer robot.

The case is designed to hold the ESP8266, L298N motor driver, battery, wiring, and other electronics while also providing mounting points for the BO motors.

I printed the parts using an FDM 3D printer with PLA/PLA+ filament.

After printing, I cleaned the parts and checked that the motors and electronics fit properly.

The 3D files can be shared with this project so other makers can print and modify the robot case.

โš™๏ธ Installing the BO Motors

WhatsApp Image 2026-05-19 at 8.54.07 PM.jpeg

I installed the two BO motors on the robot chassis.

The motors are responsible for moving the robot:

  1. Both motors forward โ†’ Robot moves forward
  2. Both motors backward โ†’ Robot moves backward
  3. Left motor forward + right motor backward โ†’ Robot turns
  4. Left motor backward + right motor forward โ†’ Robot turns in the opposite direction
  5. Motors stopped โ†’ Robot stops

The motors are connected to the L298N motor driver, which allows the ESP8266 to control their direction and movement.

๐Ÿ”Œ Making the Motor Circuit

The L298N motor driver acts as the interface between the ESP8266 and the BO motors.

The general connection is:

ESP8266 โ†’ L298N โ†’ BO Motors

The ESP8266 provides the control signals to the L298N, while the motor driver supplies the required current to the motors.

The Li-ion battery provides power to the robot.

โš ๏ธ Important: Check the voltage and polarity of your battery, ESP8266, and motor driver before powering the circuit.

๐Ÿ”‹ Adding the Battery and Power Switch

A rechargeable Li-ion battery is used to power the robot.

I also added a power switch so that the robot can easily be turned ON and OFF.

The basic power flow is:

Li-ion Battery โ†’ Power Switch โ†’ Robot Electronics / Motor Driver

The battery and electronics are placed inside the 3D-printed case to keep the robot compact.

๐Ÿ“ก ESP-NOW Wireless Communication

The main feature of this robot is ESP-NOW wireless communication.

The robot uses an ESP8266 as the receiving controller.

The separate ESP32 joystick controller sends commands wirelessly to the robot using ESP-NOW.

The communication system works like this:

๐ŸŽฎ ESP32 Joystick Controller

โ†“

๐Ÿ“ก ESP-NOW

โ†“

๐Ÿค– ESP8266 on Soccer Robot

โ†“

L298N Motor Driver

โ†“

โš™๏ธ BO Motors

This allows the robot to be controlled without a physical cable between the controller and the robot.

๐Ÿ’ป Programming the ESP8266

The ESP8266 is programmed to receive movement commands through ESP-NOW.

After receiving a command, the ESP8266 determines which motors should move and sends the appropriate control signals to the L298N motor driver.

The basic control logic is:

  1. Forward โ†’ Both motors forward
  2. Backward โ†’ Both motors backward
  3. Left โ†’ Robot turns left
  4. Right โ†’ Robot turns right
  5. Stop โ†’ Both motors stop

The motor control logic can also be modified to create different movements and speeds.

๐ŸŽฎ Connecting the Wireless Controller

The robot is controlled using the ESP32 joystick controller that I built separately.

The joystick controller reads the joystick position and converts it into movement commands.

These commands are transmitted to the soccer robot through ESP-NOW.

For example:

Joystick Forward โ†’ ESP32 โ†’ ESP-NOW โ†’ ESP8266 โ†’ L298N โ†’ Robot Forward

This creates a simple and responsive wireless control system.

๐Ÿงช Testing the Robot

After completing the assembly and programming, I tested the robot in different directions.

Movement Tests

  1. โฌ†๏ธ Forward
  2. โฌ‡๏ธ Backward
  3. โฌ…๏ธ Left
  4. โžก๏ธ Right
  5. โน๏ธ Stop

I also tested the ESP-NOW wireless connection to make sure commands from the controller were correctly received by the ESP8266.

Finally, I checked the battery, power switch, motor driver, motors, and wireless control system.

๐Ÿงฉ Final Assembly

After testing everything, I placed the electronics inside the 3D-printed case.

The ESP8266, L298N motor driver, battery, and wiring were arranged inside the robot to keep the design compact.

The final result is a small wireless soccer robot that can be controlled using an ESP32 joystick controller.

โšฝ๐Ÿค–๐Ÿ“ก

๐ŸŒ Open-Source 3D Files

I am sharing the 3D-printable case files with this project so that other makers can build their own version.

The files can be downloaded from the Supporting Files section of this Instructable.

3D Printing Information

  1. File format: STL
  2. Printing method: FDM
  3. Recommended material: PLA / PLA+
  4. Supports: Depending on the individual part

You can modify the design according to your own motors, electronics, and requirements.

If you remix or improve the design, please give credit to the original design.

๐Ÿ”— Project on LinkedIn

I have also shared this Soccer Robot project on LinkedIn as part of my robotics project series.

The LinkedIn post includes additional project photos and details.

LinkedIn Project: https://www.linkedin.com/feed/update/urn:li:activity:7474324638626476032/

๐Ÿš€ Conclusion

This project was a practical way to build a wireless soccer robot using ESP-NOW.

By combining an ESP8266, L298N motor driver, BO motors, Li-ion battery, power switch, and 3D-printed case, I created a compact robot that can be controlled wirelessly using an ESP32 joystick controller.

Through this project, I gained practical experience with:

  1. ๐Ÿ“ก ESP-NOW wireless communication
  2. ๐Ÿค– ESP8266 programming
  3. โš™๏ธ DC motor control
  4. ๐Ÿ”Œ L298N motor driver
  5. ๐ŸŽฎ Wireless joystick control
  6. ๐Ÿ”‹ Battery-powered robotics
  7. ๐Ÿ–จ๏ธ 3D-printed robot design
  8. ๐Ÿ”ง Electronics assembly

This project also gave me a better understanding of how two microcontrollers can communicate wirelessly to control a real robotic system.

Thanks for checking out my project! โšฝ๐Ÿค–

If you build your own version, feel free to share it!