OHMC2020 Hardware instructions

Before You Begin
There are several steps where it's possible to destroy the Raspberry Pi, the camera, or other expensive parts of the kit. Please don't rush! Read these instructions carefully, and check before making any soldered connections, attaching the camera, or attaching power.

'''WARNING: Do NOT connect or disconnect items such as the servo or speed controller while power is applied. During testing we accidentally destroyed several servos by doing this. Make sure everything is powered down before doing ANY work on the car.'''

'''WARNING: Please put your car "on blocks" (wheels off the ground) when testing for the first time or after major changes. The cars can run away very fast, which would be unfortunate! Only put your car on the ground when you have confidence in its operation.'''

Parts Required
There are 6 major items included in your kit:


 * 1) 1/16th scale RC car chassis, with a steering servo, a motor speed controller, and a NiMH battery.
 * 2) NiMH battery charger.
 * 3) Raspberry Pi 4 and Pi camera (packed together in camera box)
 * 4) Laser cut acrylic and plywood frame parts.
 * 5) Partly-assembled "Dingo Cap" PCB.
 * 6) A bag of small parts.

For reference, this is a complete kit with all the parts spread out. It looks like a lot, but we'll be tackling it in easy stages:



The parts bag should contain:


 * 1 x power pigtail (Tamiya connector with red and black leads)
 * 3 x rubber bands (only 2 required)
 * 4 x grey Lego pieces
 * 1 x black 40-way header socket
 * 1 x 128x64 pixel OLED screen (in plastic case)
 * 1 x 10-DOF IMU module (purple PCB with 8-pin header)
 * 4 x 12mm brass spacers
 * 4 x 5mm brass stand-offs
 * 4 x 6mm brass stand-offs
 * 4 x 12mm M3 bolts
 * 4 x M3 nuts
 * 2 x M3 washers
 * 2 x 4.5x4.5x7mm tact switches
 * 12 x 6mm countersunk M3 bolts
 * 2 x laser-cut camera mounts (straight slot)
 * 2 x laser-cut camera mounts (angled slot)



You will also be given a micro SD card and adapter separately, pre-loaded with Raspbian and the necessary software.

Dingo Cap soldering
Most of the parts have already been fitted to the Dingo Cap, so you only need to install a few parts. This should be a simple assembly job if you already have experience with soldering, but if this is your first time it may seem daunting. We'll have instructors ready to help you through it, so don't worry, you can do it!

'''Warning: the assembly sequence is CRITICAL, because there are modules and connectors on both sides of the PCB. If you get the order wrong, it may be impossible to complete the assembly. Make sure you follow these steps in order, and check each step before you proceed to the next.'''

Step 1: Buttons
The kit includes 2 small buttons. These are commonly referred to as "tactile switches", or abbreviated to "tact switches".

Look carefully at the tact switches, and you will see that they have 2 pairs of pins that come out opposite ends of the body. This is to help you put the switch into the PCB the right way. Warning: if you find that you have to dramatically bend the pins to make them fit, you're probably putting them into the PCB the wrong way!

Insert the tact switches into the PCB in the spots labelled "SW1" and "SW2" near the bottom left corner. The pins should be coming out of the left and right sides of the switch as oriented in the photo below. If the pins are coming out of the top and bottom, you need to rotate it 90 degrees.

Make sure you're inserting the switches from the top of the PCB. There's nothing to physically stop you putting them in from the wrong side, so make sure the PCB is oriented as you see in the photo:



Push them flat against the PCB so they are straight, and use a blob of blu-tac to hold them in place:



Turn the PCB over, and solder the pins in place from the bottom. This is why you need the blu-tac!



Step 2: IMU Module
The IMU module is the small purple PCB with a row of holes on one edge. This module must be installed before the OLED, otherwise you won't be able to solder the connections.

Insert the 8-way pin header through the module from the bottom, which is the side without any parts. The pin header has long pins on one side, and short on the other. The short side goes through the module. Smoosh some blu-tac on to hold it in place:



The pin header can move around a bit, so make sure it's perpendicular to the module. It should stick straight through like this:



Turn the module over, and solder the pin header in place on the top of the board:



After soldering just one pin, check that the header is still perpendicular to the board. At this stage it's still possible to re-heat the joint and adjust the position if you need to. Once more pins have been soldered, it's much more difficult to fix any alignment problems.

Remove the blu-tac, and insert the IMU module onto the Dingo Cap PCB.

Warning: The module will fit on either side of the PCB, but it must go on the bottom as shown here. The correct location is just above the "linuxconfau" logo:



Use blu-tac to hold it straight, so that it is parallel with the Dingo Cap PCB:



Turn the PCB over, and solder the pins in place:



Use a pair of side-cutters to trim the extra length off the header pins.

Warning: Trimming header pins can be dangerous! If you just clip them off, they will shoot off at close to light speed and seek out the nearest eyeball. Make sure you cover the board with the palm of your hand when you cut the pin off. The photo below shows where to cut it, but there should be a hand covering the board:



Step 3: OLED Module
The OLED module is installed in a similar way to the IMU, except that it comes with the pin header already installed which saves you the first step.

Note: The holes in the Dingo Cap PCB are a very tight fit for the pin header. Be very careful pushing it onto the board, and work it on slowly while keeping it parallal to the PCB.



Do not attempt to push the module all the way down. The top right corner of the module will sit on top of a grey inductor, and the module must be pushed down until it is parallel with the Dingo Cap PCB. There will still be a gap between the black plastic spacer and the PCB. This is normal:



Turn everything over, and solder on the pins from below:



Step 4: Raspberry Pi Header
This is the trickiest part of the entire assembly process, but after soldering the previous joints you should be ready for this! Just take it slowly, and if it looks like anything is going wrong please ask for help immediately. It's easier to fix mistakes as you go, rather than fix them later.

Insert the 40-way Raspberry Pi header into the Dingo Cap PCB from below, and use blu-tac to hold it in place:



Check that you've inserted the header on the correct side of the PCB, which is the bottom. The purple IMU module should be on the same side.

Turn everything over, and you should see the top of the Dingo Cap PCB with the header pins sticking through.

You will need to solder all 40 of the pins to the Dingo Cap PCB, without getting a "bridge" of solder between any pins. This is made a little more difficult because the OLED module gets in the way of the inside row of pins.

Begin by soldering one pin at each end of the header, so that it's held firmly in place:



With just those pins soldered, check that the header is sitting flat against the PCB. You can adjust it now by re-heating the joints on the end, but you can't adjust it later.

Continue with soldering the rest of the pins. Because of the lack of clearance, it's best to do the inside row of pins first, and then do the outside row:



Step 5: Power Pigtail
There are 3 pairs of large gold pads on the edge of the PCB. 2 pairs aren't used for the miniconf: they're for different applications, including replacing the supplied NiMH battery with a LiPo battery.

Apply solder to the pair of pads closest to the coloured pin headers. This is called "wetting" the joint, and it will make soldering the wires on much easier.

Don't worry about keeping the holes clear. We're not going to use them for inserting the wires, they'll just provide an electrical connection between the front and back of the PCB. It's fine for them to be filled with solder:



Hold the red lead of the pigtail against the solder pad closest to the coloured pin headers. Use the soldering iron to heat up the wire and the pad together, so the solder flows between them and makes a solid joint.

Warning: Because these joints are quite large, they will retain heat for a while and the solder will remain molten even after you remove the soldering iron. Make sure you hold everything very still for a few seconds after taking the iron away, otherwise you can burn yourself on the solder and mess up the joint.



The result should be the power pigtail connected parallel to the PCB:



Prepare Raspberry Pi
Fit the

Chassis Preparation
Use a Philips-head screwdriver to remove the 4 black screws holding the rear spoiler mount onto the chassis:



Fit the blue laser-cut bracket labelled "REAR" onto the chassis, using the original screws to go through the bracket and into the spoiler mount. Tighten the screws gently so you don't crack the bracket. It doesn't need to be very tight:



Put the 2 x 10mm M3 bolts through the chassis at the front and the blue laser-cut bracket labelled "FRONT":



Use the 2 x M3 nuts to secure the bracket. Once again, it doesn't need to be very tight. Just tight enough to stop it vibrating loose.



Fit the white base plate onto the blue mounting brackets. WARNING: The bracket can be fitted upside down. The correct orientation has the small indentation to the right, and the hole to the left:



Wrap the rubber bands around the mounting brackets to secure the base plate.

Examine the white laser-cut camera mounting bracket, which has slots cut through one side of the corflute so that the tabs can bend in one direction. Bend the tabs, and begin to slide them into the slots in the base plate:



Slide the camera mount forward so that the tabs clip into the slots:



When the mount is all the way forward, clip the rear tab down into the slot:



Mount Raspberry Pi On Chassis
Insert the 4 cable ties through the base plate. Start by going down through the slot, then back up through the round hole. When the cable ties are in position, drop a coloured plastic spacer onto the tail of each cable tie:



Place the Raspberry Pi onto the tail ends of the cable ties, so that it sits on the coloured plastic spacers. Close the cable ties, gently tighten them, and clip off the ends:



Mount Camera And Hat
Be VERY careful with this part. If you insert the camera ribbon cable backwards, it can destroy both the camera and the Raspberry Pi. It's also very easy to physically break the connector.

Start by threading the camera cable though the slot in the hat, so that it's oriented as shown below. The blue part of the cable is on the other side, and the metal fingers are on the close side:



The socket for the flex cable has a small black clip that rises up about 2mm from the connector. Very carefully raise it by prising it up from the ends. Don't break it off!

Then slide the flex cable into the connector. Check again that the blue side of the cable is against the black clip, as shown here. Then use your fingernail or a small screwdriver to gently click the black clip straight down into the connector. When it clicks down it will grip the flex cable and hold it tightly in place:



When you are confident that the camera cable is inserted correctly, slide the Donkey Car Hat down onto the Raspberry Pi header. It should sit neatly on the rubber stopper:



Feed the camera through the vertical slot in the camera mount, towards the front of the car. Bend it up and use the supplied double-sided tape to attach it to the top of the camera mount:



Attach Steering, Speed Control, and Power
Feed the pair of servo cables up through the hole in the base plate. The shorter cable is the throttle. The longer cable is steering.

Plug the connectors into the 3-way headers.

The black wire goes to the "G" (GND) pin.

The red wire goes to the "V" (VCC, or power) pin.

The white wire goes to the "S" (Signal) pin.



Insert the power cable with the ferruled end into the "+" screw terminal. You may need to loosen the screw first, to allow room for the ferrule to be inserted. Then tighten the screw down again. It doesn't need to be very tight: firm enough to hold the ferrule securely, but don't strip the screw!

There's nothing to insert in the "-" terminal. The board already has a GND connection through the speed controller (throttle) cable.



SD Card and Pre-Flight Check
Insert the SD card into the Raspberry Pi. The socket is hidden underneath the Pi, just near the handy indentation in the base plate. Amazing coincidence. Insert the card with the contacts up:



All the hardware is now complete. The battery should still be disconnected.

On the top of the chassis (under the base plate) is a small power switch. They're in different places on different cars, but mostly they are near the middle and located under the hole near the camera mount. It has small writing on it saying On and Off. Put it in the Off position.

Your Donkey Car is now ready to be started.



'''WARNING: There is no power control for the Raspberry Pi. The power switch controls the chassis (the steering servo and speed controller) but doesn't control the Pi. To control power to the Pi, you must connect and disconnect the battery. Don't leave the battery connected and leave the car, because the Pi will drain the battery all the way to dead flat if you're not paying attention.'''

More Information
The Donkey Car project is very well documented at www.donkeycar.com. We will step you through setup and training at the miniconf, but if you want to investigate further and learn more about it after the conference is over you can find a huge amount of information at the official Donkey Car site.