Arduino Robot for Lowest Cost




About: A mechanical engineer, instructor at Thaddeus Stevens College, and lifelong maker. Thanks Dad! A founding member of make717. Check them out at


It all started with this:
 Arduino Robot Challenge: How inexpensively can you create a robot using an Arduino for 5th Graders?

 I hope that this instructable has a certain elegance to its simpleness and will convince you to build your own and get some kids excited about technology with it!
Video of robot in Action!
Video -  Beta version:  improved front swivel (works on various floors better) and ENTER the pug named Mabel!

NEW - Wixel version in wall following mode!


<a href=""><img src=""See me at Maker Faire!" width="150" height="60" border="0" /></a>

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Whats Needed....

The lightbulb moment in this project was when I realized that I could use the DC motors within the K'nex Flash Robo Battlers for my robot drives.

- K'nex are familiar to kids. 
- They are inexpensive and readily available at the big box retailers (no shipping charges).
- The motor comes with a clutch and is a very durable and kid safe module to build a robot around.

So the BOM:

- 2 K'nex Flash Robo Battlers, $10 each at Walmart, Target, etc.
- Arduino Uno, approximately $30 at the MakerShed.
- Breadboard, switch for collision detection and jumpers from Radio Shack, less than $20.
- BOM from the H-bridge driver project at ITP. (the H-bridge driver chip cost about $3 plus shipping...wish I could have found this close by)

Step 2: Hack the K'nex Motor Drive

Ok, first objective is to get a right and left drive motor for the robot:

1. Remove 5 screws.
2. Slice through the K'nex label so that you can split case open.
3. Open case with the "top" up, fewer things will fall out.  I have a video of the innards...this was a challenging part of this careful attention.
4. Now you can take out the motor, battery contacts, and circuit board.
5. Solder leads onto the motor, and to the battery post.

Step 3: Trim Motor Case for Wires

It was hard for me to show this.  You will need to remove plastic wherever the wires get in the way.  You can route and tuck the wires in similar places to the originals.  Goal is to get the 4 wires out the opening that had the switch of forward/off/backward.

Using the battery contacts was a later inspiration, allowed me to eliminate the need for a battery case.  It also means the weight distribution is good.

Step 4: Test the Motor Drive

Open source means a mechanical engineer like me can cannibalize from the smart electrical people out there.

I tested my motor using this project.


This project at ITP, they have great tutorials on Arduino's, and basic electronics.

Step 5: Now the Easy Part...

Build a robot!  However you want...and add sensors...I used a Sharp IR sensor for distance measurement to follow a wall.

I then used Scratch 4 Arduino (S4A) to control the robot in a tethered mode. You will need a specific patch of Citilabs S4A.

I tried a bluetooth link that was no good and then I tried Xbee and my challlenged brain couldn't get it to work.  Then I found the Wixel product at Pololu.  It was a piece of cake with their documentation.  I would suggest using this.

 So now I have a robot for not much money that can be "created" by the students using the building blocks of a K'nex kit.  Then they can program in a drag and drop mode in Scratch!


Thanks for checking this out...shouldn't I win a Makerbot for this?  It would be an incredibly helpful part of our afterschool program!

MakerBot Challenge

Participated in the
MakerBot Challenge

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    12 Discussions


    5 years ago on Introduction

    I was trying to download those sb files for scratch for arduino. They tmp files now for some reason. Can you reupload them?

    3 replies

    Reply 5 years ago on Introduction

    I'm also having trouble getting the two dc motors to run at the same speeds in unison. I understand that this is due to natural difference in the manufacturing process, but one motor runs about 1.5 times faster than the other. Is there a way to correct this? I was reading into pulse with modulation but I'm kind of lost.


    Reply 5 years ago on Introduction

    Yes, I have had that issue also. I am not sure if the version of S4A that I used is still available, it had an analog output that set the motor speed. The latest official version of S4A that works with servos doesn't allow changing speed. I was able to do some balancing by changing the PWM setting via the S4A analog output that went to the PWM pin on the Hbridge...but even that varied forward vs. reverse. I have had some robot experts say the best way to overcome tracking problems is to use 4 driven wheels, though I haven't experimented with that solution. A good primer on PWM is inside of


    7 years ago on Introduction

    you could have used a smaller arduino like the sparkfun pro mini or an arduino nano, they are bothe quite alot cheaper than the uno

    2 replies

    Reply 7 years ago on Introduction

    Good point. I am a newbie and trying to minimize any potential issues since we are working with 5th graders that do stuff like incessantly push the reset button while you are running demos...glad that my teaching partner noticed that, I thought I was losing my mind!


    Reply 7 years ago on Introduction

    the uno is also easier as you dont need to solder headers on if you want to reuse it, but the title is a little misleading


    8 years ago on Introduction

    Can you please give more details about your circuit in step 4? You give detailed instructions on how to open up the knex motor and then completely skip over the arduino :)

    2 replies

    8 years ago on Introduction

    Note: school hallways are really dusty...these wheels did not get good enough traction to turn...weekend project!