Winter has come… and with it long evenings that can be used for working on new projects.
One of them is a follow up on the Reverse Engineering a Quadrocopter RC series, using its 2.4GHz remote to control a 40MHz RC car.
But from the beginning: Being very much into cars or anything that has an engine and makes some noise, our eldest got a 1:24 RC Ferrari for christmas from a very good friend of ours. Unfortunately, the enthusiasm for the big shiny Italian Stallion turned into frustration when it turned out to be rather… digital. There was only five modes:
- Do nothing
- Go forward / backward at full speed
- Turn left / right at full speed
No matter how big the room and how much those little hands tried to be careful on the inputs, the car just smashed into walls and furniture after short sprints. Only moving back and forth in the hallway was not much fun either, long story short: The Ferrari needed some serious tuning.
Step 1: Looking inside
Due to lack of documetation, we started with opening the car and found this:
Given that the manufacturer apparently had to register with Ferrari to use their brand (there was a “genuinity sticker” on the box… and I’m a little worried to use the name on my blog without asking for permission, so dear law experts, please let me know if this might be an issue BEFORE suing me or sending any cease and desist letters…), the quality of what we found under the hood was rather… pragmatic:
- Two DC motors, one for moving forward / backward, one for the steering left / right
- A control board based on a RX-2-G and a MX1508 dual brush motor driver
- Four diodes, two each on the front / rear
The control board followed the basic design suggestions you can find in the RX-2/TX-2 datasheets:
Step 2: Checking Documentation
A quick research on “Arduino 40MHz” did not reveal much. Apparently the ancient masters of analog radio comms seem to be rather quiet on the web or don’t play much with digital prototyping boards. Appart from being an interesting learning experience, building a 40MHz transmitter from scratch would not be an option, since one winter might be too short to achieve quick results and kids are known for many things, but not so much known for their patience (neither are fathers…)
The closest to interfacing anything with the car’s original design I could find was to tap into the remote control and connect the inputs to the digital I/Os of an Arduino. Unfortunately this would not add any preciscion to controlling the car. Also the fruit was hanging so low it even touched the ground. Further research showed, that the RX-2 receiver IC is not designed for analog inputs either, so I finally decided to reuse the 2.4GHz quadcopter RC, which already caught quite some attention by our eldest anyways.
Step 3: Design and Proof of Concept
Without elaborating much on the iterations that led to the final desing, here is what it contains:
- Arduino Nano
- L293D Dual H-Bridge
- 1 x 100uF Capacitor
- 1 x Diode
- 2 x 100 Ohm Resistors
- 2 x 22pF Capacitors
- 1 x Micro Servo
- 1 x 9V battery with connector
The layout looks like this
For better overview, this is the pin settings (the 100uF capacitor is missing, which would buffer the 9V source):
The real world thing looks like this:
The source code needs a little cleaning and commenting, but will be available soon on my github repository.