Introduction: CAR-INO: Total Conversion of an Old RC Car With Arduino and Bluetooth Control

Introduction

Hi, in my first instructionables I would like to share with you my experience with converting an old rc car from 1990 to something new. It was xsmas 1990 when Santa gave me this Ferrari F40, the fastest car in the world!...at that time.

This superb car was equipped with a rc remote control but with one button only... :|

yes, this car can go only forward and backward! this was very frustrating to drive so i used it rarely...for this reason this toy is still alive!

I found it in my attic stil in the original box so i was struck by lightning! I can use my extra module of arduino to convert the car!

I decided to call the project CAR-INO for two reasons, I'm going to use arduINO, and in italian carino means "nice", because the final result will be...nice! :)

The features implemented are:

  • steering(of course!)
  • speed control
  • headlight control
  • backlight control
  • horn

let's start!

Step 1: Component List

  1. arduino nano 1.8€
  2. DC motor driver (I used L298n board) 1.5€
  3. servo motor sg90 1€
  4. bluethoot module (like HC-05) 3€
  5. active buzzer <<1€
  6. 3 white leds <<1€
  7. micro switch <<1€
  8. capacitor at least 320uF <<1€
  9. colored wires <<1€
  10. old 1990 car with working DC motor.

The prices are taken from Aliexpress.

TOOLS

  • welder
  • tin
  • twizers
  • wire striper
  • hot glue

Step 2: Mechanical Modifications

When I opened the car I realyzed that this was a cheap version of another series of rc car because it has a space for the servo, and the axis that links the wheels has a junction for servo but is reverse assembled to lock the head wheels.

I cut a little plastic to make space for servo SG90 and I glued it, I glued also a screw on the servo arm to create a junction with the axis (see the photo). I removed the old electronic board and cut the extra plastic that was holding it.

Step 3: Assembling the Car

The backlight leds are connected directrly on pin 13 that is the output dedicated to led, so you do not need a resistor.
The front led needs a resistor to limitate the current you can use a 220\250 ohm resistor. I didn't have the white led so in my case I used a RGB led as white led.

In my project i can't use pin 9 and 10 as PWM out because the servo library (that we are going to use in the code to control the servo motor) disables the PWM on these pins.

The best way is to use two different power suppliers, one for the logic (arduino) another one for motors(like dual supply scheme), but in my car there is not enough space (I had a lot of problem with inserting the driver board and servo) so I decided to use a big capacitor to filter the low peak of voltage that makes arduino shout down during the activation of motor.

I used the microswitch to disables the power on other components.
during the flashing, the other components linked to arduino can create problems during this operation.

Before assembling choose a good layout to place the components and make sure that the car body fits well! I weld the wires (following the scheme) directly on the arduino but maybe it is better to use the headers!

I used hot glue to fix all the components becouse it is strong enough, easy to remove and doesn't make a mess.

Step 4: The Code

17/03/2018 NEW VERSION - BIG UPDATE!

For the new code I based the comunication on the "Arduino Joystick Controller", a free app on playstore.

Download the new app here

WARNING: When you connect arduino on PC be sure to power off the battery supply!!!!!!

Download the L293 library and unzip it in arduino directory "libreries"

you can configure easily your car creating a personal profile in the app. at the begin of code you can set the pinout according your preferences (do not use pin 9 and 10 as pwm). If on power on the servo steering goes under range you can insert a custom center angle removing the comment at:

//#define centro

This software includes new features like:

  • analog steering angle
  • parameters settable via app
  • possibility to read analog sensors (battery, temperature etc..)
  • possibility to add and control other 2 servos (i.e. for camera gimbal) Enjoy!

Enjoy!

OLD VERSION

For the code I based the comunication on the "Arduino Bluetooth RC Car APP", a free app on playstore.

Downoad the app here

WARNING: When you connect arduino on PC be sure to power off the battery supply!!!!!!

You can configure easily your car at the begin of the code there are 2 section:

  1. Pinout definition: you can chose the pinout (NB do not use pin 9 and 10 as pwm).
  2. Calibration: set you steering degree (right, left and center) and minimum PWM to move the car.

Now flash the ino file on your nano and enjoy!

UPDATE 15/03/2018 : solved a bug for speed calculation.

Step 5: Future Improvment

I'm thinking to other awesome features:

  • add battery voltage sensor
  • add temperature sensor
  • headlight color menagement

I will update this instructables as soon as possible.