This instructable shows how to modify an inexpensive RC car so it can be controlled by an on-board microcontroller.  You can program the controller to make the car do any number of driving patterns and stunts.  Once you have the car being controlled from the on-board controller, you can add sensors for light and sound and make the car do things like line following.

Step 1: Gather Materials and Tools

I used the following materials:
-RC Car - el cheapo from Walmart.  It cost $6 at my local Walmart.
-Arduino - I used the Duemilanove purchased from Sparkfun, (www.sparkfun.com)
-4 1000 Ohm 1/8 Watt resistors (color code BRN/BLK/RED). The value of the resistors is not critical.  Anything within 50% should work.
- 1/16th inch heatshrink tubing to insulate the resistors after they're installed
- 22 AWG solid  wire.  You'll need five wires, 6 to 8 inches long. I used Black for the Ground and White for the 4 control wires.
- a small amount of solder
 - 2 rubber bands
- 9V battery clip that plugs into the Arduino, also available from Sparkfun

Tools you'll need are:
- small (not tiny) Phillips screwdriver
- wire stripper
- soldering iron
- "third hand" to hold resistors while soldering wires to them
- small tip diagonal wire cutters
- desoldering tool or braid
- tweezers or small needle-nose pliers

<p>Activity Detail:</p><p>Step 1. Unscrewed RC Car<br>Step 2. No VCC found on IC RX-2B, VDD found on RX-2B receiver IC. Hence assumed VDD as VCC.<br>Step 3. Wired Arduino 5V to VDD of Battery (Battery was connected to VDD of IC), wired Arduino GND to Battery other pin( Battery other pin connected to GND of IC indirectly)<br>Step 4. Identified the F,B,L,R pins of the RX-2B receiver and noted the wires running from F,B,L,R pins of RX-2B to the motors of the car.<br>Step 5. Directly soldered the 4 pins (8=F,7=B,2=L,4=R) of Arduino to Car motors through wires by taking into consideration step 4 (The car motor wires that were already soldered to RX-2B receiver was not touched or altered)<br>Step 6. Uploaded the Arduino Code as given in this instructable<br>Step 7. The Arduino was plugged to the computer through USB</p><p>Issues/Error Details</p><p>Issue 1. After uploading code to Arduino with Arduino powered through USB attached to computer, nothing happened. The wheels did not turn. <br>Issue 2. After disconnecting the Arduino and undoing all that was done to the car, the Car did not Function through its remote control<br>Issue 3. One of the wires on the car which is not part of F,B,L,R or VDD or GND or LEDs connected to RX-2B got disconnected. Unable to identify where to re-solder that wire on the RX-2B IC. </p><p>Final Note: RC Car not working. </p><p>Help and suggestions needed. </p>
<p>The instructions were very helpful. I am from a computer science background. The RC Car uses RX-2B receiver. I followed the steps given in the PDF, now the RC car is not functioning at all, with or without Arduino. Let me know if any one can help me. </p>
<p>Wouldn't the code fry the h-bridge circuit? </p><p>Running forward after reverse or vice versa will temporary set both drive motor control pin to high - in such case there would be a short circuit between the two bipolar transistors and they are gone. Happened to me, then I figured it out while I was looking what went wrong.</p><p>The simple fix to this problem is to set first to low and then to high.</p><p>That is, instead of:</p><p>void go_forward() {</p><p>digitalWrite(forward,HIGH); // turn forward motor on</p><p>digitalWrite(reverse,LOW); // turn revers motor off</p><p>}</p><p>void go_forward() {</p><p>digitalWrite(reverse,LOW); // turn revers motor off</p><p>digitalWrite(forward,HIGH); // turn forward motor on</p><p>}</p>
<p>How did you figure out which pins made the car go forward, backward, left and right ? </p>
<p>I have holes 6-11 but number 2 has a yellow wire connected on the green side, what do I do?</p>
<p>This is great and worked on my first try, than you! I was able to get the IC off by using solder wick, pushing down hard on all 16 legs with the iron, using more wick, pushing the legs down one at a time, using more wick, etc. until I could get something to wedge it up while I kept the iron on each leg. It took over an hour but I didn't damage the board or the chip.</p>
<p>its possible to use a smaller pcb ? like the arduino mini pro ? thanks you</p>
<p>or the mini simple edition</p>
<p>I've not long finished this project. Now I'm looking to add sensors to prevent crashes. A great one to start with for sure.</p>
<p>I need schematic diagram of this </p><p>kindly send me at irfan.atta.be13@iba-suk.edu.pk<br></p>
<p>hi, I am making this same project . can you share with Schematic diagram of this. </p><p>i will be very thankful to You.</p><p>Thanks </p>
The controller chip will come out! Remember, you are cutting the metal pins with tiny clippers, not pulling the chip off. It will not pull off because it's soldered down, but if you clip each of the 20-25 pins that attach the chip to the board, it will come off. Don't give up!
<p>any suggestions on what rc car to get. I have tried 2 rc cars and it is impossible to get the controller chip out.</p>
<p>Can you use this for a boat? With obviously a little modification.</p>
<p>Use a car like mine : )). Everything is inside with Arduino Pro Mini and bluetooth. </p>
<p>Your code worked great. However in your loop you keep inserting your go_forward() function, which leads me to think you intended the car to drive straight for a delay of 1000 in between changing directions. go_forward() does not turn off the steering motors, so I added a function:</p><p>void go_straight()</p><p>{</p><p>digitalWrite(left,LOW);</p><p>digitalWrite(right,LOW);</p><p>)</p><p>Thanks for the code, it was well written and very effective. I will make sure to credit you in my school project</p>
<p>use a bigger car.</p>
<p>Is a good instructable i am going to use it with pygame with a usb extender to connect the cable to my Arduino Uno R3. </p><p>Still Making It</p>
<p>Great instructable! This is the essence of hacking.</p><p>I have one problem though; when the car is off the ground, everything appears to be working but, when I put it down, it doesn't move.</p><p>The only thing I did differently was not use hookup wire, I'm using jumper wires instead. Could this be the reason?</p>
<p>I used your RC car instructable to make a light following car. Thank you for your instructable! Below i included a link to my light follower:</p><p>http://www.youtube.com/watch?v=RQoxJT3ieIQ</p>
great project, is it possible to use raspberry pi gpio. thnx
the code is not complete
Yes it is.
Awesome Project! Thanks... I will try it...
great tutorial but i have a question about the voltage level in the PCB that came with the car <br>(i have once connected sensor to the arduino but the arduino was representing HIGH by a different voltage range than the sensor) <br>should i connect the GND &amp; VCC of the PCB to the arduino's GND &amp; 5v pins ( i have seen someone doing so) or what should i do ? is the PCB connected to the batteries that drive the motors in some way? <br> <br>thanks a lot
The car runs on its own batteries and the Arduino runs on its own 9V battery. Do not connect any wires between the Arduino and the car PCB except for those shown in this Instructable. <br>Thank you for watching!
I am in the middle of a Project similar to this. See my video here:<br> <a href="https://www.youtube.com/watch?v=SPLlTAVeIf8" rel="nofollow">https://www.youtube.com/watch?v=SPLlTAVeIf8</a>
Awsome Project!
Will i be able to use the pins with pwm to control the speed of the car?
This comment is to &quot;Careyfisher&quot; (the author of this page). <br>I have used some of your pictures if you don't mind. I have given all credit for pictures to you/this page. <br> <br>Thanks <br> <br>Visit my blog <br> <br>http://wordpress.as.edu.au/rbutcher/
5/5* Ible! Loved it! i believe it will be featured soon! Very thorough. get back to us with some sensors and cool lighting effects, ya?
I have done this and it is very cool. Check out my blog. It is for school but scroll dow to &quot;Videos of it doing stuff&quot;. <br> <br>http://wordpress.as.edu.au/rbutcher/
will this work with any type of RC car that has that setup or is it a specific chip thanx
This should work with all RC cars. One thing you need to do though is not to use the same pins. They will be different. Test this by soldering a wire directly onto positive (from the battery) and put any resistor with red on it on the end. Then touch the wires and they should do stuff. Most wont do anything but four will do either forwards, backwards, left or right.
can i use an arduino pro for this project or only an arduino uno will do?
I follow your step by step, then I can drive the motor, but I have one question, how do you know the resistor should be 1K Ohm ?
I really just used a resistor value I had available. +/- 50% will work fine.
For pin's usage, I refer to RX-2B spec. just right as the author said :)
Which Arduino specifically did you use. I can't seem to find the Duemilanove you mentioned on Sparkfun. thanks.
The Duemilanove has been replaced by the Uno. They are essentially identical with a few improvements that won't affect this project.
very interesting! if you took the arduino chip out of the programming board or got a smaller version you could even fit it all inside the car! 5*s
Or get a bigger car :D.<br>But I think he made this as a concept proof.
I really did it this way to make it quick and easy for Jr. High kids to put it together and have fun playing with it during a summer camp.
Very cool I will have to try this when my arduino gets here!
Same here. I can't beleve it takes a month to ship from china...
for Karonth you can cut the tracks on the PCB and put diodes in to protect the chip, the problem is when the Arduino and you are telling the H-bridges to go forward and backward at the same time it will ruin them. I am trying to find a way around the same problem. anyone with ideas? For amazing1 most of these cheap RC cars use 1 of two very similar chips with the same pin out.
I have a very similar RC car and I'm trying to build a self driving rover out of it, but I'd like to keep the RC circuit as a fallback solution. <br>If I don't remove the receiver chip and I solder the arduino wires piggyback style, do you think it could work or would I just fry the chip.<br>Thank you, great instructable!
i just have one question, How did you know what pins to clean out and use? because if i am trying it on a different car that uses a different chip how do i figure out what pins to use, and to hook up to my arduino. this was a very good instructables by the way. Thanks
There are two ways to figure out which pins to use. First, try to figure out the part number of the chip on the board in the car. Then Google for it and see if there is a data sheet or something. The other approach is to figure out where the H-bridge is that drives the motors. The pins on the chip will connect to driver transistors that drive the H-bridge. HTH

About This Instructable


126 favorites


More by careyfisher: Autonomous Control of RC Car Using Arduino
Add instructable to: