PDF download Download Article
A step-by-step guide to building a DIY robot vehicle
PDF download Download Article

Have you ever wanted to see your own robot car roving around? You can easily build your own robot car with a few electronics parts, an Arduino microcontroller, and copy-paste C programming. Even if you've never tried a DIY project like this before, take the chance to practice your soldering and get familiar with some basic code. This wikiHow guide will walk you through making a robot car.

Part 1
Part 1 of 4:

Building the Chassis

PDF download Download Article
  1. 1
    Gather your materials. You'll need the following materials to build your robot car. If you're not sure what size each component should be, read over these instructions to get a feel for how they fit together:
    • Two motors
    • Two wheels
    • Arduino microcontroller board (the Arduino Uno is a good choice for beginners)
    • Motor driver shield or motor driver circuit (found in remote-controlled toy cars)
    • Battery holder and 6 volts of batteries (e.g. four AA batteries)
    • Chassis: a sheet of acrylic or plexiglass, about 6.5 x 4.5 inches (16.5 x 11.5cm)
  2. 2
    Attach the wheels and motors to the chassis. Thread each wheel onto one of the motors. Hot glue the motor onto the chassis as follows:
    • Mark two locations near one end of the chassis, opposite each other.
    • Glue one motor over each location, on the upper side of the chassis. Make sure the wheel hangs over the edge so it can roll along the ground.
    Advertisement
  3. 3
    Glue on the battery holder. Add a dollop of hot glue to the top side of the chassis, between the wheels. Press the battery holder here and let set.
  4. 4
    Attach the motor driver circuit. Position the motor driver circuit near one side of the chassis, with the wires overhanging the edge.
  5. 5
    Position the Arduino. Glue the Arduino onto the chassis, tucked opposite the driver circuit. When positioning it, make sure you have access to the socket for plugging the Arduino into the computer.
  6. Advertisement
Part 2
Part 2 of 4:

Wiring

PDF download Download Article
  1. You'll need four pieces of insulated wire, with each end stripped. Read this section first to find out how each wire is connected, so you can cut each one to the right length. Typically, each wire should be about 5 inches (13cm) long.
  2. 2
    Solder two wires onto one motor. Solder one wire onto each of the two motor pins.
  3. 3
    Solder the other ends to the motor driver. Find the motor pins on the motor driver circuit that are labeled m1 and m2 . Solder the other ends of the two wires onto these pins.
    • If your driver does not have these labels, look for a diagram of your motor driver online.
  4. 4
    Repeat for the other motor. Solder the other two wires to the two pins on the second motor. Solder the other ends of these wires onto the driver pins labeled m3 and m4 .
  5. The battery holder should have two attached wires, one positive (red) and one negative (black). Connect these as follows:
    • Connect the positive wire to the Vin pin on the Arduino
    • Connect the negative wire to the Gnd (ground) pin on the Arduino
  6. 6
    Connect the motor driver circuit. The motor driver has two wires as well. Connect these to the Arduino, making contact with the wires from the battery holder:
    • Connect the positive pin on the motor driver circuit to the Vin pin on the Arduino.
    • Connect the Gnd pin on the motor driver circuit to the Gnd pin on the Arduino.
    • If you have difficulty identifying the Arduino pins, find an online guide specific to your model.
  7. Advertisement
Part 3
Part 3 of 4:

Setting Up Rx Circuit Control

PDF download Download Article
  1. 1
    Understand the process. The hack in this section allows Arduino to drive the motors directly, without an external motor driver. The diagram shown here represents the IC (integrated circuit) on the motor driver circuit.
    ICDiagram.jpeg
    • This section requires careful soldering. Work slowly and methodically.
  2. These will connect the Arduino and the motor driver circuit.
  3. 3
    Solder the wires. Solder each wire to one pin on the integrated circuit. Take care not to make contact with a second pin. Solder as follows:
    • Solder one wire on to the LEFT pin shown in the IC pin diagram. The LEFT pin is 7th from the top.
    • Solder a wire on to the RIGHT pin shown in the IC pin diagram. The RIGHT pin is 6th from the top, just above "left."
    • Solder a wire on to the BACKWARD pin shown in the IC pin diagram. The BACKWARD pin is the 10th pin, exactly opposite "left."
    • Solder a wire on to the FORWARD pin shown in the IC pin diagram. The FORWARD pin is just above "backward," exactly opposite "right."
  4. 4
    Connect the wires to the Arduino. Taking care not to confuse the wires, attach each one to the Arduino as follows:
    • Connect the LEFT wire to pin 5 of the Arduino.
    • Connect the RIGHT wire to pin 6.
    • Connect the BACKWARD wire to pin 9.
    • Connect the Forward wire to pin 10.
  5. Examine all your wiring closely. Make sure there are no unintentional connections causing a short.
  6. Advertisement
Part 4
Part 4 of 4:

Programming the Car

PDF download Download Article
  1. Plug the Arduino circuit into your computer. Open the Arduino software. This allows you to program your car's movements.
    • Arduino software is available for free online.
  2. 2
    Upload the following code. Type the following program into Arduino. Once finished, upload it into your circuit. This code will cause your car to move forward for 5 seconds, take a right turn, and move forward for another 5 seconds:
       int 
       Fmotor 
       = 
       10 
       ; 
       // initialize all the motors 
       int 
       Bmotor 
       = 
       9 
       ; 
       int 
       Rmotor 
       = 
       6 
       ; 
       int 
       Lmotor 
       = 
       5 
       ; 
       void 
       setup 
       () 
       { 
       // put your setup code here, to run once: 
       pinMode 
       ( 
       Fmotor 
       , 
       OUTPUT 
       ); 
       // set them as outputs 
       pinMode 
       ( 
       Bmotor 
       , 
       OUTPUT 
       ); 
       pinMode 
       ( 
       Lmotor 
       , 
       OUTPUT 
       ); 
       pinMode 
       ( 
       Rmotor 
       , 
       OUTPUT 
       ); 
       } 
       void 
       loop 
       () 
       { 
       // put your main code here, to run repeatedly: 
       digitalWrite 
       ( 
       Fmotor 
       , 
       HIGH 
       ); 
       // code for making the car go straight 
       digitalWrite 
       ( 
       Lmotor 
       , 
       HIGH 
       ); 
       digitalWrite 
       ( 
       Rmotor 
       , 
       LOW 
       ); 
       // NEVER SET A MOTOR HIGH ON BOTH PINS 
       digitalWrite 
       ( 
       Bmotor 
       , 
       LOW 
       ); 
       delay 
       ( 
       5000 
       ); 
       digitalWrite 
       ( 
       Rmotor 
       , 
       HIGH 
       ); 
       // Take a right turn 
       digitalWrite 
       ( 
       Lmotor 
       , 
       LOW 
       ); 
       digitalWrite 
       ( 
       Bmotor 
       , 
       LOW 
       ); 
       digitalWrite 
       ( 
       Fmotor 
       , 
       HIGH 
       ); 
       delay 
       ( 
       800 
       ); 
       digitalWrite 
       ( 
       Fmotor 
       , 
       HIGH 
       ); 
       // code for making the car go straight 
       digitalWrite 
       ( 
       Lmotor 
       , 
       HIGH 
       ); 
       digitalWrite 
       ( 
       Rmotor 
       , 
       LOW 
       ); 
       digitalWrite 
       ( 
       Bmotor 
       , 
       LOW 
       ); 
       delay 
       ( 
       5000 
       ); 
       } 
      
  3. Set the car on a flat surface. Put in the batteries and watch it go! If your battery holder has a switch, flick it to turn the car on and off.
    • You can add your own switch by connecting the positive wire of the battery holder to the center pin of an SPST (single pole singe throw) switch. Connect the other pin of the switch to the Vin pin on the Arduino.
  4. Change the values in the code and upload your new program to change the behavior of your car. Try changing the numbers after "delay," or see what happens when you change a LOW to a HIGH or vice versa. Just make sure never to set both pins of a single motor on HIGH at the same time.
  5. Advertisement

Community Q&A

Search
Add New Question
  • Question
    Where can I get the parts needed?
    Community Answer
    From any electronics shop, hobby shop, or scrapyard near you. You can also cannibalize your electronics for parts.
  • Question
    How much does building a robot car cost?
    Community Answer
    In my experience, $20 to make a simple one. About $60 if you want to make an amazing robot car.
  • Question
    Can these cars be controlled by a remote?
    Community Answer
    Yes, but you need to change the settings a bit. You will need to connect it with the remote.
See more answers
Ask a Question
      Advertisement

      Tips

      • In the C code, the text snippet following the // symbols are comments. Use this to figure out what each piece of code does.
      • If your car doesn't drive the way you expect, try switching the values of Lmotor and Rmotor, or of Fmotor and Bmotor.
      Submit a Tip
      All tip submissions are carefully reviewed before being published
      Name
      Please provide your name and last initial
      Thanks for submitting a tip for review!
      Advertisement

      Things You'll Need

      • Two motors
      • Two wheels
      • Arduino microcontroller board
      • Motor driver shield or motor driver circuit (found in remote-controlled toy cars)
      • Battery holder with four AA batteries
      • Chassis
      • Hot glue

      About This Article

      Thanks to all authors for creating a page that has been read 307,271 times.

      Is this article up to date?

      Advertisement