Autonomous Race Car





Introduction: Autonomous Race Car

Build this autonomous driving robot car based on a old RC toy car. I removed the radio control board from the car and replaced it with a brain in the form of an Arduino UNO board (plus a motor driver board) and gave it an ultrasonic distance measuring module to see the world through.

Step 1: Components

  • Radio controlled toy car
  • Arduino Uno
  • Motor driver board (2 channel)
  • Ultrasonic sensor distance measuring module
  • Bread board

Step 2: Brain Transplant

Remove the radio control board from the RC car cutting all wires close to the board. Connect wires to the motor driver board - rear wheel motor in one channel - front wheel steering motor in the other channel.

"Steal" power from the cars batteries.

Step 3: Connect Arduino Board and the Ultrasonic Sensor

Connect the ultrasonic sensor and the motor driver to the Arduino board.

Step 4: The Programming

The cars intelligence is pretty simple. It's based on different modes that controles speed & direction depending on distance to objects ahead of the car:

FULL SPEED MODE - No objects ahead - full speed

CRUISE MODE - Object is X cm away - slow down

AVOID MODE - Object is too close for comfort - slow down and turn in random direction

REVERSE MODE - Object is very close - stop and reverse for 2 seconds

Step 5: The Code

Note: you need to find the "Ultrasonic.h" online. As I remember, I had to download a couple of different versions before I found one that worked.



  • Paper Contest 2018

    Paper Contest 2018
  • Pocket-Sized Contest

    Pocket-Sized Contest
  • Science of Cooking

    Science of Cooking

We have a be nice policy.
Please be positive and constructive.




please make it fast as soon as possible...

F3E7GSUHZI8QI9Q:159: error: 'class Ultrasonic' has no member named 'Ranging'

distance = (ultrasonic.Ranging(CM));


exit status 1

'class Ultrasonic' has no member named 'Ranging'

Any idea how to fix this?

plz .how i can do it with L298 driver .what the changing in code?

Watching this work roaming is impressive! but reading through your code I don't see how the Random Seed influences the steering choices. Is this your early code for the project?

the front motors are not working and the rear motors are moving front only when an I move my hand in front of the ultrasonic sensor. need help

Hi :)
First of all, Congratulations..
I wonder how many motors(dc or servo) in car? And lastly, is there any hardware circuit of this project ? Please help me :)
Thanks :)


Can it used for 2WD smart car? do you have sketch code for 2WD which uses L9110s and ultrasonic sensor?

Hey I actually tried it with the l298 motor module and it's not working because. The l298 has pwm (pulse width modulation) so it has 3 pins for each motor. 2 of them are Standard and one more is pwm pin so please can u suggest. Me the code it's not working pls