Let's Make Robots! | RobotShop

Cheap DIY Arduino Truck "Mr. P"

Navigate via ultrasound and light, controlled by IR.



This is my first project and I am a big dumb in electronics... :)

so, if u see I'm doing or saying something wrong or stupid please tell me :)

Mr. P stands for "Pato" it's a Portuguese word for Duck :)

Parts in this project:

  • Cheap DIY Metal Construction Truck
  • Breadboard
  • Arduino Mega ADK 2560
  • Cheap HC-SR04 Ultrasonic Sensor
  • Cheap 2A motorshield
  • Old battery from and old RC Car
  • Darlington Driver ULN2803 Chip for stepper motor
  • DC Motor
  • Stepper Motor
  • 2 RGB LED's
  • 2 Photoresistors
  • Piezo Speaker
  • IR Receiver for Manual Control

Prototype of what should I use...

First attempt with an old RC Car...

But it was 2 big for indoor and it have a broken gear...

So I've found this cheap Cheap DIY Metal Construction Truck in a local chinese store :)

DC Motor, Stepper and ultrasound working...

Mounted photoresistors, LED's and Piezo Speaker...

Trying this cheap LCD (it works but I've rather not mount it yet...)

Changed the back DC Motor position a little back because he keeps wheeling up like a damn racer... :) and to give more stability to the front whells...


What does it do?

Well... it randomly pick some functions and play it for an certain amount of time...

I'm waiting for some cheap IR Switch's to detect obstacles and to alow it to auto-control be more efficient and a 7V Lion battery because this one lasts like... 10m :(


  1. Stops and calibrate front whells to maintain forward navigation in line
  2. Automatic Random Navigation
  3. Follow the light
  4. Do some crazy drifts (I put it at full power and turn the stepper to one random side at max... sometimes it just suicides himself to a wall... lol )
  5. Play some sounds like R2-D2 :))))
  6. Always listening on IR, if I press "Play" button of my computer remote it enters Manual Mode and I can controll it, if I press "Stop" it goes back to Automatic and do points 1-5 randomly.

Well... hope u like it! Any comments and sujestions would be much aprreciated! :)


Big Hug

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I would offer a couple of suggestions. AA rechargeables typically offer in the range of 2000mAh to 2500mAh and 5 would give you 6v while 6 would give 7.2v. Also, if you were wanting more traction, would wide rubber bands wrapped around the tires help?

I will try with the 7V lion battery when it arrives and see how it works...

For the traction I've tought about that but the dc motor gear seems made of not to good plastic and I don't want it to break if I put a lot pressure on it...

But I will reduce the output voltage trough the motor shield and put some rubber to see how it handles..

Thanks birdmun.

If you pwm  the motors you can keep the speed but maybe improve the traction with an adjustable acceleration? The wheels may not slip as much if you pwm slow then ramp it up. Very good job for a first project.

I already used a cicle to control the pwm to the maxpower but now I turned it off because I thought it was causing me some delays on the movements... after some debuging I've found that was the Sonar Ping that was causing delays when not confronted with an object. Solved with a short timeout on pulseIn() function.

Will try to make a cicle again on pwm and see how it works.

Thanks merser!

What a mess of wires ;-)

Do you plan to add an android phone to your robot? Or, why do you choose an Arduino Mega ADK?

Yeah... it's a lot of things connected without soldering... I'm lazy, I just soldered battery connectors and the LCD to test it :)

I have an android (Nexus One, the real developer edition :) ) and already connected to it, I already developed a small app based on google official one that receives the sonar value but atm I'm a little occupied with Mr. P coding. My plan is to send values from the web to the phone connected via 3G and from the phone to the arduino via ADK. But it will take a while till I get there :)