In my spare time I spend a bit of time building and working on a scaled down self driving RC project which uses an opensource project called donkeycar. I have been through a few generations of car, learning how both the hardware and software worked, hopefully I can provide some tips on how to avoid at least some of my mistakes in this post.

Current Car

Starting Out

Probably the lion share of lessons, at least initially were learnt about how to setup a custom RC car, especially the power and drive train. I have put together a bunch of recommendations:

  1. Always buy at least two servos, and check the number of teeth, force, and dimensions carefully.
  2. Learn to solder bullet connectors, there are some good tutorials on youtube including on how to get the nice shrink wrapped look.
  3. Always use a seperate power supply for the computer on your car, there are a number of reasons you can cause voltage drops during operation of the car, keeping things isolated will avoid the computer crashing and a car running into a wall.
  4. Cable ties are a life saver when hiding or stashing cables, buy a good collection of sizes.
  5. Start out with brushed motors, they are cheap and work better at low speeds.

The Car Build

For the base of my current build I chose the WLToys A979 4WD Truck, this was for a few reasons:

  1. Same base as the original AWS Deepracer.
  2. Good solid build and lots of spares available online.
  3. Short wheelbase and good turning circle so great for use indoors.
  4. Cheap and easy to purchase and ship to Australia.
  5. Has a brushed motor which is great at low speeds, which is very important indoors and while learning to drive.

You can buy it from banggood for approx 90 AUD.

Then I replaced the Electronic Speed controller(ESC) with a Turnigy 20A BRUSHED ESC as the one provided was integrated with the radio and servo using some sort of proprietary setup.

Motor Wiring

Lastly I replaced the servo with a Turnigy™ S3101S Servo 2.4kg / 0.14sec / 17g 24T.

To connect all this stuff you will need some extra parts.

This will also be useful with any power upgrades such as the one listed down the bottom.

The Compute Build

To mount the compute on top of the car I used Dingo-Mount which was cut on a laser cutter at CCHS using some 3mm ply wood, which is light and strong.

The hardware I use on top of the car is as follows:

I used some brass standoffs, like these M2.5 Male Female Hex Brass Spacer Standoff which are similar to the ones you get when you buy a computer case, this enabled me to mount the SSD under my jetson nano, with some rubber acting avoiding the bottom of the board shorting out on the SSD.

SSD Mounting

To drive the servo and ESC I used Adafruit PCA9685 16-Channel Servo Driver which you can get from Core Electronics or purchase something similar from aliexpress.

Camera and Servo Board

Power Options

If you want to use the full power of the Jetson Nano compute then you may need to get your self a SBEC such as Turnigy 5A (8-40v) SBEC for Lipo and rig up an extra 2S1P LIPO such as Turnigy nano-tech 2200mah 2S 25~50C Lipo Pack. I use this setup currently to avoid drop outs when doing inference with higher resolution images (224px * 224px). Attached to this is a 2.1mm Barrel Cable I had laying around.

Power Loop with SBEC

Driving Demonstration

This is my car in auto pilot running around a tight track in the CCHS workshop.