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



    • Growing Beyond Earth Maker Contest

      Growing Beyond Earth Maker Contest
    • Colors of the Rainbow Contest

      Colors of the Rainbow Contest
    • Beauty Tips Contest

      Beauty Tips Contest

    20 Discussions


    4 years ago

    Im a sucker for building projects just for kicks. People will compare it to something more "useful" or "efficient"; but makers / tinkers will ask "how you did this part", or "you could have did this here" or the fellow maker will just sit back and admire..

    Nothing better than stepping away from your messy work bench and admiring your finished work. Cool project.


    5 years ago on Introduction

    Thank you for your comment! Using the rheostat, I am able to adjust the resistance to fractional values such as you mentioned. As far as any advantages to using binary instead of decimal, there aren't any that I can think of. Like I said in the writeup, I just thought it was a cool idea to use binary numbers.


    5 years ago on Step 6

    Firstly, awesome dude! I like the computer geek flair with the whole binary thing! And secondly, am I crazy for thinking you could also adjust the resistance down if you put the whole circuit in parallel with a crazy high pot? Say 100 meg?

    1 reply

    5 years ago on Step 2

    Am I missing something? But as to my knowledge first you called the switch a DPST, then a DPDT, and now a SPDT. Which is it?

    1 reply

    Reply 5 years ago on Introduction

    At least I'm consistently inconsistent! But seriously, sorry for the confusion. It should be DPDT. I think I fixed them all.


    5 years ago on Step 2

    Oops, think I found a bug in your schematic. R28 and R29 need to be in series, not in parallel, right?

    1 reply

    Reply 5 years ago on Introduction

    You're right, John, thanks for the heads up! I just posted a revised schematic and also fixed the spreadsheet. Cheers!


    5 years ago on Introduction

    Very nice! The name must be "Binary Resistor Box" ... The word "Decade" isn't write at all.

    1 reply

    Reply 5 years ago on Introduction

    Thanks for your comment! Yeah, I agree about using the word “decade”. But the term “Decade Box” means something specific to people in electronics and I wanted to make sure the device’s purpose was clear.

    Very well done - and you have a unit that will make any value up to the max with 1 Ohm resolution. Of course, you know that all of the resistors you have used are chosen from the E24 set of 5% resistors. That is, they are all guaranteed to be better than 5% off of their nominal values but chances are will not be better than 1% off. That's because when they are manufactured, the production test that they are subjected to will bin them according to actual measured value. Those within +/- 1% value will be sold as 1% tolerance and the rest sold as +/-5% tolerance (in order to maximize profits of course). Also your meter will have some absolute error too.
    But the choice of values used is really well thought out.

    1 reply

    Thanks! That's exactly why I included the ohmmeter binding posts and adjustment rheostat. With them, I can make sure my resistance is right on the mark before I put it into my circuit.


    5 years ago on Introduction

    Gorgeous. If I hadn't just finished building a planer one, I'd build this for sure. But how many resistance boxes do you really need?

    1 reply

    Reply 5 years ago on Introduction

    You never know when you'll need a backup. At least that's always my excuse for building more stuff... ;) Thanks for your comment!