makerbase-mks / MKS-TinyBee

MKS TinyBee is a mainboard for 3d printing, based on ESP32 module
GNU General Public License v3.0
109 stars 111 forks source link

USB-C connector doesn't work with USB-C cables #112

Open viernullvier opened 4 months ago

viernullvier commented 4 months ago

I've been using a TinyBee board as a CNC controller (with FluidNC) for quite some time and in general I am really happy about it.

I've been wondering from the start though why the board would only get recognised when using the supplied USB-C -> USB-A cable, but not with any USB-C -> USB-C cable. Upon further inspection, I could make it work with a couple of adapters: USB-C (computer) -> USB-C-to-A adapter -> USB-A-to-C adapter -> USB-C cable -> USB-C (board).

After a bit more digging, I managed to find the actual reason:

Screenshot 2024-02-11 at 23 24 54

Both CC pins are not connected, which means that the device can not be recognised as a valid USB-C sink because a connected source can not tell that the device is plugged in at all. The easiest way to make it work would be adding a 5k1 pull-down resistor on each CC pin, which would signal the source to provide 5V at 3A max. Here's an example schematic (source):

image-6-450x312

TL;DR: