Picture of Arduino Nano based Microbot
This instructable was created to be entered in the Robot Challenge. If I win, the parts will of course, go into robots like this one. Notes on how to include some of the very components in the prize packages are given in the last step. I am 28, so of course, I'm not going for the student prizes.

I created this as a simple project for those just starting out in robotics. It is relatively inexpensive, requires minimal tools and is easy to build. Once finished you have an expandable robotic platform that fits in the palm of your hand and can be easily programmed in the Arduino environment.

Here is is driving in a triangle, without any special add ons

In the instructions I'll walk you through how to:
  1. Modify the servos for continuous rotation
  2. Fit the track hubs on to the servos
  3. Make a custom battery pack
  4. Wire it with a few connections
  5. Assemble it
  6. Program it
  7. Customize
These and other additions can be mixed to make your own custom micro robot

For the basic platform the following supplies are needed:
an Arduino nano
a small rechargeable battery
a pair of 9 g servos, modified for continuous rotation
part of a Tamiya track set
a 40 pin dip socket
a rubber eraser
some zip ties
Remove these adsRemove these ads by Signing Up
1-40 of 83Next »
AndyGadget2 years ago

Really, really neat!
It's hard to make a narrow robot when you're using continuous rotation servos because of the gearbox height, but you've overcome this with the tracks and the asymmetric mounting method.
Just to clarify, you've drilled a hole for the idler pinion in the servo bottom cover in line with the spindle?  Must have been pretty tight in there - the boards in those 9g servos don't leave a lot of room.
PaulMakesThings (author)  AndyGadget2 years ago
To mount the idler I did it just as you said, its screwed into a hole drilled on the back cover opposite the spindle. I had to be sure not to put the screw in too deep so it wouldn't hit the board, but in the ones I was using the board was slanted so it wasn't too near the back wall at that point. I've noticed with these cheap ones it isn't always the same slant, but on the ones where they installed it so that the near side is on the end I want to mount the wheel to I just tilt it the other way before I put it back in when I do the modification.
--Mark--3 days ago
This looks awesome! I plan on making a pair of these rc controlled with laser and light meter modules on these and having them be mini battle tanks :)
Techies140010 days ago
how i can make a nano tank controlled by bluetooth with this? (sorry for my bad english)
PaulMakesThings (author)  Techies140010 days ago
No worries, your English is good. This is easily acomplished. For an adapter use an hc-06 module, you can get them for $7 or so on evay and they use rs 232 serial, which the nano supports. I refer you to this other instructable :
You would have to replace the motor commands with the kind i used with the servo library. Also there are free apps with blutooth rc controllers which may work better for you since that instructable doesnt detail the app very well.
MaxXD1 month ago

Can you do it with the raspberry pi?

PaulMakesThings (author)  MaxXD10 days ago
It could certainly handle the calculations, being way more powerful by orders of magnitude than a nano. It might be a bit big.
Dl31nstruct11 days ago

Great project!

Having a hard time finding genuine Arduino Nano's and I'm Leary about 'compatibles'.

Can I use an Arduino Micro instead?

PaulMakesThings (author)  Dl31nstruct11 days ago
Yes, that certainly would work. In fact any chip or board that can generate a PWM signal at 500 Hz can do it, though some require an external programmer. It looks like the Micro does have a USB connection of it's own so you should be all set.

On another note, I haven't had much trouble with 3rd party arduino based boards, but the genuine ones are of better quality, and it is good to support the people who create the IP.
IñakiA23 days ago

I have followed the instructions on how to make the servo have continuous rotation, but as it doesn't have the potentiometer connected, the servo doesn't realize that he finished turning and it never stops. Please, someone help.

PaulMakesThings (author)  IñakiA23 days ago

That is what is supposed to happen. The servo is supposed to turn continuously (around and around without a limit) rather than just moving to a position. To allow this, rather than the signal giving you a particular position, it will give you a particular speed.

So to stop, you must send the signal for zero, which is usually a 1.5 ms pulse, on a normal servo this would be the middle position. Likewise 2 ms is full forward speed for as long as the signal is applied, where on a normal servo it is full forward position for as long as the signal is applied. Likewise 1 ms will run full reverse, while on a normal signal it would hold in the full reverse position.

note: some servos vary in exactly where their forward, 0 and reverse limits are. IE they may stop at 1.3 or 1.7 ms pulse.

Thanks, I discovered the numbers for my servo.
Full forward:180
Full backward:0
For a strange reason, the stop is not in the middle.
Robobeard2 years ago
Hi, I tried making the robot but I'm trying to find out what's the battery is for. I'm new at this so some things are confusing.
PaulMakesThings (author)  Robobeard2 months ago

I didn't see this comment. It got buried. According to the arduino Nano datasheet it prefers 7 to 12 volts. So if you can't find the type of battery I used a 9V should do it, or an 11.1 lithium battery (which would need a special charger), or any other battery pack that will get you a voltage in that range.

It's my dream to learn this sort of stuff. Where did you learn programming language? What's this things top speed?
PaulMakesThings (author)  trans4mation2 months ago

That's it's top speed in the video. Maybe 1/2 m/s, I would guess. That depends on the servos and drive wheels you use.

That is one sleek-lookin' robot! Great job.

PaulMakesThings (author)  RobotTechMaster2 months ago


lkrewson6 months ago
is there a way to do this with arduino uno
PaulMakesThings (author)  lkrewson2 months ago

The robot could certainly carry one, and the servo library works on uno as well (it was actually on uno first) so if you wire the power and servo signals to an uno there is no reason it shouldn't work.

apinnette25 months ago
How much does this cost in total
PaulMakesThings (author)  apinnette22 months ago

If you get cheapo parts on ebay*. about $30

*I haven't used these particular parts, they may be crappy

$5.50 for the micro servos [for example ]

$5 for the nano [ebay]

$10 for the tracks [ebay] though I would reccomend making your own, since you don't need the whole kit, and I just had the small wheels left over. For example you could use plastic bottle caps and silicon bracelets.

I salvaged the battery, but if you can't find an old cell phone battery something like this would do: $2 [USB li-po charger] $6 [tiny single cell li-po battery] convieniently, this is already the right voltage to run the arduino nano. One could easily add jumpers to make it charge while hooked up to program.

Raphango6 months ago

Great! Congratulations!

samern9 months ago

Hi Paul,

I found myself with a lot of bits and pieces lying around and like you decided to make something out of them. It turns out I have an Arduino Nano, a Tank Gearbox from Tamiya (the sort that takes 2 ordinary motors to allow for tank type driving), a PING sensor and some tracks and wheels. So I cobbled together a bot using this gearbox and it actually looks great. My question is about controlling the motors using the Nano vs a pair of servos. As I understand it, I would need a NPN Transistor, a resistor and a diode for each motor (say one hooked up to D9 and one to D10 on the Nano as you have). Would you say that this is a viable approach (I'm more ME than EE so I have to ask)? I can then connect the PING to D11 or any other PWM pin and change the code to interrogate the sensor every few rotations.

Does that sound about right?



am7 samern8 months ago

use an H-bridge motor driver
it ll wrk fine

PaulMakesThings (author)  samern9 months ago

That approach would work, but you could only turn in one direction. If that is ok then yes. For a simpler approach, check out the L293D, it contains 2 H-bridges and can drive two motors both directions . It can be gotten for 1.25+$5 S&H at sites such as this (

And if you search on google for Arduino L293 you will find a wide array of diagrams on how to connect it, and code examples of how to use it, because it is a very common chip.

It handles about 0.6A per channel, and comes in a DIP package. If you need more there are several other "Push pull" or two channel H bridge chips, including the L298n.

If there is any confusion about how to use it just ask. Like I said theres a ton of example code and diagrams out there.

Excellent, thank you!
pucksurfer9 months ago
Couldn't you just use a regular motor instead of a servo. It might bring the price down. And the code
Would just change a little bit
PaulMakesThings (author)  pucksurfer9 months ago
Yes that would work, if you want to get one with a tiny gearbox and add a little motor driver circuit, which wouldn't be too difficult. I haven't found tiny gear motors with enough reduction and motor drivers that can be gotten for less than $2 a set.
νχαβιάς10 months ago

May i ask you where i can find these wheels and belts ? :)

PaulMakesThings (author)  νχαβιάς10 months ago

These are from a set, Tamiya TAMX8001 70100 Track & Wheel Set. Though you will get a lot of extra parts that way. I actually had these left over after I made a bigger set from that kit.

Oh thank you :)

I want to make one of these RC with a camera. Any ideas?
lumi30051 year ago
I am loving it. I like micro bots very much, especially this one since it's really down to the basics and still looks cute, cool and advanced at the same time.
rezdog1 year ago
Hi, I'm relatively new, I was considering putting a small camera on it and then connecting it to a ps3 controller. Any ideas how?
Also would it be possible to waterproof it?
PaulMakesThings (author)  rezdog1 year ago
That's an interesting question, I looked in to it and waterproof 9g servos can be gotten on ebay for about $15 each or retail for about $23. That might be a bit too expensive considering the whole thing is about $20 normally. I saw some tutorials on waterproofing servos, so maybe that could work. As for the board and battery, I would either pot them (see 'potting circuit boards), or if you still want to be able to make changes, I'd try a pill bottle and seal around the wires with silicon. If you didn't mind some cleanup when making changes you could fill the pill bottle with vegetable oil to help keep water out. When I worked on an underwater robot we sometimes filled cases with petroleum jelly, it's viscosity works even better, but cleanup is a lot worse. Practically though, I would just epoxy coat the circuit board and battery except for the contacts, then put in in a pill bottle, if it gets a little wet it would still be salvageable.
jpalita1 year ago
I'm a beginner in this so how do I put 2 wheels in 1 servo

and is there an alternative wheel besides tamiya?
PaulMakesThings (author)  jpalita1 year ago
I just used a screw that fit inside the axle closely and drilled a hole in the back of the servo case. It's fairly malleable plastic, it will tread in.

For alternatives I've looked at those silicon wrist bands for the tracks, and plastic bobbin spools with several rubber bands wrapped around them to build up the middle for the rollers. The materials for that will cost you a few dollars, and can often be found for free. Another thing I've tried for the wheels is plastic soda bottle caps with large washers glued on them for flanges.
Nice robot, you did great job!
Ploopy1 year ago
Could you use a chip like ATtiny 85 for this?
Instead of a ardino mini.
1-40 of 83Next »