# Is this possible?

So I have been putting myself through a thought challenge, I understand general electronics well, but not everything in the least.

The concept is I guess best described as a a mappable connection.

Say you have a grid of points 5 x 5 as in grid01 below.
each point on the grid is independent of all others.

Is there a circuit that could connect say all of the contacts in each row as in grid02 below each of the colors is one multipoint connection

And then also connect the points in an arbitrary format as in grid03 below each of the colors is one multipoint connection

The circuit must pass the connection as if it were a pipe not by reference and not changing the content.

I hope this makes sense and I donâ€™t know if it is even possible, my solutions were all overly complex switch variations or relays, but it wasnt scalable or friendly.

So any ideas?

Can you explain what you want to be able to do better? I don't understand what you mean by "The circuit must pass the connection as if it were a pipe not by reference and not changing the content."

Say green is ground and blue is 5 volt, if I was passing by reference (a programming reference not hardware sorry) I could have an original 5v or ground connection trigger a relay switching from a different 5v and ground which would sort of be a reference rather than the original 5v and ground connection.

Say I had a wire harness connected to those points and I wanted to change the connections to the harness with out disconnecting the harness, I am looking for a circuit that might be able to make the changes without physically pulling each connection and putting it to a new point.

Would this be an accurate restatement: you want to be able to select any arbitrary set of boxes in your matrix and short them together. Additionally, the number of short-circuit-sets should be equal to the number of rows.

Sorry you description doesn't make much sense.

if I was passing by reference

Are you referring to hardware or software? I think you are confusing things with the software terminology.

Do you want a cross point switch, that is one that can connect any point on a row to any point on a column?

I could have an original 5v or ground connection trigger a relay switching from a different 5v and ground which would sort of be a reference rather than the original 5v and ground connection.

Sounds just mixed up talk, and I have been in the business a long time.

What do you want to pass along this connection? Is it a logic level, serial link, analogue level?

Probably more context would help.

Yes the passing by reference is confusing because it is a software concept. I apologize for that.

In hardware I was referring to the fact that it would be an original physical connection rather than say being on the load side of an opto-isolator or relay switching driven by the original connection , I know Im having a hard time explaining my point, again I apologize, its been stuck in my head and Im trying to get it out (GRIN)

How does "original physical connection" differ from "load side of a relay"? Relay contacts are about the simplest form of physical connection you can get.

One option would be to have a number of busses based on how many individual circuits you want, then switching each pin of the grid to one of those busses based on the desired connectivity.

Simplify, say you had the normal blink circuit hooked up on 5 of the arduino digital pins each circuit has a wire connected to a resistor, the resistor to the led and the led to ground.

So you have 5 points that each have a wire connected( the arduino pins ) and 5 points that have the other end of the wire connected ( the resistor lead )

So we now have a wire connecting each

pin13 pin12 pin11 pin10 pin9

to to to to to

res13 res12 res11 res10 res9

Now pull the wire connection from res9 and move it to res11, res11 to res12 and res12 to res9

pin13 pin12 pin11 pin10 pin9

to to to to to

res13 res11 res9 res10 res12

Now we change the connection on pin9 to pin11, pin11 to pin13 and pin13 to pin9

pin11 pin12 pin9 pin10 pin13

to to to to to

res13 res11 res9 res10 res12

Now the circuit I am trying to figure out, or if it even exists would be sort of a "virtual wire", that would completely replace the wire, so those changes could be made without moving the connections,
in this small demo concept it could easily be solved some multi-throw switches or relays, but I am thinkng of this scaled to 200 arbitrary connections or better .

Again I am sorry if this isn't getting across or is confusing but describing this is like writing stereo instructions, much more complex than the actual action.

Take a wire, 2 connections, one on each end, now make it 100 wires thats 200 connections, now is there a circuit that you can think of that would let any one of those 200 points connect to any other of the 199 points, the say flip a switch and it changes and connects to any other connection.

Trying again to explain, hope this is sort of makes some sense

So you want a kind of programmable circuit board where the array of pins can be connected in any combination?

Make a series of planes with relays to selectively connect each pin to a common for that plane. Each plane has a set of relay drivers and can activate any combination of relays.

The number of planes should be N/2 where N is the number of pins (a single-pin 'circuit' is of no use).

If you want an 8x8 grid (64 pins) you need 32 planes and 2048 relays and drivers. It doesn't scale well. It also does't work well with high frequency signals since the 'traces' will be LONG.

Yes relays was the way I had gone and hit the wall, I thought I would throw it out there, because as I said I get basic electronics but thought there might be something I missed.

The reason I asked was I had a previous led project that used a ton of pins and then I found the magic of charlieplexing, just wanted to overturn a few rocks to make sure I wasnt
missing something similar for this problem.

The resistance might be too high for some circuits but you might try CMOS analog switches. You can get 4 switches in a 16-pin package. That still leaves you with 512 chips plus a large quantity of shift registers to drive them.

http://www.maxim-ic.com/app-notes/index.mvp/id/638

Thanks for the ideas, it was mostly a proof of concept search, rather than a full project, it looks like it wont be feasible or or at the very least not cheap enough to produce.

Thanks again

Boz

sometimes i read entire posts even though i do not understand the subject at hand, but i hope to gain at least a little bit from it , this was interesting

You can get 4 switches in a 16-pin package.

You can also get a 8 to 1 bi directional switch in a 16 pin package the 4051.

Using 9 of these chips you can connect to any one of 64 points on an 8 by 8 grid.
I am still not sure how many of these connections need to be made at any one time but using this chip it is only one. However it is an analogue connection you are making and it is bi-directional.

Is that any help?

It definitely raises my interest interest in the possibilities, I was thinking that many connections would need to work with many independent connections at once, am I correct that what you are saying is with 9 chips I could choose any 1 of 64 connection, but only 1 at any time?

Yes that is right.
In fact you can cut this down to five chips if you use four 4067 and one 4051.

Yep back to the no go pile the thought game goes, it needs to be maybe even 64 out of 64 not 1 out of 64 and in the application I would probably use it in it would be more like 200 connections. Oh well thanks for the info.

Yes but put two back to back and you have 64 in and 64 out. You can expand this to what ever size you want, you just have 10 chips for each group of 64. Is it the only one connection at a time that is the problem?

Why on earth wouldn't you just do it in software?