Project Rhino: Building My First Battlebot
Poster
Video
Why a Battlebot?
Since I was a kid, I’ve been obsessed with battlebots. Not just the battles — but the sheer intelligence behind them. Seeing people build machines that crash, flip, and spin with intention and precision has always fascinated me.
This Fab Academy final project was the perfect excuse to finally build one.
"A straightforward design, built from the ground up — this battle bot might be simple, but it’s real, and it knows how to fight."
Inspiration: Nature’s Tank
I wanted to build something more than just a moving frame. I wanted a bot that felt alive — like a mechanical creature with purpose. That’s when I looked at the rhinoceros.
A rhino charges head-on. It doesn’t dodge. It uses its horn to flip, ram, and dominate. That became the blueprint.
I named my bot Rhino — a 15kg-class spinner bot, inspired by the animal’s raw power and forward attack. The weapon? A front-mounted, horn-shaped spinning blade.
Building the Brain First
I started with the electronics because without logic, power, and wireless control, the bot would just be a sculpture.
Microcontrollers and Communication
I used two ESP32-S3 boards:
- One in the controller
- One inside the bot
They communicate using ESP-NOW — no Wi-Fi needed, just direct MAC-to-MAC pairing. It’s fast and reliable.
Controls Setup
- A joystick controls forward, backward, and turning motion
- A push button activates the weapon motor remotely
- Data flows wirelessly from the controller to the bot
Power and Routing
The whole bot runs on a 2100 mAh LiPo battery, which supplies:
- The ESP32-S3
- A L298N Motor Driver for drive motors
- A MOSFET, acting as a power switch for the weapon motor
To simplify wiring, I created a custom PCB that connects all logic, motors, and power systems cleanly.
Testing in Phases
I didn’t just plug everything in and hope it worked. I broke testing into stages.
Phase 1: Motor Test
Connected each motor to the L298 driver. Wrote basic code. Both motors ran — success.
Phase 2: Wireless Communication
Paired the two ESP32s using their MAC addresses. Sent and received simple test data.
Phase 3: Joystick Signal
Read X and Y values from joystick and printed them via serial monitor. Inputs were responsive.
Phase 4: Movement Mapping
Mapped joystick directions to motor logic. The bot moved exactly as expected — forward, back, turning.
Phase 5: Weapon Activation
Wired push button to controller. Routed output to MOSFET. Weapon motor spun on button press — clean and consistent.
Final Connections
Sender Connections (ESP32-S3)
Component | Pin on Component | Connects to ESP32-S3 Pin | Purpose |
---|---|---|---|
Joystick Module | VCC | 3.3V | Power Supply |
Joystick Module | GND | GND | Ground |
Joystick Module | VRx (X-axis) | A0 (GPIO1) | Analog input for X-axis |
Joystick Module | VRy (Y-axis) | A1 (GPIO2) | Analog input for Y-axis |
Pushbutton | One side | GPIO3 (D3) | Digital input for weapon toggle |
Pushbutton | Other side | GND | Ground connection |
Power Source | - | 3.3V/5V and GND | Battery or USB power |
Receiver Connections (ESP32-S3)
L298N Motor Driver
L298N Pin | Connects to ESP32-S3 Pin | Purpose |
---|---|---|
IN1 | GPIO8 (D8) | Left Motor Direction 1 |
IN2 | GPIO7 (D7) | Left Motor Direction 2 |
IN3 | GPIO10 (D10) | Right Motor Direction 1 |
IN4 | GPIO9 (D9) | Right Motor Direction 2 |
ENA | Jumper or 5V | Enable Left Motor |
ENB | Jumper or 5V | Enable Right Motor |
VCC | Motor Battery + (7.4–12V) | Motor Power |
GND | Shared GND with ESP32 | Ground |
OUT1/2 | Left Motor | Motor Output |
OUT3/4 | Right Motor | Motor Output |
IRF520 Weapon Control (MOSFET Module)
IRF520 Pin | Connects To | Purpose |
---|---|---|
SIG | GPIO6 (D6) | Weapon motor ON/OFF signal |
VCC | 3.3V or 5V from ESP32 | Logic power for the MOSFET module |
GND | Shared with ESP32 + L298N | Ground |
VIN | External battery + | Power input for weapon motor |
V+ | Weapon Motor + Terminal | Connects to motor |
V− | Weapon Motor − Terminal | Connects to motor |
Custom PCB for Receiver ESP32-S3
To keep the wiring inside the bot clean, secure, and battle-ready, I designed and fabricated a custom breakout PCB for the receiver ESP32-S3.
Why I Made It
Using jumper wires and breadboards was fine for early tests, but not practical inside a bot that moves, vibrates, and takes impact. The custom PCB allowed me to: - Organize all connections (motor driver, MOSFET, power) in one place - Solder securely and avoid loose wires - Debug and rewire easily during testing
Design & Fabrication
- Designed the board in EasyEDA
- Milled it using the Roland PCB milling machine on a copper-clad sheet
- Soldered headers and mounted the ESP32-S3 securely
- Verified all pins and continuity before powering it up
What It Solved
- Cleaned up the internals of the bot
- Improved stability during operation
- Made the electronics look and function more professional
Making this PCB taught me the value of custom hardware even in small builds — it elevated the project and made everything easier to manage.
Designing the Bot in Fusion 360
Once the control system was reliable, I jumped into CAD using Fusion 360.
What I Measured
- Motors
- Battery
- PCB
- Gears
- Weapon motor
Design Approach
- Motor mounts and wheels were designed for 3D printing (100% infill for strength)
- The chassis and armor were made for laser-cutting from transparent acrylic
- I mirrored the motor system for symmetry and clean alignment
-
Cavities were added for wiring, battery, weapon system, and PCB
-
A castor wheel at the front gave Rhino better forward stability
The most exciting part was modeling the horn-blade spinner mounted with interlocking yellow gears — Rhino’s signature move.
Fabrication and Assembly
Once everything worked digitally, I began building it physically.
- Exported .dxf files for laser-cut acrylic
- Exported .stl files for 3D printing wheels, mounts, gears
I printed all parts with high infill, assembled them using Feviquick, and inserted all components into their cavities. The bot started coming alive.
Note: The weapon motor was initially fixed using wooden skewers — a quick solution during testing. I later upgraded this with a more stable mount.
System Integration
The Rhino Battlebot brings together multiple subsystems into one compact, responsive unit. Here's how all the parts work together:
Wireless Control
- Two ESP32-S3 boards communicate over ESP-NOW:
- One is mounted in the handheld controller (connected to a joystick and push button).
- The other is inside the bot, receiving commands and executing them in real time.
Motion Subsystem
- Joystick inputs are read by the controller ESP32.
- These inputs are wirelessly sent to the receiver ESP32.
- The receiver controls two high-torque DC motors via an L298N motor driver, enabling forward, backward, and turning movement.
- A 2100 mAh LiPo battery powers the entire system.
Weapon Subsystem
- A push button on the controller sends a trigger signal.
- This signal is received and processed by the bot’s ESP32.
- A MOSFET module acts as a switch to power the weapon motor, which drives the horn-shaped spinning blade at the front of the bot.
Power and Circuit Integration
- All components are powered by a single LiPo battery.
- A custom breakout PCB was designed and milled to make wiring easier, compact, and more durable.
- It distributes 3.3V logic and motor-level power cleanly, reducing clutter and improving safety.
Chassis and Structure
- The body is made from laser-cut acrylic, with modular parts for the top, bottom, and side panels.
- Functional parts like wheels, motor mounts, and the weapon mechanism were 3D printed using PLA with 100% infill for added durability.
- A small castor wheel at the front supports stability during movement and impact.
This integration of electronics, mechanics, and communication results in a fully functional battlebot system — designed to be modular, upgradeable, and field-ready.
How it looked after assembling:
After assembling when i was trying it and testing it the problem was in the code the bod did have a proper drive logic for the bot it was controling something like this :
I made changes is the code with better drive logic which will help to to move forward , backward, and can turn easily, after updating the code it started doing good.
Feedback and Final Touches
During my final presentation to Neil, the bot was functioning — movement, weapon control, and wireless response were solid.
Neil’s Feedback:
“Make the weapon motor mount stronger, maybe use bearings. And record a working video showing the full system in action.”
I took that seriously:
- Improved the mount
- Polished the code
- Captured full demo footage of Rhino in motion
Final Build Results
With everything assembled and tweaked, Rhino was ready to roll — and charge.
- Movement was sharp and responsive
- Spinner blade engaged on command
- Wireless signals worked without delay
- Internal layout was clean and efficient
Rhino was everything I imagined it to be — fierce, functional, and fun.
HERO SHOTS
FINAL WORKING VIDEO
Bill of Materials (BOM) with Pricing (INR)
Electronics
Component | Quantity | Unit Price (₹) | Total Price (₹) |
---|---|---|---|
ESP32-S3 Microcontroller | 2 | 450 | 900 |
L298N Motor Driver Module | 1 | 150 | 150 |
MOSFET Module | 1 | 100 | 100 |
Joystick Module | 1 | 70 | 70 |
Push Button | 1 | 10 | 10 |
2100mAh LiPo Battery (3S/2S) | 1 | 2000 | 2000 |
Custom PCB for ESP32-S3 | 1 | 150 | 150 |
Motors & Motion
Component | Quantity | Unit Price (₹) | Total Price (₹) |
---|---|---|---|
DC Geared Motors (High Torque) | 2 | 300 | 600 |
Weapon Motor | 1 | 350 | 350 |
Castor Wheel | 1 | 40 | 40 |
3D Printed Parts
Component | Quantity | Unit Price (₹) | Total Price (₹) |
---|---|---|---|
3D Printed Wheels | 2 | 60 | 120 |
3D Printed Motor Mounts | 2 | 40 | 80 |
3D Printed Horn Weapon | 1 | 80 | 80 |
Gear Set (3D Printed) | 2 | 50 | 100 |
Laser Cut Acrylic Parts
Component | Quantity | Unit Price (₹) | Total Price (₹) |
---|---|---|---|
Acrylic Chassis Panels (Top/Bottom) | 2 | 120 | 240 |
Side Panels / Armor Sheets | 4 | 50 | 200 |
Weapon Motor Mount (Acrylic) | 1 | 60 | 60 |
Miscellaneous
Component | Quantity | Unit Price (₹) | Total Price (₹) |
---|---|---|---|
Skewers (for prototype axle) | 2 | 5 | 10 |
Wires, Headers, Sockets | 1 | 150 | 150 |
Feviquick / Acrylic Glue | 1 | 30 | 30 |
Screws, Bolts, and Nuts | 1 | 100 | 100 |
Total Estimated Cost: ₹5,070
What I Learned
Looking back, building Rhino taught me more than any class or lecture ever could. It wasn’t just about motors, circuits, or CAD — it was about problem-solving in real time, staying calm when things didn’t work, and figuring things out with whatever tools and skills I had.
One of the biggest things I learned was how important it is to build and test in small steps. If I had jumped straight into connecting everything at once, I would’ve been lost. Instead, breaking it down into pieces — testing the motors first, then the ESP32 connection, then the joystick — made everything manageable. Each small success gave me the confidence to keep going.
Working with ESP-NOW was also a big eye-opener. I’d never used direct wireless communication like this before, and once I understood how powerful and reliable it could be — without even needing Wi-Fi — it felt like I unlocked a new skill.
On the design side, Fusion 360 really made me think differently. I wasn’t just modeling pretty shapes — I was designing for function, for laser-cutting, for wiring clearance, and for component fit. It pushed me to think like a real product designer, not just someone making a 3D model.
I also realized how much good wiring and planning matter. I used to think wires were an afterthought — just connect and go. But Rhino taught me that clean, well-planned wiring makes debugging easier, makes the project look better, and shows that you really know what you’re doing.
And finally — I learned that feedback is your best friend. When Neil told me to fix the weapon motor mount and record the demo, I could’ve taken it as criticism. But instead, I saw it as a push to improve. And he was right — those small changes made the whole project stronger.
So yeah — Rhino taught me to plan smart, build patiently, and always keep improving. And honestly, it reminded me that I’m capable of a lot more than I thought.
What’s Next
Rhino isn’t finished. It’s the first version. Here’s what I want to do next:
- Upgrade to metal armor
- take more charecterstics, attack , form, and mimic the nature better, the RHINO better.
- Improve the weapon’s torque and RPM
- Enter a live battlebot event someday
This was the beginning. Rhino has fight in its future.
References from Previous Work
Several Fab Academy project weeks helped shape different parts of my final project, Rhino. Here's how each week contributed to the bot's development:
1. Computer-Aided Design (Week 3)
Helped me model all Rhino parts in Fusion 360, from accurate motor placement to gear design and internal layout. This formed the foundation of my bot’s structure.
2. Computer-Controlled Cutting (Week 4)
Enabled me to design and laser-cut the acrylic chassis, weapon mount, and armor panels with precision.
3. Electronics Design & Production (Week 6 & 7)
Taught me how to mill and solder a custom breakout PCB for the ESP32-S3 on the receiver side, which cleaned up wiring and improved durability.
4. Machine Design (Week 10)
Gave me the understanding of mechanical coordination and team integration — which helped me design the gear-driven spinner weapon system and align moving parts precisely.
5. Output Devices (Week 9)
Helped me learn to control DC motors and test weapon motor drivers, which I directly applied using the L298N module for bot movement.
6. Input Devices (Week 11)
Let me experiment with joysticks and analog input. This became the main input for controlling the bot wirelessly.
7. Networking and Communication (Week 13)
Taught me to use ESP-NOW for wireless data transfer between two ESP32 boards — the core of Rhino’s real-time remote control.
8. Interface and Application Programming (Week 15)
Helped me write logic to map joystick movement and button presses to real motor control and weapon activation.
9. System Integration (Week 18)
This week pushed me to assemble all subsystems — electronics, code, chassis, and wiring — into a working, functional bot.
10. Applications and Implications (Week 17)
This is where I first defined the vision for Rhino — a nature-inspired, spinner-type battlebot with a horn-shaped weapon system and aggressive behavior.
These weeks gave me the tools and knowledge to turn Rhino from an idea into a working reality — one system, one module, one test at a time.
Who has done what beforehand?
Before starting, I looked into: - Combat robots from BattleBots and Robowars India. - Mechanisms used in bots like "Tombstone" (rotating weapons) and "Minotaur" (drum spinner). - Other Fab Academy students who made RC vehicles. This helped me understand common structures, what fails during battles, and how to make repairs easier.
Building the First AUTONOMOUS BattleBot!
FILES
This project includes:
- Rhino Bot F3D File
- Body lasercut DXF
- Rhino Wheels Stl
- Motor Mount Stl
- Sender Code file
- Reviever Code file
- PCB Gerber File
Building Rhino was like bringing a childhood sketch to life. It moves. It spins. It charges. And more than anything — it represents everything I love about product design.