Forum Rule: Always post complete source code & details to reproduce any issue!
-
Will this work? -- Connecting two boards using IDC Cable.
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.

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 by toutant; 03-07-2021 at 12:38 AM.
-
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.)
-
what about driving some gpios as GND output between those pins?
-
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.)

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 by toutant; 03-07-2021 at 02:31 PM.
-
Senior Member
Why not use a 40 pin IDC cable/socket/plug wired as shown below.

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.
-
Senior Member+

Originally Posted by
toutant
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.
Raspberry Pi uses the 2x20 pin cable, so at least in maker shops, it should be easy to find.
-
Update:
I just got the boards in today and the 2x20 pin with all grounds on one side is working great.

Very clean signals from the MUXs.
Thanks everyone for your help.
-
Senior Member
Glad it worked out for you.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules