EEVblog Electronics Community Forum

Electronics => Beginners => Topic started by: polarwong on July 24, 2016, 11:31:40 am

Title: How to avoid a "Large pin count connection (like a 20 wire connection)"?
Post by: polarwong on July 24, 2016, 11:31:40 am
Hi community,

Hi all, I am building a custom case for an arcade machine (kind of a secret project) and the original cabinet was very bulky and I decided to scrap it and build my own minimal case for it.
I am very enthusiastic about designing and building cases for an old machine. I know how to do electrical wiring and stuffs but I have practically 0 knowledge about circuit designing and IC chips. I ran into this situation where with my existing knowledge I cannot figure out:

The rebuilt machine consist of 2 separate pieces in my plan:

- the Main Body with directional controls, some buttons and a converted Laptop monitor.
Inside the main body is an ITX computer and the original IO Board for the machine.
Mains power will be connected to an ATX Power Supply to supply power to the motherboard and the IO Board. I will probably just take a 12V output from the ATX PSU to power the LCD too (if I happen to be able to convert the CFL bulbs in the LCD to LED lights).
All buttons, lights and other features are built into the main body and the cables will be hidden from sight.

- and the "gameplay" input panel and here comes the problem:
- The input panel originally had a 20pin ribbon cable running from the panel to the IO Board (in the main body). Since now the panel and the IO Board is not in the same big cabinet I have to run some kind of connection between the two. I originally decided to run a thick cable and attach some kind of DB connector to both ends but after some research online there IS 20 core (20 wire?) cable in the market and but the cable was just too thick and kind of ugly.

I imagine that there should be some solutions to running all 20 pins signal without using all 20 wires (like a encoder and decoder / multiplexing?). I hope someone out here can help me and guide me through how to avoid the 20 wire connection. My ultimate goal is to run a wireless connection of some kind but...yeah it's just too much of a stretch for me, I have very little knowledge in doing these kinds of designing. A solution to avoid the 20 wire cable and connector is good enough for me, for a beginner.

Thanks for all your help!
Polar Wong
Title: Re: How to avoid a "Large pin count connection (like a 20 wire connection)"?
Post by: ebclr on July 24, 2016, 11:46:55 am
Your solution will need something like this

https://www.adafruit.com/product/732 (https://www.adafruit.com/product/732)

One arduino

and some code based on this

https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library (https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library)

Title: Re: How to avoid a "Large pin count connection (like a 20 wire connection)"?
Post by: polarwong on July 24, 2016, 12:05:20 pm
Your solution will need something like this

https://www.adafruit.com/product/732 (https://www.adafruit.com/product/732)

One arduino

and some code based on this

https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library (https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library)

Thanks ebclr, I will sure look into using an Arduino. However, I actually don't want to use an Arduino. I am not sure if my situation will require me using an Arduino, but if there are any other solutions to this that doesn't require an Arduino I will sure look into that. Actually, are there any actual names for the situation that I am currently in? I want to Google it but my English is so bad that I cannot come up with any search terms that will bring me to search results that actually will help |O
Title: Re: How to avoid a "Large pin count connection (like a 20 wire connection)"?
Post by: kc8apf on July 24, 2016, 05:58:13 pm
LVDS serializer and deserialzer should work as long as you choose a high enough clock speed.

Sent from my Nexus 5X using Tapatalk

Title: Re: How to avoid a "Large pin count connection (like a 20 wire connection)"?
Post by: rstofer on July 24, 2016, 08:38:31 pm
USB?
https://www.ultimarc.com/ipac1.html (https://www.ultimarc.com/ipac1.html)

There a bunch of USB game control boards.
Title: Re: How to avoid a "Large pin count connection (like a 20 wire connection)"?
Post by: Kilrah on July 24, 2016, 09:03:05 pm
It's hard/impossible to know what to suggest without knowing what kind of signals this ribbon is carrying.

But talking of ribbon, what about... standard ribbon cable? You can crimp D-Subs or pin header connectors on there. Assuming currents are low enough that is, which brings us back to the previous line.
https://en.wikipedia.org/wiki/Ribbon_cable
Title: Re: How to avoid a "Large pin count connection (like a 20 wire connection)"?
Post by: polarwong on July 25, 2016, 03:53:43 pm
Oops...I forgot to describe the signal that the ribbon cable is used to carry:

The input is a matrix with 82 different "buttons". Each button press will connect 2 pins and the IO board will determine the button that is pressed.

Thanks for all the replies, I will look into SerDes and still haven't found a tutorial. Maybe I will spend some (maybe a lot) time to study how SerDes work and employ it.
Title: Re: How to avoid a "Large pin count connection (like a 20 wire connection)"?
Post by: polarwong on July 25, 2016, 03:59:39 pm
USB?
https://www.ultimarc.com/ipac1.html (https://www.ultimarc.com/ipac1.html)

There a bunch of USB game control boards.

I cannot use USB as the software is proprietary and I cannot modify it to accept input by USB. The signal will still have to go to the IO board and connected to the main PC via RS232. Thanks for your suggestion:)
Title: Re: How to avoid a "Large pin count connection (like a 20 wire connection)"?
Post by: Kilrah on July 25, 2016, 05:07:15 pm
Then there are no high freq signals and length should not be a problem, the ribbon cable would be the easiest.
Title: Re: How to avoid a "Large pin count connection (like a 20 wire connection)"?
Post by: polarwong on July 25, 2016, 06:24:46 pm
Then there are no high freq signals and length should not be a problem, the ribbon cable would be the easiest.

It used to be a ribbon cable, but it doesnt look good when the ribbon cable is exposed. I thought a 20 core cable will look better, but the thinnest 20 core cable I can find (and reasonable pricing+shipping) is a 12mm diameter and only available in black color, which is still not good looking and the connector is bulky. I want to look for a solution which will lower the pincount what will run between the exposed area.
Title: Re: How to avoid a "Large pin count connection (like a 20 wire connection)"?
Post by: Kilrah on July 25, 2016, 06:26:19 pm
Aha. Nothing in your post mentioned that the cable had to be visible.
Title: Re: How to avoid a "Large pin count connection (like a 20 wire connection)"?
Post by: mariush on July 25, 2016, 06:33:31 pm
You should figure out what happens on those wires when you press buttons.

In general, you would have a ground wire and a voltage wire (5v or something like that) and then I guess the easiest way would be to have one wire for each button or joystick direction - when button is pressed, the button makes the connection between the 5v and that wire, so a 5v is sent through that wire. But it could also be the other way around.

In the case of  joysticks, there may be a potentiometer for each of the two or four directions, giving fine control over how much the joystick is leaned towards some direction... so you'd have 4 wires, each wire connected to the wiper of each potentiometer, and you'd have voltage on those wires between 0v and 5v.

For the wires that only send 0 or 1 (0v or 5v) you could use a parallel to serial IC combined with a timer running at relatively high frequency - let's say 1000+ times a second, the parallel to serial chip takes whatever is on the 8 input wires and serializes the 8 bits  and sends them on the other end of the cable through one wires. At the end of the wire, you'd have a serial to parallel chip which receives those 8 pulses and puts the 8 bits on the 8 output pins of that chip.
You'd also need a second wire and a chip to produce a clock on that wire for both chips, basically produce some ticks to keep both chips synchronized.  So you're basically replacing 8 wires with just 2 wires.
Title: Re: How to avoid a "Large pin count connection (like a 20 wire connection)"?
Post by: Galenbo on July 29, 2016, 09:59:10 am
Oops...I forgot to describe the signal that the ribbon cable is used to carry:

The input is a matrix with 82 different "buttons". Each button press will connect 2 pins and the IO board will determine the button that is pressed.

That exist as DC and AC version, with/without diodes, and, and...

This project is basically a multiplexing/serialiser/protocoliser project.
It's an easy project, but there's no easy way.

You will have to go through input signal quality, sampling limits determination, phase/timing considerations, output signal quality.
Your project will include 2 microprocessors, or more complicated: TTL logic or discrete components.
Title: Re: How to avoid a "Large pin count connection (like a 20 wire connection)"?
Post by: tooki on July 29, 2016, 03:18:09 pm
If it's just the scan wires for a matrix keypad, it's unlikely to be sensitive to interference. I would go on Amazon and buy a thin DisplayPort cable and repurpose it. It's also 20 wires. (HDMI is so close: 19 wires.). It's about the same as USB in diameter.
Title: Re: How to avoid a "Large pin count connection (like a 20 wire connection)"?
Post by: polarwong on August 08, 2016, 08:14:02 pm
Thanks everyone for the help, I decided to build a large cabinet to house all components (all-in-one cabinet). Now I am facing another problem:

https://www.eevblog.com/forum/beginners/make-led-not-light-up-until-voltage-not-less-than-12v-(arcade-button-lights)/ (https://www.eevblog.com/forum/beginners/make-led-not-light-up-until-voltage-not-less-than-12v-(arcade-button-lights)/)

Please help me out |O