USB Basics - Dutton-Christian-Robotics/Learning-to-Code GitHub Wiki
What is it?
USB is an acronym for "Universal Serial Bus"—a technology introduced in 1996 that allows computing devices to connect to and talk to each other. In general, it is the most common standard for personal computers and mobile devices to connect to other devices, such as peripherals.
- Universal: it was designed to work with as many devices as it could. Before USB, there were a number of different types of cables/connections used for things like printers, mice, keyboards, external hard drives, etc. USB was designed to reduce all these redundant products and make it easier for consumers to buy and use what they need.
- Serial: refers to the way information is sent over USB—one small piece of information at a time.
- Bus: a term for a part of a computer/device that sends information and signals from one place to another
Unfortunately, USB has grown to be more than just "one thing." There are three aspects of USB products that are important for knowing what to use when:
- "Gender": USB connectors, like a lot of types of connectors, come in two types. "Plugs" are what most of us think of as the end of a cable. "Receptacles" are the part on a computer or device that the plug goes into. Plugs are often referred to as the "male" component, and receptacles as the "female" component.
- Speed: overtime, the speed of information sent along USB connections has increased. Computers with support for newer USB connections over newer cables can transmit information much faster—including high resolution video.
- Connector: depending on how you count, there are maybe as many as 20 different USB connectors, most of which are very different from the others. Knowing how to connect devices involves knowing which type of connection is involved.
USB Speed
The following terms refer to the "generations" of USB speeds.
- 1.x (1996, 1998): the original and slowest. In addition to not sending information very fast, when used to recharge devices they provide the least amount of power so devices will recharge much slower.
- 2.x (2000): faster, though still not generally fast enough for video. Does allow for faster charging.
- 3.x (2008, 2013, 2017): much faster (e.g. 5x faster or more than 2.x). Supports video.
- 4.x (2019, 2022): while it exists and it's even faster than 3.x, very few computers, devices, or products use USB4. There is no USB4 in FTC.
USB Connectors
In FTC robotics, the USB speed doesn't generally matter. Most connections within the control system that use USB use either 1.x or 2.x
Much more important is the fact that not all USB connectors are the same.
Picture | Name | Description |
---|---|---|
![]() |
Standard-A | what most people who have been around a while recognize as USB. This is the basic rectangular connector that still exists on most devices. It is not reversible—meaning there is a right and a wrong way to plug it in. There are slight variants for this connector depending on speed. This connector supports USB 1.x - 3.2 |
![]() |
Standard-B | This connector is not used in FTC. You see it most often to connect printers to computers. It supports USB 1.x - 3.2, though the faster speeds have slightly different connectors. |
![]() |
Mini-B | You will encounter this connector if you use older parts of the FTC control system. REV Expansion Hubs use a Mini-A connector to connect to USB devices like webcams. There are some variants of this connector, including a similar ones called "Mini-A" and "Mini-AB". These mini connectors only support USB 1.x - 2.0. This connector is often just referred to as "Mini-USB." |
![]() |
Micro-B | Most Android phones use this connector, generally just referred to as "Micro USB." Slight variations called Micro-A and Micro-AB exist. These connectors support only USB 2.0. Larger variations of the connectors called "SuperSpeed" connectors support USB 3.x |
![]() |
Type-C | Also just known as USB-C, this is a more modern connector. Almost all new computers and devices are switching to USB-C. The plug, unlike all other USB connectors, is reversible—meaning there is no "wrong way" to plug it in. While the C connector supports USB 2.x, it is generally used for USB 3.x. It is also the only connector type that supports USB 4. USB-C cables can be a bit confusing, as not all packaging does a good job of labeling what speed it supports. All USB-C cables will help recharge a device, but not all such cables are fast enough to support sending video signals. In the current FTC system, USB-C is used for recharging the REVDriver Station, and is used for uploading code to the REV Control Hub. |
From one to the other
Especially when using older parts of the control system, you may find yourself needing to connect one type of USB to another. You will encounter these:
- USB hubs: many times you will to attach multiple devices together when you only have one available "plug." A USB hub allows you to plug multiple cables into one small box, and then have all those signals go through one "out" cable. When using phones as part of the Driver control system, a USB hub will be needed to connect two game controllers to the phone. Note that most hubs do not change the type of USB connector involved.
- USB adapters: a number of adapters exist that have the plug of one type of USB connector and on the other end, a different connector. When using phones as part of the Driver control system, for example, an adapter will be needed to convert the Standard-A connector of the game controllers to the Micro-B connector of the phone.