HWXLR8 / beef-board

USB HID PCB for Bemani rhythm games
GNU General Public License v3.0
11 stars 2 forks source link

Remote USB board with USB-C #20

Open ASleepyCat opened 8 months ago

ASleepyCat commented 8 months ago

Instead of requiring two USB cables to power the IO board, develop a remote USB board that only requires one USB input (probably USB-C with PD).

HWXLR8 commented 8 months ago

Thanks for the feature request! The whole idea of of having a remote board was to allow the flexibility to implement such a feature in the future, and it is indeed on the development roadmap, albeit low priority.

ASleepyCat commented 3 months ago

Apparently a USB-C specific USB 3.x mode can supply up to 3A? https://en.wikipedia.org/wiki/USB-C#USB_3.0/3.1/3.2 This might be enough where USB PD isn't needed.

HWXLR8 commented 3 months ago

Unfortunately the AT90USB1286 is not USB3.0 compliant, so this would not work.

image

I think we could still make it work by integrating a USB PD controller on the remote board, but I have yet to do any experiments with this.

ASleepyCat commented 3 months ago

I managed to power on my PHOENIXWAN with one USB-C cable using this USB-C breakout board. I think we could fairly easily adapt this design onto our daughter board.

It draws just under 2A with all lights on at full bright. PXL_20240619_102744883

HWXLR8 commented 3 months ago

I agree, we could easily adapt this, but I only have 1 concern. The AT90USB1286 is only USB2.0 compliant. I get the sense that your motherboard is just violating the USB specifications (as many do). We are not entering the special USB 3.X mode that you linked above.

It is my understanding that the USB PD specification is entirely separate from the USB2/3/3.1 spec and will allow for a negotiation of higher currents even for USB2.0. I believe this is the best path going forward.

ASleepyCat commented 3 months ago

Are you sure? On Texas Instruments's USB Type-C and PD PDF, they list USB 2.0 w/ up to 3A/15W as one of the most common uses cases (https://www.ti.com/lit/wp/slyy109b/slyy109b.pdf?ts=1718928612049&ref_url=https%253A%252F%252Fwww.google.com%252F) My understanding is that by putting 5.1kOhm resistors between the configuration channels and ground, that signals to a USB-C upstream port to supply up to 3A, regardless of USB version (as long as the port/cable can supply the current drawn).

I've also read on various threads that USB power specs are actually minimum guarantees and not limits, although I don't know have a primary source for that.

HWXLR8 commented 3 months ago

image Well would you look at that. I had no idea that this was the case. This is fantastic news, thanks for bringing it to my attention.

As for the minimum guarantees, for our use case a "minimum guarantee" is equivalent to a power cap. We do not know who will be plugging the device into what, and if their mobo only supports the minimum gurantee, we will trigger over-current protection. Regardless, if we offer USB-C this is a non-issue. I still wish to offer both choices, and as long as we make it clear in the documentation the limitations of USB-B, this should be no problem.