In a wearable device we developed recently for a client, we needed three communication interfaces (USB3.2, UART and one GPIO connection). But we were limited to using only one cable to keep the product elegant.
We chose USB-C, to achieve these multiple communication interfaces in parallel in a single cable.
Unlike its predecessors, the USB Type-C connector includes pins that are not required for communication in the USB 3.2 specification.
To get a basic overview of USB Type-C please read our other blog post.
Now, let’s look at how we achieved multiple communications concurrently in our custom hardware design by repurposing the additional pins.
Since our design required only USB 3.2 functionality and no USB 2.0, we repurposed the USB 2.0 D+ and D- data lines to route the UART RX and TX communication signals. Similarly, the SBU1 and SBU2 signals were utilized as low-speed I/O pins, as these sideband signals are typically unnecessary in standard USB communication.
Standard PinoutsRepurposed/Modified Pinouts
By doing so, we eliminated the need for additional connectors, resulting in a more compact and tidier product with fewer cables.
Disclaimer: Before implementing this scenario in your design, ensure that your application does not require USB 2.0 backward compatibility.
Conclusion:
By repurposing specific pins for our custom operations, we achieved simultaneous USB 3.2 communication alongside our custom interfaces (UART and GPIO), through a single USB-C to USB-C cable. This approach simplified the design to require fewer cables and made the product elegant.