0
\$\begingroup\$

I want to use a single breadboard slice to build a console for a mini-computer project. It will have 28 or more parallel control and data lines, each with the following features:

  • state indicator LED to monitor the effective state
  • a single DIP switch to take control from the console, i.e. turn on a set of bus-oriented 3-state buffers (e.g. 74LS245)
  • then 28 or more DIP switches to set override values to be output via the 3-state buffer if on (and conversely tell other outputs, such as the control EEPROMs to turn off)

The indicator LEDs display whatever is the effective value, so they sit after the 3-state buffer's output lines.

I want to put all of that on a single slice of breadboard. And I had an idea how to do that. The tri-state buffers will sit in the middle line where you usually put the chips or switches, but for the switches I will have to construct a package that I can connect to the power bus with effectively only 2 pins, and to the vertical tracks with all its pins.

Since all DIP switch boxes we can buy the feet are too short for them to sit tightly in a breadboard (a very, very annoying situation), I need to use chip sockets, and in fact wire-wrap type sockets with truncated legs. So I thought I might just as well use that annoying fact to my advantage.

schematic

simulate this circuit – Schematic created using CircuitLab

The focus is on the upper part, with the DIP switch box. The part with the 74LS245 tri-state buffer is straight forward.

Here is a picture of how I'm thinking that I could do it: solder resistors to the lower pins and joining on a "bus" underneath that would get soldered to pin 15, which in turn would get bent outward to reach into the upper ground bus of the breadboard. All the other upper pins would be joined together to Vcc on pin 16.

DIP socket with resistors to be soldered to the lower pins and joining on a "bus" underneath that would get soldered to pin 15, which in turn would get bent outward to reach into the upper ground bus of the breadboard. All the other upper pins would be joined together to Vcc on pin 16.

So, I figured I could do it, but it is very finicky soldering and I am not really good with soldering any more (or I never was), so I will surely get frustrated.

I wonder if there isn't such a package one could just buy? Or an alternative solution for these DIP switches? Or at least is there some soft of aid, like a non-conductive paste I might use to hold these little pull-down resistors in place?

The part with the LEDs that have no further current limiting resistor is iffy. Perhaps I can find a simple box with LEDs with resistors and a common cathode that I could just plug in. Would be nice in multiple of 8. I also contemplated to use the lower Vcc bus bar as a ground with a common current limiting resistor, but that may leave the LEDs very dim when more than a few are on at the same time. In the worst case I will solder resistors to the cathode of the LEDs myself. Not too hard to do.

Another alternative, if it was possible, would be to open the breadboard and slash a discontinuation on row C and H. I could use a solderable breadboard also, but that defeats the purpose as I am still working on the POC.

PS: the circuit tool is lacking a symbol for 3-state buffers. Also looks like this circuit tool is not much more than a teaser, because nobody can read this, not even opening image in new tab gets you a decent resolution. Sorry for that.

UPDATE: I couldn't find a resistor array to buy where I am, so I made one myself, fair enough. My biggest problem is now this annoying segmentation of the breadboard's power bar. Why did they think it useful to skip a hole after every 5 files? I need to clip of a pin from a header bar or socket, and then connect to the neighboring pin, which is so finicky and close to the plastic that I can't get anything soldered that doesn't melt the plastic or is too big so the socket snaps out.

As for another update, I have the schematics of a more useful arrangement which uses pull-up, instead of pull down resistors and the switches shortening to ground, then the 74LS540 bus oriented three-state buffer with inverted outputs. That way I can put my dip switches below, the chip in the middle, and the LED indicators above, along with the wire runs. Much better.

But the fine soldering works gives me much headache. I will try with conductive glue next.

\$\endgroup\$
  • 2
    \$\begingroup\$ google resistor arrays \$\endgroup\$ – jsotola Nov 10 '19 at 21:46
  • \$\begingroup\$ Use wires. The resistors can be anywhere, not under the dip switches, even if the schematics looks like they are together. Also search for DIP switches, they come also with longer leads. \$\endgroup\$ – Marko Buršič Nov 10 '19 at 21:59
  • \$\begingroup\$ Using a breadboard for this is likely going to be an exercise in unreliability. At least put the interacted with parts on perf board or a perma-proto PCB or something like that. And if you do build complex logic on a breadboard, carefully plan the wire runs, color code your bus bits, and consider using short jumpers between empty rows to stake down wire bundles. \$\endgroup\$ – Chris Stratton Nov 10 '19 at 22:00
  • \$\begingroup\$ Thanks for the ideas ... yes, resistor arrays will be the way to go. I don't want the wire clutter and the arrays (if I can get them) will do a fine job. Now I hope I can find LED arrays like that with resistors built in and common cathode, ... \$\endgroup\$ – Gunther Schadow Nov 11 '19 at 3:36
  • \$\begingroup\$ Sure they exist, look for LED bar. I guess they don't come with built in resistors, because you can decide the working voltage and brightness. In the eighties they were widely used in audio amps, mixers,...nice looking retro (nowadays) style. \$\endgroup\$ – Marko Buršič Nov 11 '19 at 17:48
3
\$\begingroup\$

The need for an array of pull-up resistors is often solved using resistor networks.

enter image description here

Figure 1. A resistor array can be purchased or made from individual resistors. Source: Talking Electronics.

You can make your own version of the unit on the left of Figure 1 by soldering one end of each individual resistor and "bussing" to other end by bending the rightmost resistor lead across the others and into the common terminal. Then solder the remainder of the unterminated ends to the bus and trim to length.

enter image description here

Figure 2. A neat implementation of a DIY resistor network. Source: Reddit.

\$\endgroup\$
  • \$\begingroup\$ Thank you for the idea with the resistor array, it can indeed be external to that socket. I need to see what I can get where I am. Then I will update my design. I have something beautiful prepared already. \$\endgroup\$ – Gunther Schadow Nov 11 '19 at 3:38
0
\$\begingroup\$

Sorry to answer my own question. Your suggestion to use resistor arrays was good. Unfortunately with the more ergonomic design I ended up doing, the commercially available resistor arrays would not have worked. Here is what I have come up with:

Mini-Computer Breadboard Console

I figured it would be extremely awkward to operate the switches with the LEDs below and the resulting data below as the entire panel of breadboards that make the rest of the computer must be above. So I needed a flow that goes from bottom up. Since the bottom power bus has the GND I needed to do a pull-up resistor array with the DIP switches shorting to GND to pull the active wires low. That meant all the signals are inverted. So, now I needed an inverting bus-organized tri-state buffer, for which I could find the 74LS540.

As I switch the DIP switch on, it shorts the input to low and the inverting tri-state buffer outputs high. Everything flows nicely without a lot of wires needed. The only massive problem is the segmentation of the breadboard power bus. I tried cutting the pin of the socket or wire header but I couldn't bridge to the cut pin with my soldering skills. So instead I drilled holes into the breadboard, bridged a blank wire to the neighboring hole, stuck the socket in, checked continuity on all lower pins, then plopped the DIP switch into that socket.

Now, with the 74LS540 you can't use a neat commercially available resistor array because on the lower side you are trapped between two files that are tied to GND. So I just made my own resistor array. Not pretty but functional and it skips one file to pull the input pins of the 74LS540 high.

The LEDs are shorted to ground without further resistors, this leaves the output high at some 2.5 V. Not great. I'll do some soldering to create a diode + resistor array one day. But it turns out that for the moment it works the way it is.

Now I have 24 control lines and 4 data & address bus lines for my 4-bit mini-computer POC, with 4 spares. Inverted control lines like the usual write-enable, or register load, and many a clear or preset signal, those are annoying, as the LEDs will be on when the line is not engaged. If I can bundle these in groups of 8, I can replace the 74LS540 with the more common 74LS245 so the DIP switches operate in positive ON/OFF logic (ON = engage the control line, whether it's high-active or low-active). With the LED it still doesn't work like that. On a soldered or wire wrapped board I will then cross-over the LED wires to inverters. But for now I'll have to live with it. If I choose special colors for inverted lines I can probably get by without getting all confused.

The next big deal is organizing the control lines from everywhere to the EEPROM control and to the console, 18 of them right now all over the place.

\$\endgroup\$
  • 1
    \$\begingroup\$ "Now, with the 74LS540 you can't use a neat commercially available resistor array because on the lower side you are trapped between two files that are tied to GND."- When I need to skip rows I get a resistor array with more elements, and cut off the pins where I need a gap. In your case that would be a 10x array with the first 2 pins after the common cut off. \$\endgroup\$ – Bruce Abbott Nov 13 '19 at 0:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.