2
\$\begingroup\$

I have an idea for a programmable breadboard, but I am not sure of the feasability of it. My thought is to connect each strip of a breadboard to some type of circuit that can make arbitrary connections in software. This would eliminate a lot of the tedious wiring associated with quick prototyping.

I have a few ideas, all of which seem prohibitively cost or wiring heavy.

For a breadboard with N strips I could:

  1. Use an array of analog switches for each possible combination of wires. This is not quite N^2, but its not far off. A lot of switches may get expensive fast.
  2. Make M connections possible with 2M N:1 analog muxes. Not sure how feasable this is.
  3. Set up a bunch of rows of parallel headers and use little jumpers to form connections. Probably cheaper than 1 or 2, but not programmable.

I started thinking if maybe there was a way to use an CPLD or FPGA to do something like this. At the very least if I had one with enough IO I could do some input->output following design that could get pretty close for slow digital circuits, but wouldn't handle analog very well.

What I really want is a chip that can take a large number of IO and let me program in arbitrary connections between them. Does something like this exist? Preferably easy to program, even from a pic or something.

The board I am looking at now has 3 rows on each side and two power rails so that's 64 distinct connection points, or 2016 analog switches.

\$\endgroup\$
  • 2
    \$\begingroup\$ I doubt if you'll find a solution as inexpensive and flexible as plugging wires into a breadboard...but one thing to look at is a crosspoint switch. A crosspoint typically has, say, N inputs and N outputs and lets you arbitrarily connect each output to one of the inputs. I see Intersil has a 32x32 video (300 MHz) crosspoint, for example. \$\endgroup\$ – The Photon Jan 2 '12 at 19:22
  • \$\begingroup\$ Integrated crosspoint switches can be shockingly expensive. Like the question says, N^2. \$\endgroup\$ – markrages Jun 20 '12 at 19:13
6
\$\begingroup\$

This has been done, years ago, and not since. The reason was simple: It's easier, cheaper, faster, and more powerful to just use an FPGA for both the programmable interconnect as well as the programmable logic.

Of course, FPGA's are only good for digital logic. On the surface your approach seems to work for analog circuits, this isn't always the case. Analog switches/muxes/etc all have a non-zero resistance, not-insignificant noise, and limited current handling capability. This limits their usefulness to basic circuits only. For these circuits, it is much better to just wire it up directly.

In short, only people new to electronics would use such a device and they might outgrow it rather quickly. And it would be expensive.

\$\endgroup\$
  • \$\begingroup\$ I have been gradually reaching this conclusion. The more I think about it it gets both large and expensive very quickly. I do hate tons of wiring, but maybe a super general solution is out of my scope. \$\endgroup\$ – captncraig Jan 2 '12 at 19:35
  • 5
    \$\begingroup\$ @CMP The reality is this: Most/All professional EE's don't do breadboards of any real complexity. They might use a breadboard if it is a non-critical circuit that uses less than 10 wires. Any more than that and the professional EE will likely make custom PCB's. This is a little beyond your average hobbyist in terms of money and ability, but it does give you a target to work towards. \$\endgroup\$ – user3624 Jan 2 '12 at 19:46
2
\$\begingroup\$

You are unlikely to be able to implement something that is both useful and electrically fast.

Capacitance of connections is likely to be an issue for anything large. If breadboards are considered potentially bad then this would be potentially horrendous :-).

Using an FPGA to build your actual circuit to some extent achieves the same aim.

Short of using an N x M metallic crosspoint switch the closest that come to mind is a multiplexed array of pairs of back to back MOSFETS in series.
Each MOSFET pair gives you an ohmic connection when on. With due care skill and luck you could probably manage very cheap sample and holds using gate capacitance only so you may need little more than two MOSFETS per node plus a way of addressing the floating gate pair.

If you want M connections between A inputs and B outputs you can use A x M + M x B switches = M x (A+B). Or if Ax B is square = N x N = 2MN as opposed to N^2 for full access. The ratio is N^2/2MN = N/2M which can be a considerable saving over N^2 if you only nee M at a time and M <

A serious but unusual suggestion is to consider the use of an N x M plugboard and a "robot" to insert jumpers or plugs. The robot could be extremely dedicated and it may think that it is an X-Y mechanism with a plug inserter or two servos to make an R, theta polar plug placer or ...

A robot could place wires in a standard plug in breadboard.

\$\endgroup\$
1
\$\begingroup\$

I designed something similar to this for an interactive exhibit. To keep the cost down, it is centered around a set of parts similar to what is found in a RS Science Fair kit. Any of the circuits can be made with the push of a button. New circuits can also be entered through the simple interface. Right now, it is set to hold only 48 circuits. The simple device morphs into 48 circuits. (radio,logic,oscillators,amplifiers,etc). Using cheap parts from China, it did not cost more than $200 including the wood display case.

\$\endgroup\$
  • \$\begingroup\$ This sounds interesting. Could you share some details about your project? \$\endgroup\$ – shivams Oct 15 '17 at 8:18
0
\$\begingroup\$

I had this same idea and still think it would be useful for analog circuits. The impedance of properly sized mosfet switches should not be worse than that of wires stuck into spring clips. FPGAs are great, but (1) they don't handle analog and (2) you still have to breadboard if you want to use ASICs. While it's true that most companies just have a circuit board printed, there are still lots of hobbyists and students that would benefit from a programmable breadboard.

\$\endgroup\$

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.