I Built a 600RPM SOCCER BOT That’s TOO FAST for Its Own Good ⚡🤖
I Built a 600RPM SOCCER BOT That’s TOO FAST for Its Own Good ⚡🤖

The Problem: Most Soccer Bots Are Slow or Have Latency Problems with ESCs.
Look up “soccer robot” on YouTube. What do you see?
Little bots are crawling around like they’re stuck in mud. 100RPM. 200RPM if you’re lucky. Perfect for… well, nothing exciting. Mostly built as a toy.
I wanted something different.
Something that would make people at robotics competitions actually pay attention.
So I went full send on speed while choosing the motor RPM.
The Spec Sheet (Brace Yourself)
Here’s what went into this build:
| Component | Specs | Quantity |
|---|---|---|
| Motors | 37GB 600RPM Full Metal Gear Motor (12V–24V) | 4 |
| Motor Drivers | BTS7960 43A High-Power H-Bridge | 2 |
| Frame | Robo Soccer 4WD Frame Kit (Hybrid Design, Height Adjustable Slope) | 1 |
| Wheels | 65mm Rubber Wheel For 37GB Motors | 4 |
| Brain | Arduino Nano | 1 |
| Voltage Regulator | LM7805 (5V) – for compact power | 1 |
| Radio | RadioMaster Pocket (ELRS) | 1 |
| Receiver | BETAFPV ELRS PWM Receiver 5CH | 1 |
| Battery | Lipower 5200mAh 3S 11.1V 35C LiPo | 1 |
| Charger | iMAX B6AC (for LiPo safety) | 1 |
| Speed | Unhinged | Yes |
600RPM motors. On a soccer bot. With 43A drivers that could probably weld.
What could possibly go wrong?
Part 1: The “Wait, That’s Legal?” Moment
When I first calculated the speed, I actually double-checked my math.
At 600RPM with 65mm wheels:
Speed = (RPM × π × wheel diameter) / 60
That’s roughly 2 meters per second.
On paper, that doesn’t sound insane. But in person? This thing moves like a startled cat.
For context, most competition soccer bots run at 200-300RPM. I literally doubled that.
(Video clip: Bot zooming across frame so fast it blurs)
Part 2: The Parts Breakdown
Motors: 37GB 600RPM Full Metal Gear Motor
These are absolute units. Full metal gears, 12-24V range, and at 11.1V (3S LiPo), they still scream.
Why 600RPM? Because I have impulse control issues. Also because I want to be able to:
Outrun opponents
Reach the ball first
Look cool doing it
Downside: At this speed, precision control is… challenging. More on that later.
(Photo: Motor close-up showing metal gears)
Motor Drivers: BTS7960 43A H-Bridge (x2)
Most hobby motor drivers top out at 10-15A. The BTS7960 is rated for 43A.
That’s not a typo. 43 amps.
Each driver handles two motors (since I have 4 motors total). So two drivers, each managing up to 43A.
This is overkill. Beautiful, glorious overkill.
(Photo: BTS7960 next to a standard L298N – size comparison)
Frame: Robo Soccer 4WD Frame Kit
Solid metal frame with height-adjustable slope – perfect for getting under the ball. The “hybrid design” means it’s stiff enough for high speeds but still lightweight.
(Photo: Bare frame before assembly)

Wheels: 65mm Rubber
Good grip, decent size for the 37GB motor shafts. At 600RPM, tire quality matters – cheap wheels would disintegrate.
Brain: Arduino Nano
Nothing fancy here. The Nano handles:
Reading PWM signals from receiver
Sending control signals to motor drivers
Crying internally at the speed
(Photo: Nano mounted on frame with wires)

Radio: RadioMaster Pocket
My trusty Pocket from the last review. ELRS means zero latency, rock-solid connection even at full speed.
(Photo: Pocket mounted somewhere or held)
Receiver: BETAFPV ELRS PWM Receiver 5CH
Small, reliable, 5 channels. CH1-2 for motors (via drivers), CH3 for dribbler (future upgrade).
Battery: Lipower 5200mAh 3S 35C
5200mAh means long run times. 35C discharge means it can actually feed those hungry 43A drivers. 11.1V nominal gives the 12V motors exactly what they want.
(Photo: Battery next to bot for scale)

Part 3: Wiring – It’s Surprisingly Simple
Here’s the wiring diagram (simplified):
| Component | Connection | Notes |
|---|---|---|
| Battery → Motor Drivers | Positive/Negative | Parallel to both drivers |
| Driver 1 → Motors 1 & 2 | Right side motors | BTS7960 handles 2 motors |
| Driver 2 → Motors 3 & 4 | Left side motors | Same deal |
| Arduino → Drivers | PWM & direction pins | 6 pins total |
| Receiver → Arduino | CH1, CH2, CH3 | Signal pins |
| Battery → LM7805 | 11.1V in | Input side |
| LM7805 → Arduino | 5V out | Power for Nano |
| Capacitors | On 7805 input/output | 10µF & 1µF for stability |
Critical: The LM7805 needs heatsinking if your bot runs long sessions. I used a small clip-on heatsink – works fine.
(Photo: Messy wiring shot – authentic – with LM7805 visible)
Power Distribution Architecture (11.1V to 5V Rail)
L7805 Regulator Integration (TO-220 Pinout)
- Pin 1 (Input): Connect to the 11.1V positive (+) battery terminal.
- Pin 2 (GND): Connect to the common ground (Battery negative).
- Pin 3 (Output): Provides the stable 5V DC logic rail for the Arduino, ELRS Receiver, and BTS7960 logic pins.
Thermal Management and Signal Integrity
Motor Driver Interface (Arduino to BTS7960 PWM)
Arduino Digital Pin | BTS7960 Control Pin | Logic Function |
|---|---|---|
D9 | RPWM (Right Driver) | Right Side Forward |
D10 | LPWM (Right Driver) | Right Side Reverse |
D5 | RPWM (Left Driver) | Left Side Forward |
D6 | LPWM (Left Driver) | Left Side Reverse |
Driver Logic Configuration
- Enable Pins: For the drivers to respond to PWM, you must short R_EN and L_EN together on each module and tie them to the 5V VCC logic rail.
- Current Sensing: The R_IS and L_IS pins provide diagnostic current sensing data. For standard assembly, these may be left disconnected (floating).
Actuator Wiring: Parallel Motor Configuration
- EMI Mitigation: Twist the lead pairs for each motor together. This reduces radiated EMI that can interfere with the ELRS receiver.
- Parallel Pairing:
- Join the positive leads (indicated by the Red Dot) of the two right-side motors. Join the negative leads.
- Repeat for the left side.
- Terminal Connection:
- Connect the right-side pair to the M+ and M- terminals of the Right BTS7960.
- Connect the left-side pair to the M+ and M- terminals of the Left BTS7960.
- Polarity Verification: Ensure the “Red Dot” orientation is identical across all four motors to prevent phase conflicts during 4WD operation.
Critical Grounding & Safety Protocols
- Common Grounding: A single common ground (GND) is mandatory. The battery negative, L7805 Pin 2, Arduino GND, and ELRS GND must all be tied to a central grounding point.
- High-Current Return: Ensure the B- terminals of both BTS7960 drivers are connected to the battery negative with 14 AWG wire. This is the primary return path for the 43A peak current.
- Wiring Security: Route all wiring away from the front V-shaped wedge (30–45° angle). This area is subject to the highest impact forces and ball-trapping stress. Secure all cabling with zip ties to the interior of the aluminum chassis.
Grounding Checklist
- [ ] Battery Negative tied to common ground.
- [ ] L7805 Pin 2 and Metal Tab tied to common ground.
- [ ] Arduino GND and ELRS GND tied to common ground.
- [ ] BTS7960 B- terminals tied to common ground via high-current 14 AWG paths.
Part 4: The Speed Problem (Yes, It’s a Problem)
Here’s the thing about 600RPM on a soccer bot:
It’s really, really fast.
Like, “oh god it’s heading for the wall” fast.
The issues I ran into:
1. Heat
After 5 minutes of hard driving, the motor drivers get hot. Not “warm” – hot. Those 43A ratings are peak, not continuous.
Fix: Added small heatsinks a
nd a cooling fan (yes, really).
(Photo: Heatsinks on BTS7960)

2. Battery Voltage Sag
Under full load (all 4 motors spinning up), the 35C battery handles it, but voltage drops momentarily. The LM7805 needs at least 7V input to maintain 5V output – voltage sag can drop below that if you push too hard.
Fix: Keep an eye on battery voltage. When it hits 10.5V under load, time to swap packs.
3. Turning at Speed
Try turning a 600RPM bot at full speed. Physics says: it will flip, spin out, or both.
Fix: Throttle management. You learn fast.
(Video: Bot doing a controlled drift – or uncontrolled spinout)
Part 5: EdgeTX Setup – The Same Simple Mix
Same setup as my last build:
| Channel | Source | Function |
|---|---|---|
| CH1 | Ail | Right motor – turning |
| CH2 | Ele | Left motor – forward/back |
| CH3 | SA | Dribbler (future) |
One addition: Exponential on both channels.
In EdgeTX:
Edit CH1
Add Expo curve: Expo 30%
Same for CH2
This makes the bot controllable at low speeds while still giving full power when you need it.
(Photo: Expo setting screen)

Part 6: First Test – Pure Chaos
First power-on in the driveway.
I gently applied throttle.
The bot launched. Not moved – launched. I instinctively let go of the stick and it still traveled 5 meters before stopping.
My neighbor looked over. I pretended this was intentional.
After some practice (and adding the expo curve), I got the hang of it. The speed is addictive. You can:
Beat opponents to the ball every time
Do sharp turns at speed (with practice)
Look absolutely terrifying to other teams
(Action video: Bot zooming around, controlled drifts)
Part 7: Competition Readiness
After a week of tuning, here’s where it stands:
| Category | Verdict |
|---|---|
| Speed | ✅ Absolutely lethal |
| Control | ⚠️ Takes practice, but manageable |
| Ball handling | ✅ Frame slope works perfectly |
| Battery life | ✅ 20-30 minutes hard runtime |
| Durability | ✅ Metal frame + metal motors = tank |
| Cool factor | ✅ 10/10, scares opponents |
Is it competition legal? Yes – there’s no speed limit in most soccer bot rules. The only limit is your ability to control it.
The Build Cost Breakdown
| Component | Approx Price |
|---|---|
| 37GB 600RPM Motors (4x) | ~$60-80 |
| BTS7960 Drivers (2x) | ~$20-30 |
| Frame Kit | ~$40-50 |
| Wheels (4x) | ~$20 |
| Arduino Nano | ~$5 |
| RadioMaster Pocket | ~$65-80 |
| BETAFPV Receiver | ~$15-20 |
| LiPo Battery | ~$30-40 |
| Total | ~$255-325 USD |
For a competition-ready bot with this speed? Worth every penny.
Lessons Learned (So You Don’t Make My Mistakes)
Start with expo – Don’t raw-dog 600RPM. Add exponential from day one.
Separate power – but keep it compact – The LM7805 works great if you add heatsinks and capacitors. Don’t skip the caps!
Heatsink everything – These drivers get hot. The LM7805 gets warm. Add heatsinks.
Invest in a real charger – The iMAX B6AC isn’t cheap, but it’s cheaper than a house fire. Never cheap out on LiPo charging.
Practice in open space – Do NOT first test in a small room. Ask me how I know.
Loctite on screws – Vibration at this speed will loosen everything. Use threadlocker.
What’s Next
This bot is just the beginning. Future upgrades:
✅ Dribbler mechanism (on CH3)
⬜ Kicker solenoid
⬜ RGB LEDs because why not
⬜ Telemetry display on Pocket (battery voltage, speed)
⬜ Better cooling for the LM7805 (maybe a small fan)
The Verdict
Is building a 600RPM soccer bot practical? No.
Is it fun? Absolutely.
Will it dominate competitions? If I can control it, yes.
If you’re building a soccer bot and wondering “should I go faster?” – the answer is yes. Just be ready for the chaos that follows.






