Introduction: Binary Resistance Decade Box

I've been an electronics hobbyist for many years, so I've used and even built my share of resistance decade boxes. Each one consisted of rotary switches with labels identifying a different power of 10 for each switch. You "dialed up" the desired resistance by turning the appropriate knobs to add up to the target resistance value.

Well, I'm also a computer geek, so I got the crazy idea to build a decade box using DIP switches (instead of rotary switches) and binary values (instead of decimal values). Each switch represents a power of 2 and the resulting resistance equals the combined value of the "ON" switches.

Since binary DIP switches are more difficult to read on site than rotary switches, I decided to include two sets of binding posts; one set to attach to an ohmmeter (to verify the selected resistance value) and one set to put the resistance in-circuit. A DPDT switch lets you toggle between them. Also, since the combined analog resistor values tend to vary from the perfect digital values you want, I added a 25 ohm POT for fine tuning.

This project uses two 8-channel DIP switches, which provide the following binary values: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1,024, 2,048, 4,096, 8,192, 16,384, and 32,768. With it, you can combine switches to create any value between 0 and 65,535 ohms.

As is customary with binary numbers, I started with with the least significant digit (lowest ohm value) on the rightmost switch and increased in power-of-two increments to the maximum value on the left.

Step 1: Materials and Tools

Materials Used

1 - 25 ohm rheostat (Radio Shack # 271-265)
1 - DPDT Mini Toggle Switch (Radio Shack # 275-663)
1 - Dual General Purpose IC PC Board (Radio Shack # 276-159)
1 - 4-Pack Nylon Binding Posts (Radio Shack # 274-661)
1 - 6x4x2" Project Box (Radio Shack # 270-1806)
1 - Avery 6470 Full Sheet adhesive labels
2 - 8-channel DIP switches
2 - 1 ohm 1/2W resistor
3 - 2 ohm 1/2W resistors
1 - 3.3 ohm 1/2W resistor
1 - 4.7 ohm 1/2W resistor
2 - 8.2 ohm 1/2W resistors
1 - 10 ohm 1/2W resistor
1 - 15 ohm 1/2W resistor
2 - 22 ohm 1/2W resistors
1 - 56 ohm 1/2W resistor
1 - 120 ohm 1/2W resistor
2 - 180 ohm 1/2W resistors
1 - 330 ohm 1/2W resistor
1 - 470 ohm 1/2W resistor
2 - 560 ohm 1/2W resistors
2 - 1k ohm 1/2W resistors
1 - 1.5k ohm 1/2W resistor
1 - 3.9k ohm 1/2W resistor
3 - 8.2k ohm 1/2W resistors
1 - 33k ohm 1/2W resistor


Soldering Iron
Helping Hands
Wire Strippers
Side Cutters
Hot Glue Gun

Step 2: The Circuit

Each switch in the DIP corresponds to a power of 2, so I had to figure out the closest combination of available resistors to total these values. I wanted to keep the tolerance under 1%. The process was made much easier by using this great Resistor Value and Ratio Calculator from Jansson's Project Page.

OhmsResistors UsedActual Resistance in OhmsTolerance
1 1 1  0.00 %
2 2 2  0.00 %
4 2 + 2 4  0.00 %
8 4.7 + 3.3 8  0.00 %
16 15 + 1 16  0.00 %
32 22 + 10 32  0.00 %
64 56 + 8.2 64.2  0.31 %
128 120 + 8.2 128.2  0.16 %
256 470 // 560 255.53 -0.18 %
512 330 + 180 510 -0.39 %
1024 1K + 22 1022 -0.20 %
2048 1.5K + 560 2060  0.59 %
4096 3.9K + 180 4080 -0.39 %
8192 8.2K 8200  0.10 %
16384 8.2K + 8.2K 16400  0.10 %
32768 27K + 5.6K 32600 -0.51 %

R1 + R2 = Resistors in Series
R1 // R2 = Resistors in Parallel

I wired the appropriate valued resistors in parallel with each switch. When the switch is closed, the resistance is bypassed. When the switch is open, its resistors are added to the total resistance value.

The 25 ohm rheostat is wired in series with the switches to allow fine tuning of the resistance value. The DPDT switch allows you to toggle between the two sets of binding posts.

Step 3: Wiring It Up

I used the Radio Shack Dual-IC board because it included pads projecting out from both sides of the DIP. This seemed to be the perfect starting point for soldering resistors across each switch.

Start by breaking the board in half along the perforated edge. Solder one DIP switch in the middle of each board segment, then add resistors across each switch and jumper wires to connect adjacent resistors. (Refer to the schematic in Step 2 for details.)

As you can see from the photos, the resistors get pretty crowded especially when you have to use series or parallel groups of resistors to get the desired value. Be very careful not to let adjacent leads touch each other. This could obviously cause problems with total resistance.

Next, connect the two IC boards together by soldering a short length of wire between the tail end of the 128 ohm switch (on board 1) and the leading end of the 256 ohm switch (on board 2). Then wire in the rheostat, toggle switch, and binding post ends according to the schematic.

Step 4: Preparing the Box Cover

Make a rough drawing of the faceplate on paper and tape it to the plastic enclosure cover so you can drill and cut the cover as needed. Then cleanup the DIP switch openings with a Dremel or file.

Step 5: Assembling the Box

With the cover face down, align the dip switches with the openings and hot glue the circuit boards to the inside of the cover. Next, push the rheostat and toggle switch through the appropriate holes, but don't apply washers and nuts yet.

NOTE: I added some double sided tape to one side of the rheostat to match the height of the circuit boards and allow the rheostat to align properly.

Print out the final version of your nameplate on adhesive stock and cut out holes for all components. After applying the adhesive nameplate to the cover, add the binding posts and secure the toggle switch and rheostat to the cover.

Finally, attach the cover to the enclosure using the included screws.

Step 6: Testing It Out

Now that the box is complete, let's try it out!

1. Make sure the toggle switch is in the "Ohmeter" position.
2. Connect your ohmmeter leads to the "Ohmeter" side binding posts.
3. Connect leads to the circuit you're working on to the "Circuit" side binding posts.
4. Flip "ON" the appropriate switches to get the resistance value you want.
5. Verify with your ohmeter that the value is correct and adjust as needed using the rheostat
6. Once you have the desired resistance value, move the toggle switch to "Circuit" and see the results.
7. Repeat as necessary!

Kit Contest

Second Prize in the
Kit Contest