Sign in

Not a member? | Forgot your Password?

Search blogs

Search tips

Free PDF Downloads

Advanced Linux Programming

What Every Programmer Should Know About Memory

Introduction to Embedded Systems

C++ Tutorial

Embedded Systems - Theory and Design Methodology

Microcontroller Programming and Interfacing

Introduction to Microcontrollers

More Free PDF Downloads

Recent Blogs on EmbeddedRelated

Two Capacitors Are Better Than One
posted by Jason Sachs

Coding Step 1 - Hello World and Makefiles
posted by Stephen Friederichs

Introduction to Microcontrollers - Ada - 7 Segments and Catching Errors
posted by Mike Silva

OOKLONE: a cheap RF 433.92MHz OOK frame cloner
posted by Fabien Le Mentec

Practical protection against dust and water (i.e. IP protection)
posted by Dr Cagri Tanriover

Specifying the Maximum Amplifier Noise When Driving an ADC
posted by Rick Lyons

How to make a heap profiler
posted by Yossi Kreinin

Vintage robotics!
posted by Lonnie Honeycutt

Little to no benefit from C based HLS
posted by Christopher Felton

DSPRelated and EmbeddedRelated now on Facebook & I will be at EE Live!
posted by Stephane Boucher

Introduction to Microcontrollers

1 - Beginnings

2 - Further Beginnings

3 - Hello World

4 - More On GPIO

5 - Interrupts

6 - More On Interrupts

7 - Timers

8 - Adding Some Real-World Hardware

9 - More Timers and Displays

10 - Buttons and Bouncing

11 - Button Matrix & Auto Repeating

12 - Driving WS2812 RGB LEDs

13 - 7-segment displays & Multiplexing

14 - Ada - 7 Segments and Catching Errors

See Also


Embedded Systems Blogs > Lonnie Honeycutt > Arduino robotics #2 - chassis, locomotion and power

Lonnie Honeycutt (contact)
Electronics hobbyist after discovering the Arduino two years ago. Worked as a Wideband and Satcom technician in the USAF. Enjoy sharing my projects with others via full bio

Would you like to be notified by email when Lonnie Honeycutt publishes a new blog?


Pageviews: 2359

Arduino robotics #2 - chassis, locomotion and power

Posted by Lonnie Honeycutt on Oct 16 2013 under Tutorials | Microcontroller   

Arduino Robotics

Beginner robotics is a series of article chronicling my first autonomous robot build, Clusterbot.  This build is meant to be affordable, relatively easy and instructive.  The total cost of the build is around $50.  

1. Arduino robotics - motor control
2. Arduino robotics - chassis, locomotion and power
3. Arduino robotics - wiring, coding and a test run
4. Arduino robotics - HC-SR04 ultrasonic sensor


In last weeks article on beginner robotics, we talked only about motor control.  This week we will look at the basic structure and locomotive system of Clusterbot and put it all together.

The chassis

Pololu acrylic robot chassis

The logical place to start when building a robot is to think about a chassis, or base, to build your robot on.  For my first robot, I had several requirements.  It needed to be cheap, easy to use and round.  As this was my first build, I really wanted to concentrate more on the control circuitry and logic rather than the mechanical aspects.  Being able to easily and securely attach the motors was a priority also.  

A round chassis is a perfect shape for a differential drive robot.  Mounting motors on either side of a circular frame allows the robot to make zero-radius turns by driving each motor in opposite directions.  This also simplifies design, as the same motors are used for propelling and turning the robot.  

I chose to purchase a round acrylic robot chassis from Pololu.  This chassis is only $6, and it is pre-cut and drilled for mounting a gear-box motor, wheels and a caster for balance.  


The round acrylic chassis is made to perfectly fit Pololu's single chassis completion kit.  For $18.95, this kit contains a dual gearbox motor, capable of independently controlling two axles.  The kit also includes 4 wheels and two ball-casters.  Basically, everything we need to build a basic robot platform, short of a microcontroller and motor driver.

Motors and Gearbox

Tamiya twin motor gearbox kit

The motors are a pair of Mabuchi 3v toy motors.  I used the included motors, but the gearbox is also made to fit a pair of higher voltage, lower current motors - like these 6v motors that have a stall current of 800 mA.  These motors are a better match for the TB6612FNG motor driver.  The 3v motors work, but the operating voltage is near the low end of the minimum voltage of the TB6612FNG.  If you opt for the 6v motors, they are only $1.79 apiece.  At that price, no big deal if you burn one up accidentally. :)

The no-load speed of our motors is 12,300 RPM.  While this is amazingly fast, at that speed there is almost no torque.  We can use gears to trade this excess speed for torque, so that the motors will have enough power to propel our robot.  The kit I bought comes with a Tamiya twin-motor gearbox.

The Tamiya twin-motor gearbox is a rather interesting kit.  You will have to assemble the gearbox yourself.  The included instructions are pretty good.  You can also take a look at the video below to get an idea of what assembling this gearbox is like.  There are two different gear configurations to choose from - either a 58-1 or 204-1 ratio.  

The speed and torque of your robot is a function of the speed the motor, gear-ratio of the gearbox, and the size of the wheels you install.  I went with the 204-1 ratio on the gearbox to make sure I had plenty of torque.  This ratio provides a TON of torque - I think 58-1 would have been sufficient torque with a lot more speed.  The best option would probably have been to use taller wheels with the 58-1 ratio, but these are the kinds of things you learn on your first build.  Ultimately, I was not very happy with how slow Clusterbot was, but it did make it easier to see how the control logic was working once I had all the sensors installed.


Tamiya truck tire setTamiya Ball Caster

Finally, I installed the included wheels and ball caster.  I found the wheels to be a bit too small for my gear setup, but they are pretty high quality and the tires are very grippy.  Installation was easy, simply pushing the wheels onto the axles.  The ball caster is easy to assemble and install.  When installing components on your robot, you do need to remember to keep more weight over the caster so that your bot won't fall over.


After assembling the basic chassis, I mounted a 2 AA battery pack.  This battery pack will provide the 3V power source that the motors are rated for.  The microcontroller and other electronics will be powered by a separate 9V battery.  The leads from the 2AA battery pack will connect to the VMOT and GND pins on the motor driver, as discussed in Beginner robotics - motor control.  You will also now need to solder hookup wire to the two poles of each motor, as I have done in the video below.  Zip ties help immensely with cable management, among other things.

The microcontroller

Arduino Uno Microcontroller

I used an Arduino Uno as the microcontroller for this build.  I mounted a prototyping shield on the Uno, which gave me a good place to mount the motor driver and make various interconnects for the robot.  As you can see in the original picture of Clusterbot, I then used various pieces from one of my kid's erector sets to mount the Uno to the chassis.  

In retrospect, I should have used standoffs to put a second level on the robot, the same size as the bottom level.  The bottom level could have been used solely for the drivetrain and battery packs, while the second level would have plenty of room for all the electronics.  These are the things you learn when you build your first robot.


Outrigger on Clusterbot to maintain balance

I mentioned this earlier, but balance is a key consideration for a two-wheel, one caster robot.  I found Clusterbot balanced on his wheels and caster fine when at rest, but would tip over when changing direction.  This is why you see the 9 volt battery pack mounted on an outrigger - to get more weight over the caster.  It ain't pretty, but it works.

Next time...

In the next article, we'll make the connections to the microcontroller and motor driver, write some basic Arduino code, and take Clusterbot out for a test drive.

Related Videos

Assembling the Tamiya twin-motor gearbox 

Soldering hookup wires to the motors 

Credits: Photos of the acrylic round robot base, Tamiya twin-motor gearbox, Tamiya truck tires and Tamiya ball caster are used with the permission of Pololu.

Rate this article:
Rating: 0 | Votes: 0
posted by Lonnie Honeycutt
Electronics hobbyist after discovering the Arduino two years ago. Worked as a Wideband and Satcom technician in the USAF. Enjoy sharing my projects with others via blogging and on my YouTube channel. Currently working for Apple.

Previous post by Lonnie Honeycutt: Arduino robotics #1 - motor control
Next post by Lonnie Honeycutt: Arduino robotics #3 - wiring, coding and a test run
all articles by Lonnie Honeycutt

Comments / Replies

There are no comments yet!

Sorry, you need javascript enabled to post any comments.