Sumo Bot Entry for 7th Grade NYS Science Olympiad by JP

This Sumo Bot runs on low voltage batteries and uses a programmable Arduino microcontroller for all controls. A second Arduino communicating via 2.4 GHz XBee is used for remote control. The remote talks I2C to a Wii nunchuck joystick with accelerometer. The Tankers high-torque motors and locking transmissions, plus double sided operation with automatic attitude detection make it a tough challenger. It was designed to meet the NYS Science Olympiad Class “B” specifications.

The LV Tanker Top-side View

Tanker bottom-side view with major features
Bottom-side view showing lightening holes, homemade remote control, and initial design in Blender

Starting with a design in Blender nearly 11 months ago the LV Tanker took estimated 250 hours to build, 3 prototypes, 4 motor shield designs, and many hours of programming.

  • 2 high torque low voltage motors with orbital gear transmissions in a tank-style configuration
  • On-board ATMEL ATmega328 microprocessor in Arduino Duemilanove configuration with 32Kb memory and 16Mhz clock speed
  • 2.4 Gigahertz wireless mesh network communications based on the XBee
  • Laser assisted guidance
  • Multiple programmable modes
  • Automatic attitude detection for seamless two sided operation (it can be flipped over and still drive and nunchuck automatically reverses)
  • Rugged aluminum, steel, & plastic construction
  • 9 individually controlled LED status indicators
  • Piezoelectric “speaker” for audio signals
  • Symmetrically balanced motors with locked stopped position by Black & Decker
  • Direct driveshaft for main axels, light-weight Nylon chain driven secondary axels for tank-like operation
  • Transistors with electrically isolated left and right channel motor relays
  • Operation with Wii nunchuck joystick and accelerometer control or old-school 2.4 GHz wireless Arduino based joystick

Special thanks to:

  • Arduino –
  • Adafruit – for their parts and tutorials
  • Tod Kurt – for his instruction and inspiration
  • Gold Coast Hobby for motivation
  • Dr. Wolf, Mr. Lee and Mr. Myer for their sponsorship
Feel free to contact us for more information, code etc.
  • School/Name: Locust Valley Tanker
  • L: 30cm, W: 29.5 cm, H: 7.5 cm
  • 1.982kg (U.S. PO Weight)
  • (4) 1.5V “AA” and (4) 1.5V “C”
  • 2.4 GHz wireless communication
  • By JP

Parts, software and help from Arduino, Mouser, Black & Decker, ThingM, Adafruit, Digi, ATMEL, TI Sparkfun, Fun Gizmos, Radio Shack, Duracell, ST, Seeed Studio and others.


H-Bridge Motor Controller

After burning out the H-Bridge motor controller from Adafruit we tried the NYT version and had the same problem. We have started a new design based on the design by Radu Motisan at We have laid it out in Eagle and built it on a breadboard and its working well so far. We are trying to add forward and reverse LEDs before we move it over to a Radio Shack 276-150 board. If you need the parts list available from Mouser let us know. Eventually this overheated when pushing dead weight at a full stop as well.

C# “Software Joystick”

We’ve hacked together a C# program in Visual Studio 2005  that writes motor commands like #+20-15; (motor 1 200 forward, motor 2 150 reverse). The serial port has Xbee connected to it. The only tricky part was the motor equations below.
double radians = Math.Atan2(dy, dx);radians = radians + Math.PI / 2;
m1 = (int)(Math.Abs(dx) * Math.Sin(radians) + Math.Abs(dy) * Math.Cos(radians));
m2 = (int)(Math.Abs(dy) * Math.Cos(radians) – Math.Abs(dx) * Math.Sin(radians));
(Equations from David “Wild Shot”)
Eventually we abandon the idea of control with a PC and created our own remote control with a second Arduino Duemilanove, XBee shield, XBee and Wii nunchuck. Thanks to ThingM ( and ( getting the Wii nunchuck was easier to get working then getting the old-school PC joystick that we tried too.  

The Prototype “LV Tanker”

The first prototype with working Arduino, Adafruit motor shield, XBee, XBee adapter, motor power pack and 9V Arduino power, plus the Arduino sketch and Windows controlling program. The first try was buggy but working. Update: It turns out that the rechargeable power pack (from a swiffer) used to run the 2 DC motors was overheating the H-bridge on the motor shield. After switching to 4 AA batteries everything ran smoothly and we were able to drive it around the house. But eventually we burnt out the motor shield.

XBee Adapter Kit

Making the XBee adapter … shown about 1/2 done. After configuring with a TTL cable and testing, the motor shield and the XBee adapter (both from Adafruit) were easy to get working together. (We were able to get analog pins 14-19 working fine as digital pins but could not get NewSoftSerial to read more then 2 chars in a row without errors so we went back to pins 0 and 1 which worked fine).

Fabricating Parts

We have made 6 aluminum axils that are attached with nylon chain and turn in brass bushings. We are using nylon, aluminum and Lexan polycarbonate sheet to keep the weight down.