Joystick Controller for a Soccer Robot.

by Mohammed Nihal in Circuits > Remote Control

26 Views, 0 Favorites, 0 Comments

Joystick Controller for a Soccer Robot.

WhatsApp Image 2026-05-19 at 8.54.03 PM.jpeg
WhatsApp Image 2026-05-19 at 8.54.01 PM.jpeg
WhatsApp Image 2026-05-19 at 8.54.02 PM.jpeg

This project is a wireless joystick controller for a soccer robot.

The controller uses an ESP32 to read the joystick movements and communicate with the soccer robot. It is powered by a rechargeable battery and includes a TP4056 charging module, DC jack, and power switch for convenient operation.

I built the circuit on a dotted PCB, keeping the controller compact, simple, and easy to assemble.

The joystick provides an intuitive way to control the robot's movement, making the controller suitable for robotics projects, demonstrations, and soccer robot competitions. ⚽🤖

The project has also been shared on my LinkedIn as part of my robotics projects.

Supplies

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

Electronics

  1. ESP32
  2. Joystick Module
  3. TP4056 Charging Module
  4. Rechargeable Battery
  5. DC Jack
  6. Power Switch
  7. Dotted PCB
  8. Connecting Wires

Tools

  1. Soldering Iron
  2. Solder Wire
  3. Wire Cutter / Stripper
  4. Screwdriver

🎮 Preparing the Components

Before starting the assembly, collect all the required components.

The main components of the controller are:

  1. ESP32
  2. Joystick module
  3. TP4056 charging module
  4. Rechargeable battery
  5. DC jack
  6. Power switch
  7. Dotted PCB

The dotted PCB is used to permanently assemble the circuit and keep the wiring organized.

🔌 Making the Circuit

The joystick module is connected to the ESP32, which reads the X-axis and Y-axis values.

The joystick is used to generate movement commands for the soccer robot.

Joystick Connections

The joystick module has:

  1. VCC → ESP32 3.3V
  2. GND → ESP32 GND
  3. VRX → ESP32 analog input
  4. VRY → ESP32 analog input
  5. SW → ESP32 digital input (if the joystick button is used)

The exact GPIO numbers can be assigned according to the ESP32 program and your PCB layout.

🔋 Charging Connections

The DC jack is connected directly to the TP4056 charging input:

  1. DC Jack Positive (+) → TP4056 IN+
  2. DC Jack Negative (−) → TP4056 IN−

The rechargeable battery is connected to the battery terminals of the TP4056:

  1. Battery Positive (+) → TP4056 B+
  2. Battery Negative (−) → TP4056 B−

The controller power is taken from the TP4056 output:

  1. TP4056 OUT+ → Power Switch → Controller positive supply
  2. TP4056 OUT− → Controller GND

⚠️ Always check the polarity of the battery and DC jack before powering the circuit.

🛠️ Soldering on the Dotted PCB

Once the circuit connections were confirmed, I started assembling the controller on the dotted PCB.

First, I positioned the ESP32 and joystick module in suitable locations. Then I soldered the connections between the components.

The wiring was kept as short and organized as possible to make the controller reliable and easier to troubleshoot.

I also made sure that the battery and charging connections were properly insulated.


🔋 Battery and Charging System

The rechargeable battery powers the controller.

The TP4056 charging module is used to charge the battery through the DC jack.

The charging path is:

DC Jack → TP4056 → Rechargeable Battery

The power switch is used to turn the controller on and off.

Before connecting the battery, carefully check the polarity of all power connections.

💻 Programming the ESP32

The ESP32 is programmed to continuously read the joystick values.

The joystick position is converted into movement commands that are sent wirelessly to the soccer robot.

The basic control logic is:

  1. Joystick forward → Robot moves forward
  2. Joystick backward → Robot moves backward
  3. Joystick left → Robot moves left / turns left
  4. Joystick right → Robot moves right / turns right
  5. Joystick centered → Robot stops

The joystick sensitivity and center position can be adjusted in the program according to the actual joystick module.

📡 Testing the Controller

After completing the programming and PCB assembly, I tested the controller with the soccer robot.

I checked each joystick direction individually and verified that the corresponding movement command was being sent correctly.

I also tested:

  1. Power switch
  2. Battery operation
  3. Charging through the DC jack and TP4056
  4. Joystick response
  5. Wireless communication with the robot

After confirming that everything worked correctly, the controller was ready to use. ⚽🤖

🔗 Project on LinkedIn

I have also shared this Soccer Robot Joystick Controller project on LinkedIn.

You can see the project and its development process through the LinkedIn post:

LinkedIn Project Post:

[https://www.linkedin.com/posts/nihalmelethilmohammed_arduino-robotics-wirelesscontrol-ugcPost-7462695377591341058-g3LW/]

3D Files Open Source 🖨️

I am sharing the 3D files for this project as open-source files so that other makers and robotics enthusiasts can download, print, and use them for their own projects.

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

You can download the files, slice them using your preferred 3D-printing software, and print them using your own 3D printer.

Feel free to use and modify the files for your own projects. If you create an improved version or remix, I would be happy to see how you developed it! 🤖🖨️

3D Printing

  1. File format: STL
  2. Material: PLA / PLA+
  3. Designed for: FDM 3D printing
  4. Files: Attached below

I am sharing the 3D files for this project as open-source files so that other makers and robotics enthusiasts can download, print, and use them for their own projects.

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

You can download the files, slice them using your preferred 3D-printing software, and print them using your own 3D printer.

Feel free to use and modify the files for your own projects. If you create an improved version or remix, I would be happy to see how you developed it! 🤖🖨️

3D Printing

  1. File format: STL
  2. Material: PLA / PLA+
  3. Designed for: FDM 3D printing
  4. Files: Attached below


🚀 Conclusion

This project was a practical way to build a rechargeable wireless controller for a soccer robot using an ESP32 and joystick module.

By combining the ESP32, joystick, TP4056 charging module, rechargeable battery, DC jack, and power switch, I created a compact controller that can be used to operate the robot wirelessly.

Building the circuit on a dotted PCB also gave me practical experience with soldering, circuit assembly, power management, and hardware integration.

Through this project, I learned more about:

  1. 🎮 Joystick interfacing
  2. 🤖 Robot control
  3. 📡 Wireless communication
  4. 🔋 Battery-powered electronics
  5. ⚡ TP4056 charging circuits
  6. 🔧 PCB soldering and assembly
  7. 💻 ESP32 programming
  8. 🖨️ 3D-printed enclosure design

The project demonstrates how simple electronic components can be combined to create a practical robotics control system.

Thanks for checking out my project! 🤖🎮⚽

If you build your own version, feel free to share it and show what you created!