Controlling an RC Car with an Xbox 360 Controller via a Netduino

Update: I’ve posted a new project, Controlling a Syma S107G Using an Xbox 360 Controller that you may be more interested in. 🙂

This is a project I’ve had in mind for a while to get me back into coding on the Netduino again, it’s fairly simple but covers some important topics and can be scaled up for bigger projects.

WP_000614

As the title suggests the idea is to use an Xbox 360 controller to control an RC car.  I’ve wanted to do this for a while as the Xbox 360 controller is a wonderful piece of kit and ideal for various projects including robotics control.  I’m thinking of getting a little RC helicopter and performing the same hack.  I’ve a T-Rex SE 450 but I think I’ll carry on with my Futaba for that. Smile with tongue out

The title may be accurate but can also be a little misleading as you’ll still need a PC to act as an interface.  My idea is to build a PC based robot at some point so for me this isn’t an issue.  The data flow is as follows;

Xbox 360 Controller –> Wireless Gaming Receiver –> PC –> Netduino –> RC Car Remote

On the PC I have a simple .NET Windows Forms application which listens for an Xbox gamepad on “Player One” and it communicates with the Netduino using serial.  To control the car itself I wired up four of the Netduino digital pins to the relevant pads on the PCB of the RC controller itself to mimic the switches.  For debugging I added an LED for each direction to get the code working before I connected the PCB.  The RC controller itself ran on two AA batteries so I used the 3v3 output on the Netduino to power it.

WP_000622

WP_000621

Code cab be found at the link below so people can learn from it and for my own reference, I’ll likely forget how to do this again at some point!
Netduino Serial Example

Video of the whole thing working below;


Controlling an RC Car with an Xbox Controller from Jason Neave on Vimeo.
At some point I’m going to hack my old Roomba with something similar as this, it’s an Original model so doesn’t have a serial port though which makes things more complicated but it wouldn’t be fun if it was too easy.

Update:  Adding a closer photo of the connections between RC remote and the Netduino.  Set the pin high to imitate a button press on the RC controller;