Unpacking the parcel showed a Jaguar remote controlled car with the Veeam logo on its roof.
It was obviously a marketing ploy, because the car was missing the remote!
But they missed one thing... They sent it to a unix engineer! :)
So like with any good car build, I started by stripping out the interior.
That revealed the elctronics that are in the car.
It's a pretty simple layout:
Here there are two main IC's. One of them I could find some information about. It is a mx1508, which seems to be a dual H bridge to control the motors.
That leaves the other IC to be the controller for the mx1508, radio reciever and controller for the leds.
Although I could try to reuse the elctronics, I decided before hand to give a try and see how expensive it would be to put some different electronics in it.
The main goal would be to remote controle the car through bluetooth. It's one of the things I had on my todo list for a while, so why not kill two birds with one stone?
I already had bought BT Bot Control Pro a long time ago, so that would be the software to use on the Android side. Next the electronics.
The first thing I would need is a way to control both engines and be able to run them both ways. This was the only component I didn't have on the shelf. Fortunatly, within 2 days a package arrived with two L293D's.
Next I got one of those Arduino Pro mini ATmega328 5V 16MHz. They are only about a euro a piece and should be simple enought to do the job. To handle the wireless part I pulled one of those cheap HC06 bluetooth interfaces out of the storage bin. To control power I used to mini buck-boost converters that had just come in. Nice way to see how they work.
Now it was only a matter of wiring them up :)
I put all of the components on a small breadboard. The two buck-boost converters are connected to the battery comparment (5 batteries, about 7.5V). The first buck-boost converter is set at 5V to power the Arduino and the L293D. The second buck-boost converter is set at 3.3V to power the HC06. There is also a direct feed from the battery going to the input of the L293D so the motors get the higher voltage.
First to wire up the L293D. This needs 3 input signals per motor from the Arduino. The enable signal needs PWM so we can control the speed of the motor. The other two signals are use to indicate the rotation direction.
Pin 3 goes to pin 1,2EN on the L293D (this needs PWM)
Pin 5 goes to pin 1A on the L293D
Pin 6 goes to pin 2A on the L293D
Pin 9 goes to pin 3,4EN on the L293D (this needs PWM)
Pin 10 goes to pin 3A on the L293D
Pin 11 goes to pin 4A on the L293D
The outputs of the L293D are connected to the motors. I used 1,2 for the steering motor and 3,4 for the motion motor.
To keep the serial port available for debugging I dedicated ports 7 and 8 on the Arduino for a software serial port. Pin 7 is the recieve pin and is directly connected to the transmit pin on the HC06. Pin 8 is the transmit pin. To make a simple signal drop from the 5V Arduino to the 3.3v HC06 I used two resistors as a voltage divider. The middle of the resistors is connected to the receive pin on the HC06.
The last thing I added was pin 2 and 4 on the Arduino. Each pin goes through a 220 Ohm resistor to the leds. Pin 2 is for the headlights and pin 4 is for the rear lights.
Wiring this up took about 1,5 hours I think, including soldering.
Normally the fun would now begin, because you have to write the software. But I took the easy route and used the example from BT Bot Control :). Uploading the software was easy, I can just use the CH340G USB to serial converter on the serial connector of the Arduino.
The first version of the software had some interesting results. Input from my Android tabled did make the motors move but in a weird way. After looking at the code I saw that it was setup as a "tank" style robot. So one motor per side of the robot, instead of one motor for propulsion and one for steering. That explained a lot :)
After a half an hour of rewriting the code it worked nicely! I can now remotely control the car and individually control the front and rear lights from my Android tablet. Total cost in parts is around 6 euro's I think. Not a lot for a simple project.
And the nice thing is the CH340G can stay connected to do software upgrades.
The sourcecode isn't pretty, but it works. Anyone that is interested can download it through the link below.