Difference between revisions of "OHMC2020 Hardware instructions"

From Open Hardware Miniconf
Jump to: navigation, search
(Step 4: Raspberry Pi Header)
(Parts Required)
 
(22 intermediate revisions by 2 users not shown)
Line 17: Line 17:
  
 
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:
 
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:
 +
 +
'''IMPORTANT NOTE FOR OHMC2020: UNFORTUNATELY THE BUTTONS AND CABLE TIES ARE NOT INCLUDED'''
  
 
[[File:2020-dc-1-all-parts.jpg|600px]]
 
[[File:2020-dc-1-all-parts.jpg|600px]]
Line 34: Line 36:
 
* 4 x M3 nuts
 
* 4 x M3 nuts
 
* 2 x M3 washers
 
* 2 x M3 washers
* 2 x 4.5x4.5x7mm tact switches
+
* 2 x 4.5x4.5x7mm tact switches (NOT INCLUDED)
 
* 12 x 6mm countersunk M3 bolts
 
* 12 x 6mm countersunk M3 bolts
 
* 2 x laser-cut camera mounts (straight slot)
 
* 2 x laser-cut camera mounts (straight slot)
Line 51: Line 53:
  
 
=== Step 1: Buttons ===
 
=== Step 1: Buttons ===
 +
 +
'''IMPORTANT NOTE FOR OHMC2020:  UNFORTUNATELY THE BUTTONS ARE NOT INCLUDED, PLEASE SKIP TO STEP 2'''
 +
 
The kit includes 2 small buttons. These are commonly referred to as "tactile switches", or abbreviated to "tact switches".
 
The kit includes 2 small buttons. These are commonly referred to as "tactile switches", or abbreviated to "tact switches".
  
Line 130: Line 135:
 
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.
 
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:
+
Turn everything over, and you should see the top of the Dingo Cap PCB with the header pins sticking through.
 
 
[[File:2020-dc-17-pi-header.jpg|600px]]
 
  
 
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.
 
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.
Line 138: Line 141:
 
Begin by soldering one pin at each end of the header, so that it's held firmly in place:
 
Begin by soldering one pin at each end of the header, so that it's held firmly in place:
  
[[File:2020-dc-18-pi-header.jpg|600px]]
+
[[File:2020-dc-17-pi-header.jpg|600px]]
  
=== Step 5: Power Pigtail ===
+
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.
aoeu
 
  
== Perception Module assembly ==
+
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:
  
== Final mechanical integration ==
+
[[File:2020-dc-18-pi-header.jpg|600px]]
  
 +
=== 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.
  
== Prepare Raspberry Pi ==
+
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.
  
Fit the
+
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:
  
== Attach Parts To Donkey Car Hat ==
+
[[File:2020-dc-19-power-pigtail.jpg|600px]]
  
Sit the Donkey Car Hat on top of the Raspberry Pi, so that it mounts on the header sockets. Then solder all 24 joints, being careful not to bridge any pins together:
+
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.
  
[[File:dc-140-hat-pi-header.jpg|600px]]
+
'''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.
  
Carefully remove the hat from the Pi. Wiggle it gently straight up, so that you don't bend the pins on the Raspberry Pi header.
+
[[File:2020-dc-20-power-pigtail.jpg|600px]]
  
Next comes a tricky part!
+
The result should be the power pigtail connected parallel to the PCB:
  
Working on the top of the hat, place the 4-way and pair of 1-way pin headers into the holes for the voltage regulator module. The longer end of the pins should go down through the hat. This is normally considered "upside down" for header pins, but it works out better this way when attaching the module.
+
[[File:2020-dc-21-power-pigtail.jpg|600px]]
  
Sit the regulator module on top of the pins, so that they come up through the module. It will be a bit wobbly, so be careful moving it around.
+
== Perception Module assembly ==
  
Solder the pins to the regulator module on the top:
+
Take the Raspberry Pi out of the box, and insert the shorter (5mm) brass standoffs from the bottom. Be careful to use the 5mm standoffs: there are also 6mm standoffs in the kit, and they must be used in the right place. They look very similar so check them against each other to make sure you're using the short ones.
  
[[File:dc-150-hat-regulator.jpg|600px]]
+
Screw the brass spacers on from the top of the Pi, and do them up tightly with your fingers:
  
The pins will now be connected to the module, but not to the hat.
+
[[File:2020-dc-22-pi-standoffs.jpg|600px]]
  
Turn the hat upside down so that the regulator module is resting on the bench. This should push it against the hat, so that you can solder the pins on from underneath.
+
Once all 4 corners are done the Pi should sit neatly on the standoffs:
  
When you've finished soldering the pins underneath, use side cutters to trim off the excess length of the pins.
+
[[File:2020-dc-23-pi-standoffs.jpg|600px]]
  
WARNING: Make sure you cover the pins with your hand when you trim them. Otherwise they shoot off across the room and end up anywhere. Make sure they go in the bin, not end up on the floor!
+
Using your fingers, very carefully pull up the ends of the small grey clip on the camera connector until it "clicks" into the upper position. '''Do not pull the clip right off!''' It only moves a couple of millimeters:
  
Fit the pair of 3-way pin headers to the sections marked "Steering" and "Throttle". Make sure they have the long ends pointing UP, not down! The short end goes into the hat.
+
[[File:2020-dc-24-camera-clip.jpg|600px]]
  
Holding these in place while you solder them from underneath can be difficult. They will tend to fall over at a strange angle, or fall out entirely.
+
Get the Pi camera out of its bag, and insert the ribbon cable through the slot in the Dingo Cap. Check the photo below for the correct orientation of all the parts. The silver contacts on the ribbon cable should be towards you in this picture, and there is a blue plastic layer on the other side of the cable:
  
You can use a blob of Blu-Tack to hold them while they are being soldered.
+
[[File:2020-dc-25-camera.jpg|600px]]
  
[[File:dc-160-hat-servos.jpg|600px]]
+
Carefully insert the ribbon cable into the Pi camera connector so that the silver contacts are almost completely inside the connector. Then use your fingers to gently push the grey clip back down until it clicks, which will lock the cable in place:
  
The last part to solder onto the hat is the 2-way screw terminal. Insert it from the top of the hat, with the openings facing towards the edge. Use Blu-Tack to hold it in place, turn the PCB over, and solder it from below.
+
[[File:2020-dc-26-camera.jpg|600px]]
  
[[File:dc-170-hat-terminals.jpg|600px]]
+
Slide the Dingo Cap down the camera cable until it can be seated onto the Raspberry Pi. Push the Pi header into place, and then screw the 6mm brass standoffs in through the Dingo Cap. Do them up tightly with your fingers:
  
The Donkey Car Hat is now ready. Put it aside and move on with the chassis.
+
[[File:2020-dc-27-standoffs.jpg|600px]]
  
== Chassis Preparation ==
+
Gently fold the camera cable over itself so that it comes directly up from the top edge of the PCB, and then sit the laser-cut side plate onto the Dingo Cap. Use 4 x M3 6mm countersunk bolts to attach it to the brass standoffs:
  
Use a Philips-head screwdriver to remove the 4 black screws holding the rear spoiler mount onto the chassis:
+
[[File:2020-dc-28-side-plate.jpg|600px]]
  
[[File:dc-20-remove-screws.jpg|600px]]
+
Turn everything over, and attach the other side plate:
  
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:
+
[[File:2020-dc-29-side-plate.jpg|600px]]
  
[[File:dc-30-rear-mount.jpg|600px]]
+
Now it's time to attach the camera. There are 2 sets of camera mounts included: straight, and angled.
  
Put the 2 x 10mm M3 bolts through the chassis at the front and the blue laser-cut bracket labelled "FRONT":
+
To mount the Perception Module on the Dingo Car, we want to use the angled mounts. This tilts the camera down towards the track when the car is driving. Straight mounts are also supplied so you can use the Perception Module for other applications, with the camera pointing directly ahead of the module.
  
[[File:dc-40-front-mount.jpg|600px]]
+
Put the straight mounts aside and keep them for future use:
  
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.
+
[[File:2020-dc-30-camera-mounts.jpg|600px]]
  
[[File:dc-50-front-mount-nuts.jpg|600px]]
+
The camera mounts go on the inside of the side plates, with the slot angled slightly forwards and the rounded corner towards the Raspberry Pi:
  
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:
+
[[File:2020-dc-31-camera-mounts.jpg|600px]]
  
[[File:dc-60-base.jpg|600px]]
+
Use 2 x M3 6mm countersunk bolts to attach each camera mount. The bolt screws directly into the plastic, but be careful not to strip the plastic by over-tightening:
  
Wrap the rubber bands around the mounting brackets to secure the base plate.
+
[[File:2020-dc-32-camera-mounts.jpg|600px]]
  
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:
+
Guide the camera ribbon cable around the Perception Module, and slide the camera down into the mounts as shown. It will be a tight fit, and you may need to slightly spread the side plates.
  
[[File:dc-65-camera-mount.jpg|600px]]
+
The end result should look like this:
  
Slide the camera mount forward so that the tabs clip into the slots:
+
[[File:2020-dc-33-camera.jpg|600px]]
  
[[File:dc-70-camera-mount.jpg|600px]]
+
== Chassis Preparation ==
  
When the mount is all the way forward, clip the rear tab down into the slot:
+
Use a Philips-head screwdriver to remove the 4 black screws holding the rear spoiler mount onto the chassis:
  
[[File:dc-80-camera-mount.jpg|600px]]
+
[[File:dc-20-remove-screws.jpg|600px]]
 
 
== 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:
+
Fit the laser-cut plywood bracket labelled "REAR" onto the chassis, using the original screws to go through the bracket and into the spoiler mount. It doesn't need to be very tight:
  
[[File:dc-90-pi-mount.jpg|600px]]
+
[[File:2020-dc-34-rear-mount.jpg|600px]]
  
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:
+
Put the 2 x 10mm M3 bolts through the chassis at the front and the laser-cut plywood bracket labelled "FRONT". Use the 2 x M3 nuts to secure the bracket. Once again, it doesn't need to be very tight:
  
[[File:dc-100-pi-mount.jpg|600px]]
+
[[File:2020-dc-35-front-mount.jpg|600px]]
  
== Mount Camera And Hat ==
+
Use one of the Lego pieces to check which side of the clear acrylic base-plate is the best fit. Because of the angle of the laser, the base-plate has been tuned so that the holes on one side of the plate should be a very accurate fit for Lego. The other side is probably too large, so the Lego pieces won't clip into place firmly:
  
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.
+
[[File:2020-dc-36-lego.jpg|600px]]
  
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:
+
Once you have determined the correct side for attaching Lego, bolt the clear acrylic base-plate to the larger plywood base plate using 2 x M3 12mm bolts, washers, and nuts:
  
[[File:dc-180-camera.jpg|600px]]
+
[[File:2020-dc-37-bases-bolted.jpg|600px]]
  
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!
+
Slide the assembly down onto the chassis, while pushing the leads for the steering servo and the ESC (electronic speed controller) up through the slot on the right side of the car:
  
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:
+
[[File:2020-dc-38-bases.jpg|600px]]
  
[[File:dc-190-camera.jpg|600px]]
+
The car is now ready for mounting the Perception Module.
  
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:
+
== Mount Perception Module On Chassis ==
  
[[File:dc-200-camera.jpg|600px]]
+
Attach the Lego pieces to the bottom of the Perception Module, leaving 2 holes at both the front and the back:
  
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:
+
[[File:2020-dc-39-mounting.jpg|600px]]
  
[[File:dc-210-camera.jpg|600px]]
+
Place the Perception Module on top of the acrylic base plate, and push the Lego pieces down into the base plate:
  
== Attach Steering, Speed Control, and Power ==
+
[[File:2020-dc-40-mounted.jpg|600px]]
  
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.
+
The PWM output channels on the black/red/yellow connectors are numbered from 0 to 7, starting at the bottom and going up.
  
Plug the connectors into the 3-way headers.
+
Channel 0 (the bottom row of pins) is for the ESC, or electronic speed controller.
  
The black wire goes to the "G" (GND) pin.
+
Channel 1 (the second row of pins) is for the steering servo.
  
The red wire goes to the "V" (VCC, or power) pin.
+
Trace back along the wires to find out which is which. Usually the steering servo cable is the longer one.
  
The white wire goes to the "S" (Signal) pin.
+
The small black connector for the steering servo may have a ridge down one edge that stops it being connected to the Dingo Cap, because it blocks against the acrylic case. Use a pair of side-cutters to trim it off.
  
[[File:dc-230-servos.jpg|600px]]
+
Black is GND, red is 5V, and yellow is signal. Orient the servo connectors so the black (GND) wire goes to the black pin on the Perception Module.
  
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!
+
[[File:2020-dc-41-pwm.jpg|600px]]
 
 
There's nothing to insert in the "-" terminal. The board already has a GND connection through the speed controller (throttle) cable.
 
 
 
[[File:dc-240-power.jpg|600px]]
 
  
 
== SD Card and Pre-Flight Check ==
 
== 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:
+
Insert the SD card into the Raspberry Pi. The socket is on the front of the Perception Module.
 
 
[[File:dc-250-sd-card.jpg|600px]]
 
  
 
All the hardware is now complete. The battery should still be disconnected.
 
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.
+
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. 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.
 
  
[[File:dc-270-complete.jpg|600px]]
+
Your Dingo 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.'''
 
'''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.'''

Latest revision as of 00:44, 14 January 2020

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:

IMPORTANT NOTE FOR OHMC2020: UNFORTUNATELY THE BUTTONS AND CABLE TIES ARE NOT INCLUDED

2020-dc-1-all-parts.jpg

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 (NOT INCLUDED)
  • 12 x 6mm countersunk M3 bolts
  • 2 x laser-cut camera mounts (straight slot)
  • 2 x laser-cut camera mounts (angled slot)


2020-dc-2-small-parts.jpg

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

IMPORTANT NOTE FOR OHMC2020: UNFORTUNATELY THE BUTTONS ARE NOT INCLUDED, PLEASE SKIP TO STEP 2

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:

2020-dc-3-tact-switches.jpg

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

2020-dc-4-tact-blu-tac.jpg

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

2020-dc-5-tact-soldering.jpg

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:

2020-dc-6-imu.jpg

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

2020-dc-7-imu.jpg

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

2020-dc-8-imu.jpg

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:

2020-dc-9-imu.jpg

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

2020-dc-10-imu.jpg

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

2020-dc-11-imu.jpg

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:

2020-dc-12-imu.jpg

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.

2020-dc-13-oled.jpg

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:

2020-dc-14-oled.jpg

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

2020-dc-15-oled.jpg

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:

2020-dc-16-pi-header.jpg

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:

2020-dc-17-pi-header.jpg

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:

2020-dc-18-pi-header.jpg

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:

2020-dc-19-power-pigtail.jpg

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.

2020-dc-20-power-pigtail.jpg

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

2020-dc-21-power-pigtail.jpg

Perception Module assembly

Take the Raspberry Pi out of the box, and insert the shorter (5mm) brass standoffs from the bottom. Be careful to use the 5mm standoffs: there are also 6mm standoffs in the kit, and they must be used in the right place. They look very similar so check them against each other to make sure you're using the short ones.

Screw the brass spacers on from the top of the Pi, and do them up tightly with your fingers:

2020-dc-22-pi-standoffs.jpg

Once all 4 corners are done the Pi should sit neatly on the standoffs:

2020-dc-23-pi-standoffs.jpg

Using your fingers, very carefully pull up the ends of the small grey clip on the camera connector until it "clicks" into the upper position. Do not pull the clip right off! It only moves a couple of millimeters:

2020-dc-24-camera-clip.jpg

Get the Pi camera out of its bag, and insert the ribbon cable through the slot in the Dingo Cap. Check the photo below for the correct orientation of all the parts. The silver contacts on the ribbon cable should be towards you in this picture, and there is a blue plastic layer on the other side of the cable:

2020-dc-25-camera.jpg

Carefully insert the ribbon cable into the Pi camera connector so that the silver contacts are almost completely inside the connector. Then use your fingers to gently push the grey clip back down until it clicks, which will lock the cable in place:

2020-dc-26-camera.jpg

Slide the Dingo Cap down the camera cable until it can be seated onto the Raspberry Pi. Push the Pi header into place, and then screw the 6mm brass standoffs in through the Dingo Cap. Do them up tightly with your fingers:

2020-dc-27-standoffs.jpg

Gently fold the camera cable over itself so that it comes directly up from the top edge of the PCB, and then sit the laser-cut side plate onto the Dingo Cap. Use 4 x M3 6mm countersunk bolts to attach it to the brass standoffs:

2020-dc-28-side-plate.jpg

Turn everything over, and attach the other side plate:

2020-dc-29-side-plate.jpg

Now it's time to attach the camera. There are 2 sets of camera mounts included: straight, and angled.

To mount the Perception Module on the Dingo Car, we want to use the angled mounts. This tilts the camera down towards the track when the car is driving. Straight mounts are also supplied so you can use the Perception Module for other applications, with the camera pointing directly ahead of the module.

Put the straight mounts aside and keep them for future use:

2020-dc-30-camera-mounts.jpg

The camera mounts go on the inside of the side plates, with the slot angled slightly forwards and the rounded corner towards the Raspberry Pi:

2020-dc-31-camera-mounts.jpg

Use 2 x M3 6mm countersunk bolts to attach each camera mount. The bolt screws directly into the plastic, but be careful not to strip the plastic by over-tightening:

2020-dc-32-camera-mounts.jpg

Guide the camera ribbon cable around the Perception Module, and slide the camera down into the mounts as shown. It will be a tight fit, and you may need to slightly spread the side plates.

The end result should look like this:

2020-dc-33-camera.jpg

Chassis Preparation

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

Dc-20-remove-screws.jpg

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

2020-dc-34-rear-mount.jpg

Put the 2 x 10mm M3 bolts through the chassis at the front and the laser-cut plywood bracket labelled "FRONT". Use the 2 x M3 nuts to secure the bracket. Once again, it doesn't need to be very tight:

2020-dc-35-front-mount.jpg

Use one of the Lego pieces to check which side of the clear acrylic base-plate is the best fit. Because of the angle of the laser, the base-plate has been tuned so that the holes on one side of the plate should be a very accurate fit for Lego. The other side is probably too large, so the Lego pieces won't clip into place firmly:

2020-dc-36-lego.jpg

Once you have determined the correct side for attaching Lego, bolt the clear acrylic base-plate to the larger plywood base plate using 2 x M3 12mm bolts, washers, and nuts:

2020-dc-37-bases-bolted.jpg

Slide the assembly down onto the chassis, while pushing the leads for the steering servo and the ESC (electronic speed controller) up through the slot on the right side of the car:

2020-dc-38-bases.jpg

The car is now ready for mounting the Perception Module.

Mount Perception Module On Chassis

Attach the Lego pieces to the bottom of the Perception Module, leaving 2 holes at both the front and the back:

2020-dc-39-mounting.jpg

Place the Perception Module on top of the acrylic base plate, and push the Lego pieces down into the base plate:

2020-dc-40-mounted.jpg

The PWM output channels on the black/red/yellow connectors are numbered from 0 to 7, starting at the bottom and going up.

Channel 0 (the bottom row of pins) is for the ESC, or electronic speed controller.

Channel 1 (the second row of pins) is for the steering servo.

Trace back along the wires to find out which is which. Usually the steering servo cable is the longer one.

The small black connector for the steering servo may have a ridge down one edge that stops it being connected to the Dingo Cap, because it blocks against the acrylic case. Use a pair of side-cutters to trim it off.

Black is GND, red is 5V, and yellow is signal. Orient the servo connectors so the black (GND) wire goes to the black pin on the Perception Module.

2020-dc-41-pwm.jpg

SD Card and Pre-Flight Check

Insert the SD card into the Raspberry Pi. The socket is on the front of the Perception Module.

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. It has small writing on it saying On and Off. Put it in the Off position.

Your Dingo 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.