Posted on 35 Comments

ULNs, and pullups, and launch… Oh, my.

We get a lot of questions regarding the installation of a ULN chip (uln2803, or uln2003) in the proto area, clutch switch inputs, and tach pullup resistors for the Speeduino v0.4 boards. This should clear some of that up:

The stock v0.4 boards control signals for the proto output pins right from the MEGA2560. They aren’t suited for relay control as they sit, and need some extra oomph to handle grounding a relay coil. The ULN chips are a series of darlington pairs in one chip that streamlines installation of drivers for our proto outputs.

The basic proto layout is:

proto1- unassigned (pin 43)
proto2- Fan (pin 47)
proto3- Fuel pump (pin 45)
proto4- Tach (pin 49)
proto5- Clutch switch input (pin 51)

#1-3 are standard outputs from the Speedy, and will be handled through the ULN, #4 is the tach output and will typically need a 1K-10K pullup resistor between the output pin of the ULN and a 12v source to drive most tachs. Proto 5 is an input pin, and will not be routed through the ULN.

The first order of business is to clip 4 of the pins off of the uln chip itself. We don’t want to foul the A15 row, and don’t need uln control on the clutch input row. We also want to lift the 12v input leg of the ULN so that we can power it without fouling the ground plane of the proto area. The ground leg is left alone and will ground through the proto ground row.

The next step is to gently widen the footprint of the ULN to fully bridge the proto holes, and insert it into the proto area with the lower left pin (ground) in the ground row. Make sure the 12v leg is lifted and not touching anything.

With the ULN mounted go ahead and solder up most of the pins, but leave the pin49 row open so we can add the tach pullup later. The 12v leg of the ULN will need run to a 12v source, I prefer to route it though the hole by c24 and run it directly to the bottom of the 12v input terminal.

The clutch switch jumper just needs to be run from one side of the proto area to the other. This will tie the IDC40 pin, to the Mega2560 pin and allow the clutch switch to signal on/off.

The final part of ULN install is to add a pullup resistor for the tach output. The speeduino provides a grounding pulse as the output, and for most tachs we will need a pullup resistor (1K-10K, start with 10K) between the 12v rail and the tach output to create the proper signal. This is as simple as putting one leg of the resistor into the same proto area hole as the ULN tach output pin, and the other leg of the resistor to a 12v source. Since we brought 12v to the ULN, we already have a perfect spot to tie in.


With these all wired up, your speedy now has all of the available proto outputs, and clutch input wired up. Set up your fans, fuel pump, tach, and launch in software, and there you go.