Introduction: DIY RC Android Sumobot (Sumo Robot)

Get ready to rumble, it's time to get pushy! This week I built a $90, Android controlled bluetooth sumobot. This is a fun way to spend time with your friends and engage in multiplayer tournaments! It maybe held on your backyard or even in professional events. The "TSA" & "science Olympiad" also supports sumobot competitions.

Quadcopters, Hovercrafts, Drones, Helicopter, you name it, they are getting much more common these days. So I thought of building something new and unique for the DIY community. Sumobots! Weighing 1-3KG with a 19x16cm chassis, they push each other out of the ring with brutal force! An intense tournament setting, guaranteed to make you sweat from adrenaline! It's already considered a sport.
______________________________________________________________________
We have plans on raising a sumobot booth for our school's entrepreneurial fair (simulation), to be held this September. Also, we have high hopes of attracting customers, raising funds for charity! :D

Challange Mode:
Pay 10 php ($0.20), beat the unbeatable autonomous FAC3PALM with CALSONIC, the RC Bluetooth Sumobot. Winner gets a prize (ex. a cup of Icecream, soda, t-shirt & etc.)
Two Player Mode:
Pay 5 php ($0.10), and play with your friends, for fun! =D (includes 3 rounds)
______________________________________________________________________
From our past experiences in competitions and local school fairs, the crowd's energy tends to be high all the time, everybody wants to give it a try. People are attracted to the extreme collision and violence :)) just like in real-life wrestling and boxing. Imagine a science fair, with your booth gathering all of the attention of students and teachers. It somehow becomes the center of attraction/ main event :D

The bot was designed to compete in the autonomous division, I tweaked it just for fun and added a $8 bluetooth module. It's an Arduino-Android based, open source robot, you can pretty much do anything with it! The app is free from google-play (Bluetooth RC Car). It includes: 8 directional movements, a speed control slider, 3 toggle switches and can use the accelerometer for steering. With the proper tools & materials you can pretty much finish the bot within an hour.

You can save $41 by making your ownDIY Arduino Motor Shield[for only $8]
_______________________________________________________________________
What is a sumobot?
It is a sport in which two robots attempt to push each other out of the ring. The engineering challenges are for the robot to find its opponent by using infrared or ultra-sonic sensors), this falls in the autonomous division meaning RC devices are not allowed in this division, AI runs the sumobot. For the RC division, competitors are allowed to use remote controlled devices.

Aren't Sumobots Old? What's so unique about them?
Yes they are old indeed, it started around year 2008. But full-cover tutorials aren't easy to find. These sumobot's fabricational methods where hindered from hobbyists. People who compete internationally in "Robotics Competitions" tried everything they can to hide their tech from other competitors. That's the reason why these sumobots aren't popular, it's a game of secrecy in technology.

How fun are they?
After building at lest two of these babies and tried to gather a large group of friends, I bet you all are going to have an awesome time, shouting, cheering and sweating while fighting with these bots. Since it is an OpenSource bot, you can customize it, change the motors, the body's design, the sensors. This gives everyone's bot personalities!
______________________________________________________________________________________

SPECS:
- Has a 19x16cm Acylic Chassis (50mm Thick)
- Arduino UNO based (programmed with C++)
- 500-1200 RPM Metal Gearbox (High Speed & Torque)
- 30 Ampere Pololu Motor Shield (High Performance)
- 15 meter range bluetooth module (easy to use TX, RX)
- Powered by a 4 Cell recycled LiPo (Debloated Turnigy)
- 3x Sharp Proximity Sensors + 2 Ground Sensors

The project is so easy even a high-school student can make one :D
Please don't forget to vote! Cheers!

_______________________________________________________________________________________
My Testdrive/ Dry-run Video (Enjoy!)
[
Don't Miss This! Must Watch!]


Here's a bonus video on how sumobots work
(both RC & Autonomous/A.I. - held in JAPAN)


Step 1: Tools & Materials

Here's the list of my exact parts. Try to wait for a Christmas sale in Pololu.com, I saved 35% on their parts. In steps 2 and 3 alternatives will be given. Click on the material so see link. 

Materials:
- Arduino UNO R3/ Arduino Leonardo -----------------------[$17 @Amazon, clone = $12]
- Pololu Dual VNH5019 Motor Shield (2x30A) -----------[$39 on Christmas/ reg=$49]
- 2x 500-1200 rpm 37D Metal Gearbox (19:1) -----------[$48, DX version = $27]
- JY-MCU Bluetooth Module (10-15m Range) -----------[$8.20]
- Ground/ Line Digital Sensors (Schmitt Trigger) -------[$4.60]
- 3x Sharp Proximity Sensors (Not Included in $90)---[$30 Optional]
- 2x Recyled Tamiya RC Wheels (Free - Inventory) ---[Recycled Free!]
- DIY/ Custom Gearbox, Aluminum Bracket -------------[Recycled Free! <Alternative Link $7]
- Recyled 4cell 1.3Ah LiPo (From Bloated Turningy)--[Recycled Free! <Alternative Link]
- 19x16 Acrylic (Thickness 50mm) --------------------------[$5 - Local Hardware Store]
- Super Glue Bottle (Gorilla 10ml) ----------------------------[$5 - Free If You have one]

Tools:
- Leatherman
- Dremel Rotary Tool
- Jigsaw (Blade for Acrylic)

Step 2: Choosing Your Metal Gearbox

In my opinion, Pololu is the best place to buy high quality metal gearboxes, they are expensive though. My second choice is DX.com, they sell a lot of cheap ones, but they only sell those with "high-torque: low-speed".

Links:
- Pololu List: Metal Gearboxes
- DealExtreme List: Metal Gearboxes
- I have the pololu gearbox 37D (19:1,  500RPM)



Ratio Dictionary:
- Torque =  Provides a high output power. (ex. A truck needs high torque when climbing up a hill with a heavy load "1st gear")
- Speed = The RPM rating, swiftness of an object (ex. On a flat surface, race cars need a lot of speed to catch up "7th gear")
- When using the same motor setup, high-torque gearboxes have a lower speeds, while high-speed gearboxes have lower torques.


Step 3: Choosing Your Motor Driver

I had the Pololu Dual VNH5019 (High-Performance 30A Motor driver) for about a year now, it performs really well and doesn't even sweat/ heat-up. The Arduino R3 Motor Shield is also a great choice, but can only support 4A motors. DealExtreme on the other hand sells cloned versions for half the price, I haven't tried them yet but the reviews are good.

My Preferred Choices:
1st.) Pololu Dual VNH5019 (2x30 Amperes) - $49 ($35 Christmas)
2nd.) DX Dual VNH Clone (2x30 Amperes) - $24
3rd.) Arduino R3 Motor Shield (2x4 Amperes) - $25
4th.) DX, R3 Motor Shield Clone (2x4 Amperes) - $13

Want to save money? Make one for only $8.00! Read more about this in the next page!
Or go directly to my instructable guide: DIY Arduino Motor Shield [for only $8!]

Step 4: OPTIONAL: Make Your Own Motor Driver (for Only $8!)

THIS STEP IS OPTIONAL, YOU CAN SKIP IT RIGHT AWAY!

Since most hobbyist prefer to be more practical, you can consider making one for only $8.00!
You can read my full instructable guide here: DIY Arduino Motor Shield [for only $8!] (L298N 2x4A)

The Bluetooth module is now 100% compatible with the DIY Motor Driver Shield. I've used it on my first ever 500g sumobot. Good to say it's completely reliable, considering the fact of achieving 7th place in the nationals (robotics competition). 
__________________________________
Specs:
Voltage Range: 5- 50 volts
Current Range: 2-4 Amperes
Power: 25w @75°C
Working Temparature: -40°C to 150°C
Board Compatibility: Arduino Uno
Motor Outputs: 2 Motors (Left & Right)
Possible Robot Movements: Left, Right, Forward, Backward & etc..
PWM Pins: [12&11]  [6&5]

Step 5: Mounting the Motors

Use your Dremel, or Jigsaw to cut a 19x16cm piece of acrylic (thickness 50mm), this will be used for your chassis. I found these cool L-shaped aluminum brackets from trash, I used it to fabricate my own "Gearbox Mounts". It's free! =D

You can ask for some L-shaped, aluminum brackets from nearby construction crew (aluminum scrap inventory).

Step 6: Gluing the Side Panels

It took me a lot of sweat to cut these side panels. I did it the hard way, by using a file and hacksaw. In my experience, using rotary tools on acrylic is a big no, since I shattered a lot of them before. 

For the wheels, I needed an adapter/ hubs for the Tamiya RC wheels, so I fabricated mine using a lathe machine. If you want the ones, ready made, go to BaneBots.com, they sell a wheel+hub package.

Step 7: Sharpening the Scoop's Wedge

Sumobots need to have a sharp wedge to scoop out the competitor, in head to head combat, the one with the sharpest wedge usually prevails. The scoop's blade was designed for combat therefor it must be perfect. Again, rotary tools rotate too fast, therefore you don't have that much control over it. I used the trusty old file to do the job.

Step 8: Installing the Batteries

The battery's position plays a huge roll on balance. If placed on the back then there's a bigger chance of having a wheelee' effect, this increases traction, but if your batteries are located near the front, traction will decrease while the wheelee effect decreases too.

We all know that Lithium-Polymers bloat, and when they bloat they start to become useless (fear of exploding). I debloated them by carefully punching a hole, small enough for the hydrogen gasses to escape, then I patched them.
Warning: Debloating batteries is not advisable, do it at your own risk! 

If you want to buy a new one, the best, quality brand I know is Turningy (4Cell, 1300mAh LiPo) they also feature a 1 year warranty.


Pic1: My Current Design   (CALSONIC)
Pic2: My Previous Deisgn (FAC3PALM)
Pic3: My Previous Deisgn (FAC3PALM)

Step 9: Installing the Arduino Shields & Sensors

As we all know, it's easy to assemble the shields. Just snap in the "Motor Driver" above the Arduino UNO. Then wire up your sensors to your board. The Bluetooth connection will be shown in the next step.

I found this cool looking PC videocard fan. I installed it since it makes your bot look more intimidating.
For the scoop, I hacksawed 4 identical pillars then glued them with super glue and reinforced by clear epoxy.

The sensors are optional, I installed them since the robot is intended to fight in the autonomous division.

Step 10: Installing & Knowing Your Bluetooth Module

You can buy your Bluetooth Module from DX.com, for $8, don't worry about the shipping because it's free. There's a graphic diagram below. Now let's get started, first your package should come with a wire (extender), connect your +5v to your duino, then your ground wire. Second the TX from your Bluetooth should go to your Arduino's RX and the RX of your bluetooth to your Arduino's TX. 

REMEMBER: Before programming, disconnect your Bluetooth's TX & RX from your Arduino to avoid errors.

How it works: So far, I know that the APP sends letters to your Arduino board via bluetooth. Your Arduino, then decodes these by using statements and condition, which will be discussed on the next page.

Step 11: The Arduino Codes (C++) [UPDATED! 9/4/13]

I reconstructed the codes since they were intended for a different motor shield. I also changed the executions and added more math, divisional processes, thus making the movements more fluid and dynamic. The toggle switches are disabled, you can enable them by removing the "// (comment sign)".

Updates:
      8/31/13 - Pololu Dual VNH5019 (codes)     [Status: now compatible!]
      9/04/13 - DIY Arduino Motor Driver (codes) [Status: now compatible!]
      soon.... - Arduino R3 Motor Shield (codes) [Status: Beta stage (Unstable)]
      soon.... - DX Dual VNH5019 Clone (codes) [Status: queued experimentation]
      soon.... - DX R3 Motor Clone Shield (codes) [Status: queued experimentation]

Attention: Choose your motor driver codes below!
      - Pololu Dual VNH5019 --------
[DownloadArduino Bluetooth (for Pololu Dual VNH5019).rar]
      - DIY Arduino Motor Shield ---[ Download: Arduino Bluetooth (for DIY Motor Shield).rar]
      - The original codes ------------[DownloadBluetooth RC Codes]
_________________________________________________________________________________________
// Reconstructed By: Angelo Casimiro (ASCAS)

#include "DualVNH5019MotorShield.h"
DualVNH5019MotorShield md;
char dataIn='S';char determinant;char det;int vel = 0; //Bluetooth Stuff
//int power = 4;     // Remove This To Enable Tollge Switch #2
int overdrive = 13; //Press Toggle Switch #1, the pin13 LED will light up

void setup(){
Serial.begin(9600);md.init();
/*pinMode(power , OUTPUT);*/ //toggle switch function
pinMode(overdrive, OUTPUT);
}

void loop(){ det = check();  // You'l need to reconstruct this if your not using the Pololu Dual VNH5019
     
      while (det == 'F')   // F, move forward
       {md.setSpeeds(vel,vel);det = check();}
     
      while (det == 'B')   // B, move back
       {md.setSpeeds(-vel,-vel);det = check();}

      while (det == 'L')   // L, move wheels left
       {md.setSpeeds(vel/4,vel);det = check();}
      
      while (det == 'R')   // R, move wheels right
       {md.setSpeeds(vel,vel/4);det = check();}
    
      while (det == 'I')   // I, turn right forward
       {md.setSpeeds(vel,vel/2);det = check();}
    
      while (det == 'J')   // J, turn right back
       {md.setSpeeds(-vel,-vel/2);det = check();}  
     
      while (det == 'G')   // G, turn left forward
       {md.setSpeeds(vel/2,vel);det = check();}
    
      while (det == 'H')   // H, turn left back
       {md.setSpeeds(-vel/2,-vel);det = check();}  
     
      while (det == 'S')   // S, stop
       {md.setSpeeds(0,0);det = check();}
      
      //---------------------Toggle switch code------------------//
     /* while (det == 'U')  
      {digitalWrite(power, HIGH);det = check();}
      while (det == 'u')  
      {digitalWrite(power, LOW);det = check();}*/
      //---------------------Mains Power------------------//
      while (det == 'W')  
      {digitalWrite(overdrive, HIGH);det = check();}
      while (det == 'w')  
      {digitalWrite(overdrive, LOW);det = check();}
}

int check()
{if (Serial.available() > 0) {dataIn = Serial.read(); 
        if (dataIn == 'F'){determinant = 'F';} 
        else if (dataIn == 'B'){determinant = 'B';}else if (dataIn == 'L'){determinant = 'L';}
        else if (dataIn == 'R'){determinant = 'R';}else if (dataIn == 'I'){determinant = 'I';} 
        else if (dataIn == 'J'){determinant = 'J';}else if (dataIn == 'G'){determinant = 'G';}   
        else if (dataIn == 'H'){determinant = 'H';}else if (dataIn == 'S'){determinant = 'S';}
        else if (dataIn == '0'){vel = 400;}else if (dataIn == '1'){vel = 380;}
        else if (dataIn == '2'){vel = 340;}else if (dataIn == '3'){vel = 320;}
        else if (dataIn == '4'){vel = 280;}else if (dataIn == '5'){vel = 240;}
        else if (dataIn == '6'){vel = 200;}else if (dataIn == '7'){vel = 160;}
        else if (dataIn == '8'){vel = 120;}else if (dataIn == '9'){vel = 80;}
        else if (dataIn == 'q'){vel = 40;}else if (dataIn == 'U'){determinant = 'U';}
        else if (dataIn == 'u'){determinant = 'u';}else if (dataIn == 'W'){determinant = 'W';}
        else if (dataIn == 'w'){determinant = 'w';}}return determinant;}

Step 12: Installing the Hood (Takes a Lot of Thinking)

It took me a lot of time to design my hood. Since this robot was intended for combat (@National Competition), it is essential to have a highly accessible hood, in case problems start to show up during the competition. My first hood version used a sheet of 1/8 illustration board. The second one used a bent metal sheet, I used the sliding folder's clip as the mount.

Step 13: The Android APP Interface

APP Download: Arduino Bluetooth RC Car (Android Devices Only)

Steps:
1st.) Download App in google play
2nd.) Turn your bluetooth on, and open the app
3rd.) Establish a bluetooth connection betweeen your phone
         Go to Settings> Press Connect> Press LINVOR (Your BT Device)
4th.) Wait for the red light to turn green. And Your'e Done!

Troubleshooting: If robot doesn't respond, move the speed slider (Left to Right), this bug shows up sometimes.

Step 14: Your'e Done! Enjoy Your, Heavy Combat Sumobot!

Your'e done! Cheers! You've finished your Android Controlled Sumobot. Cheers! =D 
Don't forget to vote and leave a comment. =D

Step 15: All My Sumobot Videos (RC & Autonomous)

CALSONIC 1KG Hybrid (Mrk.14 Bluetooth Mode)

 

FAC3PALM 400g Mini Sumobot (Mrk.13 Autonomous Mode)

 

National Competition (Philippines)

FAC3PALM 500g Mini Sumobot (Mrk.3 Autonomous Mode)

Monster 500g Mini Sumobot (Mrk.2 Autonomous Mode)



Step 16: Printable PDF File


Step 17: Update: (11/1/2013)

Black Edition. Painted the chassis off with a mat black finish :DD

Comments

author
Goodwin7 (author)2013-09-01

Hello there, its me again. That looks superb! Well said and well documented. You got one hell of skill there in craftsmanship. I can't believe you hacksawed the acrylic, the cuts are so clean, for one second there I thought this was another CNC related post. Good Job! You definitely got my vote! You have a bright future ahead of you.

I have one question, how do you add a wireless camera to your bot, and what's the best android "RC +Camera" app available?

author
ASCAS (author)Goodwin72013-09-01

Hello there classmate. Thanks for the comment and vote! For the acrylic, I used a regular file and manually filed it until the edges are clean.

Oh, if you want to add a camera, the best thing to use are IP cams, but I don't think google play has a RC app with a camera displayed on it. Instead you could get 2 android devices, one for the IP cam viewer, and one for the remote, more like a dual screen/ device setup. This way you can have a First-Person-View of your sumobattle.

author
carlosr140 (author)2017-01-27

Good day ASCAS do you have already the code for DX Dual VNH Clone,,,,we dont have the original polulo motor driver but we have the clone version,,,,thanks and more power

author
carlosr140 (author)2017-01-27

good day sir ASCAS do you have already code for DX Dual VNH5019 Clone (codes),,,because we dont have polulo motor driver we've just got a clone,,,,thanks and more power

author
Invento Guy (author)2015-04-05

Can u please upload the full circuit diagram?

author
john.n.aguilar.1 (author)2015-02-19

Sir, nice job sharing us your materials used in this project. We also have a project to make sumobot. However, arduino programming is our problem. Can you please share your program used in your robot? Thanks sir.

author
milcarlsandoval (author)2014-12-30

Hi ASCAS! im from Philippines too. regarding the buttons on the app, will the robot stick going forward even if i just pressed the forward button once? im taking a little bit confuse on the program. please help. thanks

author
jponti (author)2014-06-08

Hi Angelo! This is Justin of ABS-CBN NEWS Channel 2. We would like to invite you for a sit down interview with Kuya Kim this week. It's about your latest invention. (Electricity generating footwear). Would you be available? Please send me a message if so. Thank you and more power!

author
pgurudatt (author)2014-04-20

hey hi there!!! umm wat changes do i have to make if i replace the motor driver with an L293D ic??? what changes will i have to do in the code and wiring??? pl reply fast.... need help!!!!!

author
ASCAS (author)pgurudatt2014-04-20

Just replace the codes in the curly braces { } with the sample codes of the L293D. Why are you in such a hurry?

author
pgurudatt (author)ASCAS2014-04-26

oh ok thanks!!! got it!!! yep was in a hurry for an exhibition..

author
14DStover (author)2014-03-05

how do you recreate the coding for if you have a different type of motor shield?

author
tarry2323 (author)2014-02-03

Is this compatible with a regular 2.4 GHz (I think its GHz, not sure...) RC car remote? If it is, will it be possible for it to be both RC and Animatronic? I would like to know because I'm doing this project for school (I'm planning to make the code myself using a different program for credit) and need to know. That way I can figure out weather or not I'm going to make it RC or Animatronic or both(If possible.).

Thanks! ~Tarry

author
SEARCHPIRATE999 (author)2013-12-30

Do you have any plans, designs, dimensions, or cut files for the chassis, hood, and structure?

Great project!

author
ASCAS (author)SEARCHPIRATE9992013-12-30

Sorry, the blueprints and cut files were not encoded digitally. I drew the cut-layout with my drafting equipment. I'll try to find my cut-layout, scan it then upload it.

Thanks!

author
SEARCHPIRATE999 (author)ASCAS2013-12-30

If you do that, I will convert the drawings and send them to you for upload. Thanks!

author
ASCAS (author)SEARCHPIRATE9992013-12-30

Really? Thanks! I'm still digging deep in my file cabinet.

author
wai-ayo (author)2013-11-04

voted!

author
ASCAS (author)wai-ayo2013-11-04

Thank you!

author
wai-ayo (author)2013-11-04

voted!

author
EdBet (author)2013-10-17

Thanks for the reply. Yes they did compete in the IRO. Ruth went to Korea and Japan and her brother Patrick went to Japan and preparing for Indonesia. They live in Makati and probably know Marius. I will show them this ible and comments when I see them in December. I also like the sumo bot in your motor shield ible, elegant and simple but gets the job done.

author
EdBet (author)2013-10-16

You got my vote, very impressive bot and "ible". I moved to the Philippines when I retired and am planning to build this bot with my grandson, glad you referenced where to buy parts in your motor shield ible. Sure hope our nieces son and daughter can help since they were on the team that went to Japan, Korea and now Indonesia in November. Keep up the fantastic job.

author
ASCAS (author)EdBet2013-10-17

Thank you very much! That sound familiar, did they compete in the IRO (International Robotics Olympiad)? If yes they might know our team mate, Marius :D

author
suyashbansal26 (author)2013-09-03

Hello... I was really impressed by this piece of work... Thanks for providing an idea for bluetooth controlled robot... Also want to thank you for providing the printable version of this instructable... :)

author
ASCAS (author)suyashbansal262013-09-03

Your welcome! Thanks for the great comment!

author
suyashbansal26 (author)ASCAS2013-09-09

Hi... Can you tell me how many batteries were needed?
Also If I add the ground sensors, are the codes same or there will be any changes?

author
ASCAS (author)suyashbansal262013-09-09

I used a 4cell LiPo as stated above. But you can use a minimum of 2cells. Adding some ground sensors won't be a problem, can be done by just adding 8 lines of codes.

author
dantemustdie312 (author)2013-09-04

Woah! that was fast. Thanks for the updates. This will help me a lot! I'll definitely try this. I'm currently working on the motor shield. I'll keep you posted once i finish this project. Salamat!

author
icekid (author)2013-09-02

Another cool project "angelo". Keep it up!

author
ASCAS (author)icekid2013-09-02

Thanks icekid!

author
tvan aken (author)2013-09-01

Voted :)

author
ASCAS (author)tvan aken2013-09-01

Thanks!

author
rimar2000 (author)2013-09-01

MASTER, I admire you (and envy too, a bit).

author
ASCAS (author)rimar20002013-09-01

Hi there sir rimar! I admire your works too, specially when it comes to metal works. When I first entered instructables you were one of the first kindest people I met.

About This Instructable

68,270views

396favorites

License:

Bio: Hi I'm Angelo! I am a 18 y/o college sophomore taking my majors in BS-ECE at the DLSU. I use my course as ... More »
More by ASCAS:DIY Motorized Fidget Spinner! (Contest Entry)DIY Motorized Fidget Spinner! Build A Bluetooth Boombox Speaker (from scratch)
Add instructable to: