Will this work? -- Connecting two boards using IDC Cable.

Status
Not open for further replies.

toutant

Well-known member
Hey all,

I’m starting to lay out PCBs for a Teensy synth and I wanted to see if I have a fundamental flaw in my design before I get too far. Any advice would be greatly appreciated. Here are the details:

The project
A Teensy-based midi controller/synth with a lot of buttons and knobs.

Technical Details
-Teensy 4.1
-About 64 pots and switches
-8 analog multiplexers (74HCT4051s)
-1 quadrature rotary encoder

This would all be divided into two PCBs and connected by an IDC cable as shown in the diagram below.

Screen Shot 2021-03-06 at 8.13.02 PM.jpg

The IDC cable would be carrying the following signals:
-GND (perhaps 2 or 3 pins to ensure a good connection)
-3.3V to bias the pots
-5V to power the MUXs
-S0,S1,S2 signals to the MUXs
-Analog signals from all the MUXs
-2 signals from the encoder

The Question
If I try to run all of these signals across a short (~3”) IDC cable, am I going to run into a lot of interference and noise? It would be convenient for the design of the synth to have them on separate boards, but I’m wondering if I need to reconsider and squeeze it all on the same board.

Thanks so much for any advice. I'm always amazed at how helpful everyone is on this forum.
 
Last edited:
For high speed logic you normally make every 2nd or 3rd wire ground, so that every signal is next to a ground return.

But how fast are the signals involved? You can probably just distribute the ground and supply wires evenly
across the ribbon if not so fast.
 
Thanks, Mark.

OK, so perhaps I just need to intersperse ground signals and logic signals and all will be good.

I don't think the signals will be particularly fast. I'll probably poll the MUXs about 4x/sec.

Would it make sense to include several Vcc signals in the cable as well? I guess I'm just wondering if I have several ground pins, if I should balance that with several +3.3V pins. (I know very little about EMI.)
 
An output low isn't a hard ground, might even be better due to the small output resistance reducing reflections,
I can see that would make pinouts simpler.

It allows for future expansion of function too...
 
Huh. I wouldn't have thought of using GPIOs as extra grounds. My current ground is just running from the voltage regulator.

What exactly would using the GPIO's ground accomplish? In general is it better to bias pots that are being read by analogRead with ground from the GPIO pins instead of ground from the voltage regulator?

FWIW here's my current draft of the ribbon cable based on Mark's feedback. I'm duplicating the 3.3V rails as well, although I'm not sure it's necessary. (See this stackexchange if you want to read people arguing about it.)
Screen Shot 2021-03-07 at 10.12.00 AM.jpg

If anyone has any thoughts on how to improve the layout, I'd love to hear it. Otherwise, I'm gonna build it out and see what happens!

Thanks all.
 
Last edited:
Why not use a 40 pin IDC cable/socket/plug wired as shown below.
idc cable plug.jpg
This will result in every other wire being gnd. Also makes it easy making the cable using DIL IDC plugs and sockets.
 
Good call. I guess there's no real reason to skimp on pins, and it seems like 40pin is a more common size than 24.
 
Update:

I just got the boards in today and the 2x20 pin with all grounds on one side is working great.

Screen Shot 2021-03-24 at 11.22.39 AM.jpg

Very clean signals from the MUXs.

Thanks everyone for your help.
 
Status
Not open for further replies.
Back
Top