Electronic – Programmable point to point connections


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.

Best Answer

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.