Dave Haynie
Dave Haynie, Hardware Systems Engineer (Rajant + Commodore-Amiga + 20 years in startups)

USB has always been defined as a Host/Target bus. That means that one device on the bus is always the one in control, and every other device has to respond to that controlling device.

So to eliminate some of the cabling questions that existed in other external ports — remember, USB was originally invented to replace serial, parallel, keyboard, and mouse ports, all low-speed stuff — they defined the Type-A port as the Host port, the Type-B port as the target port.

There has always only ever been one Type-A port.. sort of. For USB 3.0 and USB 3.1, they snuck an extra 5 signal pins into the existing mechanical connector, ensuring that all USB 2.0 stuff would continue to work, not even knowing it was on a USB 3.x port.

For the B connectors, we’ve been through a whole mess of different connectors. The original Type-B was too large for many things, so the Mini-B was introduced. At around that time, the USB folks started working on the idea of allowing a device to assume either the Host or the Target role, depending on what it was connected to. There was an additional connector for this, the Mini AB connector, and the Mini-A plug that would allow a Mini-AB connector to assume the host role when connected to a Mini-B target, but behave like a Mini-B device when connected via a normal Mini-B connector.

This was ultimately decided to be silly, and those extra connectors and cables were deprecated in favor of the “On-the-Go” protocol. In this, an extra signal was added to the USB connector which would allow a simple, passive negotiation between Host and Target roles. They also moved, under pressure from the mobile industry, to the thinner and more rugged USB Micro-B connector. Most mobile devices with a Micro-B connector can use an “on-the-go” cable to deliver Host mode on a regular Type-A socket, as shown.

The Type-C connector is, of course, the USB folks’ apology for a few decades of minor confusion. Native Type-C devices hook together with a Type-C connector at either end of the cable and work out the Host and Target roles. This, of course, allows cable adapters to be made to force any old Type-A or Type-B connection, if it’s needed to hook up to old gear.

The Type-C connector, finally, is not polarized. You plug it in the first time, not on the third try. It ticks off all requirements: it’s rugged (10,000 plug/unplug cycles, same as Type Micro-B and better than all the others), it’s thin, and it’s flexible. One trick introduced in Micro-B, particularly on phones and tablets, is one alternate mode: MHL. Most phones with the Micro-B connector can deliver video out over the Multimedia High-Definition Link over Micro-B. Cool idea, but limited to just that. So Type-C formally introduced any number of alternate modes, which can re-assign both the four USB 3.1 wires but a second, unused set for other things.

And finally, Type-C allows power supplying to be negotiated. Yes, it supports the Power Delivery specification for those who want to add that to their USB Type-C device. But it also allows, for the first time, negotiation of power supply vs. sink independently of Host vs. Target. For all of USB’s history, the Host device supplied the power, the Target device consumed it — just how it is. When they expanded use of USB, for example as a mobile device docking connector, this didn’t always make sense. So this, too, is fixed in Type-C.