Introduction: Make a Simple Platform and Give Mobility to Your Computer

Picture of Make a Simple Platform and Give Mobility to Your Computer
A computer is a very handy thing to use in your robots.

If you start listing all the features that can be used for robotic purposes you'll find that it is cheaper to buy a netbook than buying LCD, wifi and bluetooth modules, cameras, speech synthesizer modules, keypads, memory card readers, speakers and many other stuff.

Thats why I decided to make this platform to my netbook.  To let the computer control the motors, I tried two different ways: Firstly I used a arduino duemilanove with two motor driver boards , but then I found that it would be much easier if I just used a motoruino .

With this I could create lots of different applications that let my computer follow certain colors, follow human faces, detect flames, drive around the house avoiding walls, be remote controlled through the internet or using a wiimote, and the list of possibilities is almost endless. 

I have been developing this application, presented on the movie, which is called ComputerOnWheelsController.
You can learn more and download it at its page:

Or, if you prefer processing, you can find and download some examples that I've already done at my website:

Step 1: Gather the Materials

Picture of Gather the Materials

This is what you'll need:
    - 1x Box
    - 2x Motors, wheels  and supports
    - 1x Third wheel
    - 1x Battery pack 
    - Some wires and jumpers


  If you decide to use the motoruino you'll also need:
     - Motoruino
     - FDTI Cable


  If you prefer the arduino you'll need:
     - Arduino
     - USB A/B Cable
     - Dual Motor Driver, I used these . You can use whatever you want, for example, the L293D is very easy to use. Check the attached breadboard image.

Step 2: Prepare the Box

Picture of Prepare the Box

Let's prepare the box to fit our needs:

Cut the holes that you need for the USB cable and for the wheels.
I heated a knife in the stove to do that easily, and it was like slicing butter.

Step 3: Attach the Wheels

Picture of Attach the Wheels

Place the wheels on the motors' hubs and tighten their screws.

Attach also the third wheel on its place.

Step 4: Place Everything Inside the Box

Picture of Place Everything Inside the Box

If you use the motoruino you have to connect the wires from the motors and  the battery to the respective screw terminals.
If you have doubts check this page:  .
Then you have to connect the usb cable, if you're using one with the FTDI chip embedded just connect it dirrectly to the board, if you're using an adapter board like me put it in place and connect the usb cable to it.
Make sure you're connecting it the right way, you may have to connect it faced down.

If you decided to use my boards, connect the battery wires and the motors to the motor controller boards, as it is show on the images.
Connect the 5V of the arduino to the boards, and the jumpers which come from the PWM outputs of the arduino.
They are two for each motor to be possible to control the speed of rotation on both directions of rotation.

If you use a L293D in a breadboard, check the attached image.

  If use other controllers, check their datasheet.

Now the hardware part is DONE!

Step 5: Upload the Sketch to the Arduino

Picture of Upload the Sketch to the Arduino

Download the attached file, open it with the Arduino Software , read it if you desire, choose the serial port and the board, and upload it to your board.

Step 6: Test It!

Picture of Test It!
Open the serial monitor window and see what happens when you send the following commands:
    - 'w' move forward
    - 's' move backward
    - 'a' spin to the left
    - 'd' spin to the write
    - 'g' stop

Step 7: Open Your Imagination!

Picture of Open Your Imagination!
Now that you have your platform working, start creating applications for it!

I'm currently developing ComputerOnWheelsController which is an application supposed to be simple to implement and use with robots connected in some way to a computer, like this one.
You can learn more and download it at its page:

I've also created some with processing , which is a very easy language to learn, specially you you already know  how to program in arduino.
You can have a look and download them here:
Always remember to check the available Serial port on your computer, in my case is COM19, but this is different from system to system.

Here is again the demonstration of the color tracking one: 


devicemodder (author)2016-01-27

The site is dead. I used to have a copy of the code, where can I get it?

devicemodder (author)2014-01-29

to make it smaller replace the laptop with a raspberry pi

rsangeethk (author)2012-06-14

heiiii.... dont you need TTL logic converter... like max232???????? when connecting laptop with the microcintroller??????

XicoMBD (author)rsangeethk2012-06-14

The Arduinos that used have a FDTI chip ;-)

rsangeethk (author)XicoMBD2012-06-15

but im using a third party board with h-bridge....!!! which one is best for usart!!!

XicoMBD (author)rsangeethk2012-06-15

Is it arduino based?

rsangeethk (author)XicoMBD2012-06-15

noooo.. its not arduino based! and do you have the same code for avr studio.. or any hexfile of this code?????? if yes plzz share it!!!

XicoMBD (author)rsangeethk2012-06-15

I only have the arduino code, but it is very very simple.
It should be easy for you to replicate it. It only has to receive the chars from the serial port and actuate the motors accordingly.
Try to search for serial port communication examples...

sabari1000 (author)2011-11-21

Hey Guys... I'm using Arduino Diecimila... Selected correct Board and Serial port... But still i can't upload the program.I'm getting the following Error

***avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51***
i'm searching in lots of Forums for 6 days but still i cant find the solution... can anyone help me out of this... Thanks in Advance...

Garebear350 (author)sabari10002012-01-06

Same thing has happened to me repeatedly with my uno i have no idea what to do.

MRedu (author)2011-11-02

Insane! I've seen some amazing things here on instructables but this is by far my favourite!

I wanna give this a go i've always been into robots. But i don't know where to get all the parts from... (i'm in the UK).

XicoMBD (author)MRedu2011-11-02

Thanks for the comment :D
You can get the motoruino directly from guibot (, just leave them a message.
The rest of the parts aren't so specific, you can get any motors, battery and wheels. You should be able to find this kind of thing on ebay, for example.

If you're interested, I've been collaborating in the development of a similar platform, but much more powerful and capable: Have a look :)

MRedu (author)XicoMBD2011-11-08

Cool Thanks!

karan13 (author)2011-08-24

i want a short help from u .is there any way i can controll this robo with psp a well as tag laptop's camera as to psp's screen
plese help ,as i want this to exebit this bot in exebition.

osalomak (author)2011-07-14

What this mean? What I did wrong?

avrdude: stk500_getsync( ): not in sync: resp=0x00 
avrdude: stk500_disable ( ): protocol error, expect=0x14, resp=0x51

XicoMBD (author)osalomak2011-07-14

I'm not sure. When I have that error I usually disconnect the board from the PC and reconnect it again.
But try to go to that link and see if it is useful.

osalomak (author)XicoMBD2011-07-15

My broblem was board choice...
My Motoruino board works with Arduino Duemilanove...
I first try choose Arduino Diecimila, but it's not accept that...

guibot (author)osalomak2011-07-15


Assuming it might be the FTDI cable please confirm that you are connecting the black cable on the same side where it says GND.

Confirm also you are selecting "Arduino Duemilanove or Nano w/ ATmega328".

Please let me know if it worked.

osalomak (author)guibot2011-07-15

Yeah! It's working now... :)

guibot (author)osalomak2011-07-15

Great!! ;)

XicoMBD (author)osalomak2011-07-15

Like I told you before, I choose the "Arduino Duemilanove or Nano w/ ATmega328".

Are you sure that the problem isn't from the FTDI cable?

osalomak (author)XicoMBD2011-07-15

Yeah, my bad... I have dyslexia... :D
And "broblem" mean problem... :b
But now everything working perfectly...
FTDI cable working very well too. :)
Now I try to do that same project without laptop... 
Some kind of wireless thing... I post some pictures later... 

Avadhut.Deshmukh (author)2011-07-14

i have another idea to use ic l298d motor drivers
what correct ?

plz reply

XicoMBD (author)Avadhut.Deshmukh2011-07-14

On the picture you have a L298N. But yes, you can use it.

Avadhut.Deshmukh (author)XicoMBD2011-07-14

i have L298N motor board 1 in 2 dc geared motor !!!

my robot started working thank you

XicoMBD (author)Avadhut.Deshmukh2011-07-14

Send me some photos or videos so I can post them on this 'ible ;)

osalomak (author)2011-07-07

Thanks for informations! :)

My project is almost same as yours, but I add mouse controlled servos for webcam's rotation...

osalomak (author)2011-07-06

what software you used to programming Motoruino..?
Can I use Arduino software to programming Motoruino...? :)

XicoMBD (author)osalomak2011-07-07

Yes, of course ;)
Have a look here:
"Besides the lack of the usb connection (you will need a TTL-USB converter described below), the Motoruino is 100% compatible with the Arduino Diecimila, including the pin position, so you can attach any compatible arduino Shield."

On the arduino IDE you just have to choose "Arduino Duemilanove or Nano w/ ATmega328".

karan13 (author)2011-07-02

while creating face tracker ,i am comming across some problem i have added
pface detect
pface detect.dll
and folowed every step respectively but on the message bar an error is coming
that-............................./pfacedetect.dll -cannot find dependent file .
i am using win 7 32-bit. can u tell me where i am going wrong .

XicoMBD (author)karan132011-07-03

I'm not sure if it works with 7, I've only tested with XP. Where have you added that files?

karan13 (author)XicoMBD2011-07-03

i have addrd these files in the skech

karan13 (author)2011-06-27

does versions effect the making of application

XicoMBD (author)karan132011-06-27

I don't know

karan13 (author)2011-06-27

which version of processing r u using

XicoMBD (author)karan132011-06-27


karan13 (author)2011-06-21

hai my robo started working thank you man..............i want to know that is there any way we can control robot through our voice

XicoMBD (author)karan132011-06-21

Post a video here if you can :)
Yes, I've found this ( but I haven't had any time to integrate it with the COWC (ComputerOnWheelsController) application.
I may be able to do it next week when I finish my exams, but try to do it yourself!

XicoMBD (author)2011-06-18

Yes, you can.
Have a look:

crxksa (author)2011-06-16

forgive me if i am slily
where did you buy the motor

XicoMBD (author)crxksa2011-06-17

"They were from another robot, which I bought when I participated in this event, some years ago:"

PS: Read the older comments, your answers were already there ;-)

crxksa (author)2011-06-16

hey in the video you show iPhone controlling the robot
can you give me link for it


XicoMBD (author)crxksa2011-06-16

I've done that using this application ( and TeamViewer ( to control the computer with the iPhone.

karan13 (author)2011-06-16

where should v connect battery connection in h bridge l293d

XicoMBD (author)karan132011-06-16

Like this, for example:
Controlling two motors with L293D and a battery just for them

crxksa (author)2011-06-15

thanks bro it worked perfectly

good response also

only one small problem wen i turn right it turns lift ans wen i turn lift it turns right

XicoMBD (author)crxksa2011-06-15

Good to know! Post a video if you can/want :D

That is easy to correct, in the code, replace "case 'a':" with "case 'd':" and "case 'd':" with "case 'a':".

About This Instructable




Bio: Hi, My name is Francisco Dias and I'm a student from Lisbon, Portugal. Have a look at my website:
More by XicoMBD:Create an internet controlled robot using LivebotsArduino controlled Ping Pong Balls LauncherBuild a USB Orange Thrower Machine
Add instructable to: