In this post I am going to talk about how I hacked a cheap RC car so that I could control it using LabVIEW, though the project described here could be completed using an Arduino in place of a NI-DAQ and a serial terminal instead of LabVIEW. You can see it in the Youtube video below:
First, let’s start with a parts and tools list.
1 x Working RC car that you don’t mind potentially destroying
1 x NO-DAQ Data Acquisition module. I used the USB-6008 which is NI’s low cost module but I shall be posting another tutorial soon using an Arduino instead
1 x Length of standard, single gauge wire
2 x Different colour rolls of electrical tape
1 x Breadboard
1 x Soldering iron + solder
1 x Set of Screwdrivers, depending on your particular car
1 x Multimeter
1 x Wire Cutters/Strippers
National Instruments LabVIEW – An excellent piece of software but very expensive as it is a professional development system. If you are a student you can purchase a student license for about £20. If not, or if you’d rather not buy anything, a 30 day evaluation copy can be downloaded here: https://lumen.ni.com/nicif/us/acadevallvdl/content.xhtml
Now, onto the hacking!
Step 1 – Open the controller
Use your screwdrivers to open up the controller for your car. Be careful here as I’ve found some of them tend to be quite anti-hack and don’t like being opened! You may need to use a little force but try not to damage the electronics inside. You should see a board similar to the one in Figure 1.
Step 2 – Identify Which Wires Correlate to Controls
With the controller case open, locate the switches that correlate to the Forward, Backward, Left and Right controls. Once you have found them, put a piece of tape around each pair of wires with the switch name written on (eg. for the Backward switch you may write the letter “B” on a piece of tape and wrap it round the two wires going to that switch).
Step 3 – Identify the Positive and Negative Wires
Set the multimeter into voltage mode. For each switch, take the positive probe and touch one of the two switch terminals, with the ground probe touching the other. You can work out which is the positive wire because if your voltage reading is positive, the terminal you are touching with the positive probe is the positive wire.
Put a red piece of electrical tape around the positive wire and a brown/black piece of tape around the ground wires. The colours aren’t that important, just as long as you know that one correlates to +ve and one to ground!
Figure 2 – Positive and Ground Wires Marked Up
Step 4 – Let’s get soldering!
Before we start soldering, take a look at the wiring diagram shown in Figure 3. As you can see, in this hack, we’re going to take all of the ground wires from the directional switches and wire them into a single ground terminal on our NI-DAQ/Arduino.
Figure 3 – Wiring Diagram
To do this, locate each of the previously marked ground wires and cut them using your wire cutters. Then, strip some of the insulation off of the ends and solder all four ground wires together. Finally, solder one long piece of wire to this node. Wrap some electrical tape around this solder joint to insulate it.
With the positive wires, simply cut each one and solder a length of single gauge wire on to them and wrap in tape as previously; essentially you’re just extending each wire and making it easier to plug into a 0.1″ header.
Step 5 – Test Your Wiring
Once you have soldered the extensions onto the wires, you should test that they work before moving on to interface the controller with other hardware. The method I used to do this was to switch on both the car and controller, then took each positive wire and touched the tip against the tip of the ground wire. This effectively simulates one of the directional command switches being pressed as you are just completing the circuit as you would when you press the switch.
If the car’s wheels move when you touch the wires together, you’re ready to interface with the PC!
This is where the tutorial splits based on whether you are using the LabVIEW/NI-DAQ combination or an Arduino. Unfortunately I’ll have to leave it here for today but I will write up the tutorials for both the NI-DAQ and Arduino soon.
Thanks for reading!