How to bluetooth-enable your remote car

2004/04/29

How to bluetooth-enable your remote car

This is a step-by-step instruction on how to switch any common RC car to bluetooth control - i.e. creating a bluetooth-controlled car - like the one on the right, which was donated by my dear brother after years of collecting dust on his shelf. Although the steps seem quite simple and straight-forward to me, experience has dictated that the human capacity for miscomprehension is boundless - if in doubt, have your voltmeter ready and double-check every connection.

Modules

First, you will need these two modules.

One Mini SSC II serial servo controller from Scott Edwards Electronics, Inc. This is a nifty gadget which can control up to eight servos. Multiple units can be chained together to control up to 255 servos, used e.g. in the Wooden Mirror project.

One BlueRS+E bluetooth serial adaptor, from the German company Stollmann. This is the most expensive part at around 150(!) Euros. Others should work, provided they can work in 2400 or 9600 baud, 8/N/1, no flow control.

Assembly Instructions

The Mini SSC II allows to directly attach Futuba-J servo connectors. If you have some other connectors, you can either get conversion cables or attach Futuba-J servo connectors yourself. The power supply for the servos can be connected via servo cables, or via a separate connector - not both! The Mini SSC II additionally needs a standard 9V battery to run. See the Mini SSC II documentation for details.

Attaching the connectors the wrong way, or wiring them incorrectly, will destroy your servos instantly!

Build a connector from the Mini SSC II to the BT adaptor. The easiest way is to take a phone base cable and connect the yellow wire to GND (5) and the green wire to SerIn (2), ignoring black and red. This is slightly different from the Mini SSC II documentation, because here we need a null modem adaptor.

Build a mobile power supply for the BT adaptor. Since it needs 5V, I have opted for four rechargable AAA batteries (around 4.8V). If you use normal non-rechargable 1.5V AAA batteries, four might be too much... try three first! Check that the voltage polarity matches the included DC adaptor! The Mini SSC II needs 7-15V and the BT adaptor needs around 5V, so these cannot easily be run from the same battery.

Configure the BT adaptor for 2400 baud, 8 data bits, no parity, one stop bit (2400/8/N/1), no flow control and as passive receiver (for BlueRS+ Konfigurator: passiver serieller BlueTooth Empfänger). Note the assigned PIN - you will need it later - or set it to 0000 (default).

Finishing touches

  • Connect the servos and RC battery to the Mini SSC II (check polarity!)

  • Connect the Mini SSC II to the BT adaptor with the constructed serial null-modem cable.

  • Every time you are ready to use, connect the power supply to the BT adaptor first, wait a few seconds and then connect the Mini SSC II to its 9V battery. Switch on the car - it should not move by itself, if everything works correctly. Now your RC car is bluetooth-enabled! As you can see, in my case everything fit quite neatly.

Software

The car can now be controlled by any suitably programmed bluetooth device in range. I have opted for a Nokia 7650 (Series 60) BT-enabled phone as controlling device, but you can use any device which knows the bluetooth serial profile.

For now, the control is a very simple text-mode application. The cursor knob is used to control the car. The application assumes that Servo #2 is the steering servo and Servo #4 is the driving servo (or a servo interface to the driving module as in my case). The initial center settings for drive (y) and steering (x) may have to be updated, as well as the steering constants xmin, xmax and dX; and of course the hardcoded BlueTooth address of the adaptor. The application can be compiled with the Nokia Development Kit for Series 60, Nokia - you need sd2kunix for cross-compilation from Linux.

You can also use a notebook with BlueTooth adaptor, as long as it understands the serial profile. There is a lot of source on the Mini SSC II page on how to control the servo from various programming languages.

Further work

It would be nice to have fewer power supplies. Now there are three: one for the BT adaptor, one 9V battery for the Mini SSC II and the RC car battery for the heavy-duty stuff. A good starting point would be the Battery Booster 12.. this module plus the Battery Booster 5 together should do the trick and reduce to just the RC car battery.

It would also be nice to make a much smaller car. That in itself would not be much of a challenge, since you could work with tank-like steering, i.e. two pulse-width modulated outputs, and almost every bluetooth module has these. But since I do not like to repeat what others have done, I'd like to integrate a small camera so you can see where you are going. It might actually make more sense to attach two motors to a mobile camera phone in that case. Also, you would get unlimited range which none of the systems currently have.

Caveats

In my experience, the range is about 10-13m outdoors and 5.6m indoors (through two walls, nonetheless). This is within the expected maximum range for BT Class II devices. Note that the servo controller cannot recognize a broken BT connection. This means your car will maintain the same steering and speed after a broken connection! So, drive carefully!