This page provides information and photos to aid in the construction of the Pinewood Derby Timer (PDT). The focus for this page is on the PDT hardware and circuits. Refer to the Software page for details on how to configure/load the Arduino sketch (software) and interface to software running on a PC.
The following subjects are covered:
The tables below list the components required to build each part of the PDT. Refer to the schematics for the layout of each circuit. The ID of each component in the tables below corresponds to the designator shown on the schematics. Note that the quantity needed for some components is dependent on the number of lanes of your track.
NOTICE: Most of components listed below can be purchased directly from this site - visit the SHOP page for more information.
The following components are needed to build the core PDT circuit.
|U1||Microcontroller||Arduino Uno||Uno||1 [x]|
|-||PDT shield PCB||Shield PCB to aid with wiring||miscjunk.org||1 [o]|
|LED1||Power light||Red LED (3mm)||Adafruit 777||1|
|LED2||Status light||RGB LED (5mm, common anode)||Adafruit 159||1|
|R7, R8||Current limiting resistors (CLR)||330 OHM resistor (axial, 1/4W, 5%)||Digi-Key 330QBK-ND||2|
|R9||Display dimmer||Breadboard trim potentiometer (10K)||Adafruit 356||1 [o]|
|S1, S2||Reset buttons||Tactile button switch (6mm)||Adafruit 367||2|
|-||Headers||Break-away 0.1" male headers (36 pin)||Adafruit 392||2|
|JP1-8||Headers||Break-away 0.1" male headers (36 pin)||Adafruit 392||1 [o]|
|S3||Start gate switch||Lever (snap) switch (SPDT)||Digi-Key 480-2990-ND||1|
|-||I2C splitter PCB||PCB to aid with wiring displays||miscjunk.org||1 [o]|
Key: o=optional component, x=NOT available in SHOP
The following components are needed to build the detection circuits needed to register when the cars cross the finish line and optionally display each car's place order and race time.
|LED3||Light||LED (5mm, white/clear)||Digi-Key VAOL-5GWY4-ND||1 / lane|
|Rx||Light CLR||100 OHM resistor (axial, 1/4W, 5%)||Digi-Key 100QBK-ND||1 / lane|
|T1||Detector||Phototransistor (NPN, 5MM)||Digi-Key BPW96C-ND||1 / lane|
|DISx||Place / time display||0.56" 4-digit 7-segment display (I2C, RED)||Adafruit 878||1 / lane [o]|
Key: o=optional component, x=NOT available in SHOP, x=lane # (1-6)
The following components are needed to build the optional remote start gate release circuit that allows the start gate to be release via computer (software) control.
|Diode||Diode (1A)||Radio Shack 276-1102||1 [x]|
|Relay||Signal relay (5V, 2A)||Jameco 139977||1 [x]|
|Transistor||Transistor (2N2222, NPN)||Jameco 38236||1 [x]|
|CLR||1 KOHM resistor (axial, 1/4W, 5%)||Radio Shack 271-1321||1 [x]|
|Solenoid||Solenoid (24VDC)||Jameco 1919191||1 [x]|
|Switch||Momentary switch (mini, SPST, NO)||Radio Shack 275-1547||1 [x]|
Key: o=optional component, x=NOT available in SHOPBACK TO TOP
The finish line 'bridge' (or 'arch') holds a light (LED) directly over each lane which shines light on a corresponding detector (phototransistor) mounted on (or under) the track. As cars pass between the lights and detectors the PDT registers the elapsed time for each lane. Optionally the bridge can also contain a digital display over each lane to show the place order and elapsed time of the cars as they finish the race.
The design of the finish line bridge will be heavily dependent on your particular track and can range from the strictly utilitarian to the artfully designed. A sample of PDT designs is shown below and you can visit the Timer Builds page for more examples.
Here are a few things to consider when designing your finish line bridge:
Timer circuit: The timer's 'brain', an Arduino Uno microcontroller with the PDT circuit, must also be housed in the finish line enclosure or be placed in a nearby control box.
Cable connections: Wiring connections to the PDT are the following:
Bridge height: For maximum reliability the distance between the lights (in the bridge) and the detectors (on or below the track) should typically be set between 5 and 9 inches (13 and 23 cm). Your track's construction and your derby's ruleset (maximum car height, for example) will also be factors to consider.
Light / detector mounting: Care should be taken that each lane's light and detector are exactly in line with one another. The design for this will be heavily dependent on your track and bridge design but LED holders (as shown to the right) could be helpful. The holders can be found at Amazon or any general electronics store.BACK TO TOP
Although optional the shield PCB simplifies the construction of a PDT by providing mounting and wiring points for the various components. It has the standard Arduino shield format that allows it to be stacked directly on top of the Arduino microcontroller board. Most of the instructions below refer to the use of the shield PCB - if this is not the case for your build simply refer to the schematic for the appropriate Arduino Uno pin number for each connection.
Soldering: Basic soldering is required to attached all components, headers and wires to the PDT shield PCB. If you are new to soldering here are a few suggestions:
The headers used to mount the shield to the Arduino microcontroller board are standard break-away 0.1" male header strips. The strips can be cut to length using a utility knife or wire cutters. Two sets of 8 pin headers are needed for the top and two sets of 6 pin headers are needed for the bottom. The two left-most header holes on the top of the PCB board (highlighted red in the picture below) are not utilized for the Uno and do not require headers.
The headers should be mounted so that the black plastic 'body' is on the bottom of the PCB board (in between the PCB board and Arduino when the shield is mounted) as shown below on the left. Note that the headers are only soldered to the PDT shield PCB and simply slide into the Arduino's female headers as shown below on the right (partially mounted on an Arduino):
The white/clear status LED (5mm RGB) has four (4) leads and should be orientated so that the flat spot (on the base of the LED) is facing to the right. The red power LED (3mm) has two (2) leads and should also be oriented so that the flat spot (on the base of the LED) is facing to the right. The LEDs can be soldered directly to the shield PCB or attached via wire if they will be mounted on the outside of the bridge or project box.
The corresponding current limiting resistors (CLRs) for the LEDs are mounted in the resistor spots labeled 'Power' and 'Status'. The CLRs in the base component package available from this site are sized to the specifications of the status and power LEDs. If you source your components elsewhere please refer to the note below regarding calculating the CLR values.
The two reset switch positions are designed to utilize small 6mm tactile button switches. If an enclosure is used the wire leads from any momentary switch can be soldered to the PCB in place of the tactile switches. The Arduino reset switch resets the microcontroller board (a complete 'reboot') and isn't normally used. The PDT switch has two uses and should be accessible for normal use. Its main use is to reset the status of the timer. Its secondary use is to enter the hardware test mode during startup and to step through each stage of the test mode. Refer to the Software page for information about the hardware test mode.
This 4 pin bus (2x2) is for connecting the PDT to the start gate circuit(s). A small 2x2 male or female header can be utilized or wire leads can be soldered to the PCB that go to another connector or the start gate itself.
The start gate circuit utilizes the normally closed (NC) terminal of a simple snap switch. The switch should be mounted so that the closed start gate (pre-race) engages the switch (opening the connection) and releases the switch (closing the connection) when the start gate is opened (at race start). A switch mounted on a BestTrack track is shown to the right.
The pins in this bus are:
GS - Gate switch connection.
Gnd - Ground for the gate switch connection and the optional solenoid start circuit.
V - 5V power for the trip side of the optional solenoid start circuit - cannot be used to operate the solenoid!
Sol - Solenoid signal from the PDT for the optional solenoid start circuit.
A diagram of the start gate switch connection is shown below (click to enlarge):
The six 3 pin busses (1x3) are for connecting the PDT to the lane light and detector circuit(s). A small 1x3 male or female header can be utilized or wire leads can be soldered to the PCB that go to another connector or the lanes themselves. The pins in each bus are:
Sig - Signal from the lane detector (phototransitor).
Gnd - Ground for the lane light (LED) and detector (phototransitor).
V - 5V power for the lane light (LED).
A diagram of a lane light/detector circuit for lane 1 is shown below (click to enlarge). Note that the CLR for each lane's light (LED) goes on the PCB in the spots indicated. This circuit would be repeated for each lane of the timer:BACK TO TOP
The optional displays are mounted in the finish line bridge over each lane to display the place order and elapsed time of each car as it finishes the race. Normally only one display per lane is supported but if your track has four or less lanes the PDT sketch can be modified to drive two displays per lane - this allows a display on each side of the finish line bridge for each lane.
The Adafruit 0.56" 7-segment display and backpack are shown in the picture above. When mounting (soldering) the display onto the backpack make sure it is correctly oriented so that the display's decimal points are at the bottom of the backpack (near the lettering) - see the picture above.
NOTE: With a little extra work the Adafruit 1.2" displays can also be utilized with the PDT. Please refer to this page for more information.
When there is more than one lane each display needs its own address so that the PDT can communicate the correct information to each display. Changing an address is done utilizing a set of three jumpers on the display's circuit board - see the yellow square in the above picture. Using the table below determine the jumpers that need to be set for each display and use a blob of solder to connect the jumper's pads.
|PDT Lane #||PDT Lane #||I2C Address #||Jumpers|
Key: - = open, x = shorted; F = front, B = back
Note: Use the first lane column for the normal display configuration (up to 6 lanes), use the second column for the two displays per lane option (front & back, up to 4 lanes). The default address of the Adafruit display is 0 so nothing needs to be done for the lane 1 display.
The display dimmer position on the shield PCB can utilize any (small) 3 terminal potentiometer. The resistance value is not important since it is being utilized as a voltage divider. Linear taper would be preferred to audio taper but either would work.
This 4 pin bus (1x4) is for connecting the PDT to the optional displays. A small 1x4 male or female header can be utilized or wire leads can be soldered to the PCB that go to another connector or the displays themselves. The pins in this bus are:
V - 5V power for the displays. Please refer to the section below regarding the possible need for an external power supply (depending on the number of displays).
Gnd - Ground for the displays.
SCL - Clock signal for the displays.
SDA - Data signal for the displays.
A diagram of the optional display circuit is shown below (click to enlarge).
The I2C splitter board is an optional PCB that aids in wiring the displays in parallel. It can be utilized with the optional pre-made jumper wires or by soldering wires directly to the board. Note that the left side of the PCB has two spots for the connection to the PDT - utilize the spot that matches the revision number of the shield PCB you are using.BACK TO TOP
There are two ways to power the PDT/Arduino:
The first option, using the USB connection, should only be used for very simple setups - no displays or only 1 lane with a display.
The second option, an external power supply, is the recommended setup. But even with an external power supply the power requirements of the displays and the capability of the on-board 5V regulator of the Arduino should be taken into consideration when utilizing three or more displays. To maximize the output and reliability of the on-board regulator use a power supply with an output voltage as near to 7V as possible (but don't go below 7V).
Reducing the maximum brightness of the displays can also be used to limit the power draw of the circuit. The table below summarizes the power draw of one display for various brightness levels. Note this is for the worst case scenario with all LED segments lit. Refer to the PDT manual for instructions on how to set the maximum brightness of the displays.
Adafruit #878 0.56" 7-segment display
PDTs with 5-6 lanes and displays will need to power the displays with a separate power supply and regulator (always maintain a common ground with the PDT/Arduino circuit).BACK TO TOP
The optional solenoid (and supporting circuit) allow the start gate to be opened remotely (usually via software).
MORE INFORMATION TO COME.
Last updated: 5 March 2017
Copyright © 2006-2017 David Gadberry