Switch-less USB selector for PS3+360 "Imp": Re-Design Underway, Input appreciated

EDIT: Troubleshooting guide is up: Switch-less USB selector for PS3+360 “Imp”: Design Stage
EDIT: Welcome sheet included with each Imp: www.godlikecontrols.com/download/impwelcome.pdf
I like cute names for things, so I’m thinking we’ll go for ‘Imp’ on this one :slight_smile:

Most PS3+Xbox360 sticks now use a DPDT toggle switch to select which system is to be used. This setup works well, but requires a DPDT switch be purchased, and the case modified so the switch can be installed. I had mentioned previously that it would be possible to use an existing button to select with a small amount of electronics, but figured it’d be too much of a PITA. I said if I can get enough preorders to cover my costs, I would do it, and zombie cpt came back a couple of hours later and said he had it covered. So, SRK has spoken and this baby project is now underway.

I know that a 4066N analog switch chip can be used to select between two pairs of lines for USB just fine, since the UPCB has been doing that for years now. What I needed was a way to have two outputs from a gate, being high-low if an input was high when powered on, and being low-how if the input was low when powered on, and sticking at those output levels no matter what happens. I couldn’t figure out how to do it with regular logic gates, so we’re back to my old stand-by of a small microcontroller. Checking the prices on Digikey, the cheapest and smallest chip I can find is the 12F510; $1.25 each ordered singly, and $0.78 in quantities of 25 or more. Internal oscillator, pull up’s on the inputs if needed, and 512 instruction space; all good stuff and should work awesome.

Here’s a sketch of the current idea each square is 0.1" on a side:

The left has a spot for a USB jack to be mounted, so the outgoing USB cable won’t have to be cut. The pads will be labelled and you can still solder the USB wires to them (for using the cable from a xbox360 controller, which really are nice cables, or the cable that comes with the madcatz TE or SE stick) but for those who dont want to cut and solder a USB cable, a jack would be nice.

So, here are the areas I’d really like feedback on:
-Mounting holes: It would be pretty silly to not have holes for screwing into the case for a solid mount. On wooden cases like Norris (drool) or SFAC sticks, there’s not so much of a need to care where the holes are, because you don’t have to line them up with anything. What I’d really like is suggestions on where it should be mounted inside a MadCatz TE or SE stick, so I can get the holes to match up with the screws already present. Give me an idea where it should go, and I’ll make sure the holes match.

-Other functionality: The PIC is eight pins. Two are for power, leaving 6 available. I need two to control the 4066 switches, leaving 4. One input to control which system to use; down to 3. A common problem that keeps coming up is people wanting Start+Select=Guide. That’s not a problem for the Cthulhu since that’s built in, but it gets tricky when dealing with a 360 pad. My thought is this: If you wanted to, you could connect the Opt A and Opt B points to start and select. The Guide point would be connected to the Cthulhu ‘Home’ point and the Xbox360 Guide button. If the chip thinks you don’t have a dedicated guide/home button, then it will press Guide/Home for you if it sees both select and start pressed. It would be optional; if you have a dedicated home button, the chip would know this and never trip Guide/Home. It just gives those without a dedicated Guide/Home button an alternative. Thoughts?
(I know explanations are confusing at times. So, in short:
If you have a dedicated button for Guide/Home, then forget I said anything.
If you don’t have a dedicated button for Guide/Home, then this would make Start+Select = Guide/Home if you want.)

-Color: Colored PCB’s are cool. How does black with white silkscreening sound? White with black? Green red blue, lotsa options.
-Open source: I’ll release the PIC code and full Eagle files so anyone can make as many of these as they like. The design will be too stupid simple not to.

Alright folks, tell me how I can make this awesome.

My only input is that a dedicated button for home/guide is on my list of things that would be a must for the 360…since that is how you access friends and messaging…being able to use that without grabbing a different controller is important to me.

However, any workaround such as pressing both START and SELECT together would be perfectly acceptable to me, it would prevent the “I need a second controller to send messages” issue.

And you are a freaking genius for figuring some of this stuff out.


This sounds all kinds of awesome. I recently bought an MC Cthulhu and was planning on using a DPDT switch, but this would be much more elegant. Do you estimate it being ready within a couple weeks?

I’m expecting to order the boards on Monday, and have the batch zombie cpt sponsored to him no later than March 30th.

But to do that, I need feedback!

Help a noob understand: Does this mean that with the board you are designing, we could easily use a Ctulu board with the 360???

I really want to use that board for my next build (as opposed to hacking a pad) but as you know making it work for the 360 is not an option right now.

bakageta suggested in my IC thread that he would like to have the default to work with 360 and hold down the guide/home button for ps3 mode. I like that idea too since my main system is 360. Not sure how difficult it is to be able to select which default system to start from but it would be a good feature I think.

I have no preference on pcb color, as long as everything is labelled clearly like the Cthulhu board.

No problem; I’ll rename the labels for the ports, like “Default D+”, “Default D-”, “Secondary D+” and “Secondary D-”.

If you want 360 to be default, put them to default and ps3 to secondary. ps3 default, visa versa.

The only reasons I’ve been leaning towards PS3 as default is because the MC Cthulhu will work better in this setup; If you wanted to play with a PSX cable, you have to have the imp in PS3 mode. It seemed better to have it be ‘hold the button for 360, just plug in for anything else’. If the 360 is default, it’d be ‘just plug in for 360, and hold the button for anything else.’ But the board itself could be wired either way.

Good deal! I think of the of people that showed interested wanted like a MC board for PSX/GC compatability so I will do those to default ps3.

I think you have an incorrect idea of what this does.

All the Imp board is made for is so you don’t have to use a DPDT toggle switch when making a PS3+360 stick. Hacking a 360 pad or otherwise using the pcb from a 360 controller is still very much required. All the Imp does is route traffic, deciding if the PS3 board gets to talk on the USB cable, or if the 360 board gets to talk on the USB cable. A 360 board is still very much required.


Im sure glad someone has the time for these wonderful ideas.

Yeah, I was afraid of that, thanks for taking the time to explain it to me.


I have a norris case, but I still think start+select=guide is a good idea, I really like only having two other buttons on my upcb stick.

Also, black pcb w/white screening. I seriously love black pcbs.

edit-maybe you can use the opts as a tournament lock? Unless the cthulhu already has a feature like this I don’t know about.

Hey Marcus, I like it, but why not another run on the cthulhu with these built on board? I could do some pre-orders from you if that were the case. (for my custom project, i’m assuming you’ve seen it in the trading outlet.)


To answer the question on mounting. I have been using these:

Simply because I can avoid putting holes in the case ( i already have had 360 sticks become ps3 etc.) and the adhesive is typically strong enough to hold PCB’s and barrier strips in place. I haven’t had any give out on me yet. As long asyour board has holes on it to be mounted it should be fine. But that’s just me.

Dot you read my thoughts? I needed a way to run a ps3 & PC without an adaptor & you made the chtula. Then I was looking for a way to use 1 USB cable for 2 consoles & you made this. Major props for seeing what the problem is & finding a solution to it.

Those are sexy. Where do you buy them?

Fry’s has tons of them in different sizes and colors.

OH HELL YEAH! Thanks Toodles and zombie cpt! You guys ROCK!

So toodles, so you’re saying instead of using a dpdt switch manually, it will recognize the controller automatically with the imp board whenever you turn the xbox 360 or ps3. What I mean is, let’s say if I were to turn on a ps3, my controller for the ps3 will be recognized and it will use the 360 usb cable that is piggybacked to the ps3 pcb without flipping any switches. No?

Not quite. Imp will check to see if a button is held down when plugged in. If the button is not pressed, the default pcb will be used. If it is pressed, then secondary pcb will be used.

The nice thing is that the button checked will be one of the normal play buttons; there wont be a dedicated toggle switch or a dedicated button. It would probably easier to explain without being so general. Installed in mine, I’ll wire the Guide button on my 360 TE stick to be the controlling button, and have PS3 be the default. So, if I plug the stick in normally, the Cthulhu will control the USB. If I hold down the Guide button when I plug it in, then the 360 pcb will control the USB.

It does the exact same thing a DPDT switch does, but without having to drill and mount an actual DPDT switch.