Introduction: Tyco RC Arduino Robot

Picture of Tyco RC Arduino Robot

Wanted to make your own robot but couldn't afford the fancy H-Bridge IC's or etch your own PCB? Want a quick and dirty method of making your own wheeled robot? Then you're in luck, but if you want to make your own wheeled robot AND have a quick and dirty wireless controller for anything then you're REALLY in luck.

Required Items:
1 Tyco RC Air Rebound
2 Philips Screw Drivers one smaller than the other one, I don't know the sizes of the ones I used.
1 Arduino Uno
1 Soldering Iron
Plasticard (Not used, but will be used in an update)

Step 1: : Removing Power

Picture of : Removing Power

Switch the RC Car off and remove the battery by flipping it over (Switch facing down) and rotating the latches, and flipping the cover down. (If the car has already been switched off, or the battery removed, proceed straight to step 2)

Step 2: : Removing the Drive Wheels

Picture of : Removing the Drive Wheels

Grip one of the two drive wheels with one hand (To keep them from moving) and with your free hand use a Philips head screwdriver to remove the wheel (Repeat for the other wheel)

Step 3: : Removing the Big Wheel

Picture of : Removing the Big Wheel

Grab the smaller of the two sides (if you have the battery compartment facing up and towards you, it’ll be on the left) Start unscrewing the front wheel (The green one). Once you’ve unscrewed that side flip it over and unscrew the other side.

Then flip it back over so the smaller of the two sides is facing you.

You should see five screws (Four in a square and one in a deep hole) remove all the screws then gently remove the side bar and the main wheel.

Step 4: : Pulling the Arm Off

Picture of : Pulling the Arm Off

If you wish to keep the receiver module in tact please be extremely careful on this step.

Look at the inside of the remaining bar and you should notice eight screws unscrew all of them then gently remove the shock absorbers and the small plastic shield or 'hub cap' to reveal the thin black wire.

Follow the wire gently pulling it free until you can’t pull anymore free then find the three screws holding it to the main body and remove those.

Once all the screws have been removed, gently remove the arm making sure you feed the wire into it so you can pull it free on the other side.

Step 5: : Undressing the Body

Picture of : Undressing the Body

Now you have the main body remaining.

There are six screws holding both halves of the body together.

Four of the screws are the size we’ve been unscrewing through the previous steps, but two of the screws are slightly smaller, once all the screws have been removed the body just pops apart (Make sure you’ve unlatched the battery compartment)

Step 6: : Freeing the Brains

Picture of : Freeing the Brains

You’d of noticed there is two PCB’s, one is a Dual H-Bridge configuration (Controls two motors going backwards and forwards) the other one is the receiver PCB.

If there’s a brown bit of card separating the wires from the PCB gently lift the wires up to slide the card out to expose a screw.

Use your smaller screw driver to remove this screw and you might have to do a little damage here (I had to) the wires are been held down by a strip of plastic, if you’re unable to pull the PCB out of the body you should go a head and break that plastic strip holding the wires down.

Now you should be able to gently wiggle the PCB free.

Be careful of the small ribbon cable joining both PCB’s together.

Step 7: : Desoldering

Picture of : Desoldering

Take your soldering iron and de-solder the ribbon cable applying slight tension until it the cable comes off make sure you save the receiver PCB for another project.

Step 8: : Soldering

Picture of : Soldering

Now that you've de-soldered the receiver board you'll want to solder in five wires into the PCB, you'll want the four that control the motors (two per motor) and ground (In the picture I accidentally soldered a wire to the VCC line, was fixed later but didn't take a new picture)

Once you've got the wires soldered on, gently bend the wires into a U shape leaving a bit of stress relief (I'd recommend Hot glue the wires after you've bent them for better stress relief, but I didn't, since I don't have a glue gun.)

Then screw the PCB back into place securely.

Step 9: : Body Work

Picture of : Body Work

Now once you've done your hot gluing and soldering you need to go ahead and reattach the drive wheels. (I forgot to take a picture of this step.) and flip the chassis so the power switch is facing up. Then you need to bend the wires you soldered on up and over the chassis as we'll be positioning the arduino and battery soon.

Before we get to that step you should go a head and reattach the big wheel now, otherwise when you go to use your robot it'll go out of control and possibly break your arduino due to less weight holding the chassis in place.


Step 10: : Finishing Up and Arduino Code

Picture of : Finishing Up and Arduino Code

I've stuck both my arduino and my v9 battery to the basic chassis of the robot platform until I've finished making a frame for the chassis components (Arduino, Breadboard and power)

Now onto the arduino code, this is only test code, but it should be a good foundation for you to start your own project.


/*
Arduino Demo Software
Connect via either Arduino Serial Monitor or HyperTerminal
and you can control your robot via the W.A.S.D. keys.
Any other key will stop your robot in it's travels.

This example code is in the public domain.
*/
void setup(void){
Serial.begin(9600);
}
void loop(void){
while (Serial.available() < 1) {} // Wait until a character is received
char val = Serial.read();
switch(val){ // Perform an action depending on the command
case 'w'://Move Forward
forward();
break;

case 's'://Move Backwards
reverse();
break;

case 'a'://Turn Left
left();
break;

case 'd'://Turn Right
right();
break;

default:
halt();
break;
}
}
void forward() {
Serial.println("Forward");
analogWrite(11, 100);
analogWrite(6, 100);
}

void reverse() {
Serial.println("Reverse");
analogWrite(10, 100);
analogWrite(5, 100);
}

void halt() {
Serial.println("Stopped");
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(6, LOW);
digitalWrite(5, LOW);
}

void left() {
Serial.println("Left");
digitalWrite(10, HIGH);
digitalWrite(6, HIGH);
}

void right() {
Serial.println("Right");
digitalWrite(11, HIGH);
digitalWrite(5, HIGH);
}
Here is a video of the robot in action (I apologise for the video quality)

Comments

Б.М2 (author)2016-11-07

can i send pwm to control speed? I'm afraid of breaking it...

joln (author)2016-01-10

can i send pwm to control speed? I'm afraid of breaking it...

Robot Lover (author)2011-09-07

Instead of going to the trouble of making a motor controller and all that jazz, why not just take a few 5 volt relays and connect them to the remote control, then all you have to do is power the relays from the arduino pins, and you dont need to mount your arduino to the robot!

joln (author)Robot Lover2016-01-10

I think the remote work with 9volt

Then it'd still be an RC car and not a robot, I have plans to upgrade this in the future with a ping sensor and / or IR distance finder / Line Follower upgrade.

dekyos (author)Dominion-Network2013-11-03

Could you not also connect the original controller up and hook it up to inputs on your arduino, making it RC AND robot? Like program it to override your control when you try to crash it into an object, and have the option of full autonomous mode, etc?

joln (author)2016-01-10

Nice project ! I have one of those old rc car laying aound :D

question :

-how have you guessed that the pcb was receiving 5v ?

-How have you guessed the wire purpose (right / left / VCC ?

-do you think the same kind of project would be applicable to another R/C TYCO car ? (Rolling cage)

emdarcher (author)2012-06-06

Aw man, i have the smaller version of that same car and the arduino will not fit on it. :(

nerd7473 (author)emdarcher2013-09-13

what if you used a arduino mini or a small teensy board?

emdarcher (author)nerd74732013-09-13

I may use one of my ATtiny85s I have laying around.

nerd7473 (author)2013-09-13

very cool I love it when people upload code since I am not good at it

SwaggerFul Swellow (author)2013-06-15

really cool! to bad I don't have Arduino. that sucks!

I recommend getting one they are cool

bill2009 (author)2011-09-11

very nice. And well explained. You should have a look at the "makey" robot code, some of the sketches for it could give you ideas. Consider some ping-type sensors for obstacle avoidance.

How fast will it go?

Before I slowed the robot down, it would go so fast it'd smash into everything and do a couple of flips, so obviously I had to slow it down, and I'm already a head of you regarding the ping sensors / other upgrade options as I'm currently working on converting the robot base into a line-following robot.

LOL on the speed. I ask about that because I built my own carbot as a wall-following racer and I was thinking maybe we could hold a competition: Agree on a track, post videos and times. http://arduino.cc/forum/index.php/topic,8756.0.html

i'd be interested in the line following upgrade - i have not done that.

I checked out the link you posted, looks pretty good, you should reverse engineer it and show everyone how you put it together.

mycroftxxx (author)2011-09-07

Any chance we could see a video of your bot in action?

Here's the video, I apologise for the crappy quality.

http://www.youtube.com/watch?v=a9kC4_-FFjE

I've got some demo software worked out, I'll be controlling the robot via USB on my laptop, but the current state of the robot has a horrible (Almost impossible) turning circle due to the big green wheel.

I'm currently working on some code that will allow me to control the robot from my pc, unless I 'program' a path for the bot to follow for demo purposes.

About This Instructable

44,133views

171favorites

License:

Bio: I've always taken stuff apart, almost always put it back together... I enjoy tinkering around with pretty much anything.
More by Dominion-Network:Ultrasonic Range Finder with an ATtiny85 (With Shield)LM355Z Temperature Sensor8 LED Chaser with 74HC595 8 Bit Shift Register
Add instructable to: