Question Help with Controller Data Line Demux

Joined
Oct 6, 2021
Messages
26
Likes
29
Hello, I need a little help with a data line demultiplexer in my Wii. So I've got a dock that goes along with the portable and whenever the system is docked it should switch the player one data line from the internal controls to the controller port held inside the dock. I already had some PCB's made up and an IC picked out to do the switching but when I had everything wired up my controls weren't working at all.

I wired my GC+ board to a controller plug and tested it with my Gamecube and ensured that my GC+ board was actually working. I also wired up a Gamecube controller to my Wii to verify that nothing was broken on the Wii side of things and I was able to use that controller just fine. So I narrowed it down to something between the Wii and my GC+ board which could only be an FFC I have connecting the boards or the demux that the data line goes through. I tested continuity through the FFC and that seemed fine so I'm assuming that it's the demux at this point.

The demux I had chosen for my design is this one and my design goes something like this -
1647656497213.png
The 3v3 and Select pins are bridged on the dock side thus providing 3v3 along the Select line when the system is docked.

Is there anything inherently wrong with my design or my IC choice? Any help would be greatly appreciated! Here's a few other pics of the physical design as well.
IMG_20220317_125251.jpgIMG_20220317_125327.jpgIMG_20220317_125336.jpgIMG_20220317_125342.jpgIMG_20220317_125400.jpg
I know I've got duplicate wires and a few things are a little messy. This is just because I was trying a ton of stuff while troubleshooting the issue and doesn't reflect how I currently have it wired exactly. At the moment I've got 1 wire for the data line from the Wii to the board next to it, then another wire from there straight to the GC+ completely bypassing the demux and FFC for the data line. I also thought that maybe I put the demux on backwards and that's why it wasn't working so I tried reversing it and then it started smoking haha. I'm guessing I'll need to replace it but I wanted to get some help with the issue before that.

One last thing that I noticed also was that when I ran a data line straight to the GC+, even that wasn't working until I cut this trace here leading back to the demux.
Snapchat-1059385042.jpg

And that's basically all I've got. Hopefully that was thorough enough and someone would be able to help me. Thanks in advance!
 

jefflongo

Broke BitBuilt
Staff member
.
.
Joined
Dec 15, 2016
Messages
1,017
Likes
1,361
Location
Santa Barbara, CA
Portables
3
Hello, I need a little help with a data line demultiplexer in my Wii. So I've got a dock that goes along with the portable and whenever the system is docked it should switch the player one data line from the internal controls to the controller port held inside the dock. I already had some PCB's made up and an IC picked out to do the switching but when I had everything wired up my controls weren't working at all.

I wired my GC+ board to a controller plug and tested it with my Gamecube and ensured that my GC+ board was actually working. I also wired up a Gamecube controller to my Wii to verify that nothing was broken on the Wii side of things and I was able to use that controller just fine. So I narrowed it down to something between the Wii and my GC+ board which could only be an FFC I have connecting the boards or the demux that the data line goes through. I tested continuity through the FFC and that seemed fine so I'm assuming that it's the demux at this point.

The demux I had chosen for my design is this one and my design goes something like this -
View attachment 21724
The 3v3 and Select pins are bridged on the dock side thus providing 3v3 along the Select line when the system is docked.

Is there anything inherently wrong with my design or my IC choice? Any help would be greatly appreciated! Here's a few other pics of the physical design as well.
View attachment 21725View attachment 21726View attachment 21727View attachment 21728View attachment 21729
I know I've got duplicate wires and a few things are a little messy. This is just because I was trying a ton of stuff while troubleshooting the issue and doesn't reflect how I currently have it wired exactly. At the moment I've got 1 wire for the data line from the Wii to the board next to it, then another wire from there straight to the GC+ completely bypassing the demux and FFC for the data line. I also thought that maybe I put the demux on backwards and that's why it wasn't working so I tried reversing it and then it started smoking haha. I'm guessing I'll need to replace it but I wanted to get some help with the issue before that.

One last thing that I noticed also was that when I ran a data line straight to the GC+, even that wasn't working until I cut this trace here leading back to the demux.
View attachment 21730

And that's basically all I've got. Hopefully that was thorough enough and someone would be able to help me. Thanks in advance!
From a cursory glance, you don't have a pulldown resistor on the select line. That means when the dock is not plugged in the select line will be floating, which could be read as high even with no dock depending on ambient noise. Try connecting a 10k resistor to ground on the select line.
 
Joined
Oct 6, 2021
Messages
26
Likes
29
From a cursory glance, you don't have a pulldown resistor on the select line. That means when the dock is not plugged in the select line will be floating, which could be read as high even with no dock depending on ambient noise. Try connecting a 10k resistor to ground on the select line.
So that select line is also used to turn on/off a mosfet that cuts power to the screen, gc+, etc... and does have a 10k pulldown resistor located closer to that mosfet. Should I include another one physically closer to the dataline IC itself?
Snapchat-1841823904.jpg
(The green line shows that those two vias are connected on the other layer not shown)
 

jefflongo

Broke BitBuilt
Staff member
.
.
Joined
Dec 15, 2016
Messages
1,017
Likes
1,361
Location
Santa Barbara, CA
Portables
3
So that select line is also used to turn on/off a mosfet that cuts power to the screen, gc+, etc... and does have a 10k pulldown resistor located closer to that mosfet. Should I include another one physically closer to the dataline IC itself?
View attachment 21731
(The green line shows that those two vias are connected on the other layer not shown)
That should be fine then, you shouldn't need to add another one. What I would probably try as a first pass test is tie the data line to 3.3v (no GC+ attached) and just make sure that the multiplexer is working (does it output 3.3V and 0V on the other output for both sense pin states?).

If it does, I'd probably hook up an oscilloscope/logic analyzer to the output to see if it looks like GC data. With the GC+ attached.
 
Joined
Oct 6, 2021
Messages
26
Likes
29
That should be fine then, you shouldn't need to add another one. What I would probably try as a first pass test is tie the data line to 3.3v (no GC+ attached) and just make sure that the multiplexer is working (does it output 3.3V and 0V on the other output for both sense pin states?).

If it does, I'd probably hook up an oscilloscope/logic analyzer to the output to see if it looks like GC data. With the GC+ attached.
The data lines are already tied to 3v3 from the resistor array on the wii board, yeah? I'll have to get another IC as I'm pretty sure I fried mine but I wanna say that I did at least check the voltages on the two output lines and one was giving 3v3 and the other 0v. I can't remember exactly though. Also I don't have an oscilloscope or logic analyzer nor do I know how to use them. Perhaps I'll look into getting one at some point.
 

jefflongo

Broke BitBuilt
Staff member
.
.
Joined
Dec 15, 2016
Messages
1,017
Likes
1,361
Location
Santa Barbara, CA
Portables
3
The data lines are already tied to 3v3 from the resistor array on the wii board, yeah? I'll have to get another IC as I'm pretty sure I fried mine but I wanna say that I did at least check the voltages on the two output lines and one was giving 3v3 and the other 0v. I can't remember exactly though. Also I don't have an oscilloscope or logic analyzer nor do I know how to use them. Perhaps I'll look into getting one at some point.
I would definitely suggest investing in a logic analyzer at least, they are like 10 dollars and they allow you to see a plot of digital data vs time. They are very simple to use, you can use it with this software.
I agree your chip is probably fried if it was smoking. The important part that you confirm is that the switching works.
 
Top