USB
thumb|USB-A 3.1 Gen 1 ports
USB, short for Universal Serial Bus, is an industry standard that was developed to define cables, connectors and protocols for connection, communication, and power supply between personal computers and their peripheral devices. 

USB was designed to standardize the connection of computer peripherals (including keyboards, pointing devices, digital cameras, printers, portable media players, disk drives and network adapters) to personal computers, both to communicate and to supply electric power. It has largely replaced interfaces such as serial ports and parallel ports, and has become commonplace on a wide range of devices. USB connectors have replaced other types for battery chargers of portable devices. 

Released in 1996, the USB standard is currently maintained by the USB Implementers Forum (USB IF).

 Overview 

Objectives 
The Universal Serial Bus was developed to simplify and improve the interface between personal computers and peripheral devices, when compared with previously existing standard or ad-hoc proprietary interfaces. 
 Jan Axelson,  USB Complete: The Developer's Guide, Fifth Edition, Lakeview Research LLC, 2015 ,, pages 1-7

From the computer user's perspective, the USB interface improved ease of use in several ways.  The USB interface is self-configuring, so the user need not adjust settings on the device and interface for speed or data format, or configure interrupts, input/output addresses, or direct memory access channels.  https://www.pcmag.com/encyclopedia/term/44434/how-to-install-a-pc-peripheral How to install a PC peripheral, retrieved 2018 Feb 17   USB connectors are standardized at the host, so any peripheral can use any available socket. USB takes full advantage of the additional processing power that can be economically put into peripheral devices so that they can manage themselves; USB devices often do not have user-adjustable interface settings.  The USB interface is "hot pluggable", meaning devices can be exchanged without rebooting the host computer. Small devices can be powered directly from the USB interface, displacing extra power supply cables. Because use of the USB logos is only permitted after compliance testing, the user can have confidence that a USB device will work as expected without extensive interaction with settings and configuration; the USB interface defines protocols for recovery from common errors, improving reliability over previous interfaces.  Installation of a device relying on the USB standard requires minimal operator action. When a device is plugged into a port on a running personal computer system, it is either entirely automatically configured using existing device drivers, or the system prompts the user to locate a driver which is then installed and configured automatically. 

For hardware manufacturers and software developers, the USB standard eliminates the requirement to develop proprietary interfaces to new peripherals. The wide range of transfer speeds available from a USB interface suits devices ranging from keyboards and mice up to streaming video interfaces. A USB interface can be designed to provide the best available latency for time-critical functions, or can be set up to do background transfers of bulk data with little impact on system resources. The USB interface is generalized with no signal lines dedicated to only one function of one device. 

Limitations
USB cables are limited in length, as the standard was meant to connect to peripherals on the same table-top, not between rooms or between buildings. However, a USB port can be connected to a gateway that accesses distant devices. USB has a strict "tree" topology and "master-slave" protocol for addressing peripheral devices; peripheral devices cannot interact with one another except via the host, and two hosts cannot communicate over their USB ports directly. Some extension to this limitation is possible through "USB On The Go". A host cannot "broadcast" signals to all peripherals at once, each must be addressed individually. Some very high speed peripheral devices require sustained speeds not available in the USB standard.  While converters exist between certain "legacy" interfaces and USB, they may not provide full implementation of the legacy hardware; for example, a USB to parallel port converter may work well with a printer, but not with a scanner that requires bi-directional use of the data pins.  

For a product developer, use of USB requires implementation of a complex protocol and implies an "intelligent" controller in the peripheral device. Developers of USB devices intended for public sale generally must obtain a USB ID which requires a fee paid to the Implementers' Forum. Developers of products that use the USB specification must sign an agreement with Implementer's Forum. Use of the USB logos on the product require annual fees and membership in the organization. 

 History 
thumb|left|alt=Large circle is left end of horizontal line. The line forks into three branches ending in circle, triangle and square symbols.|The basic USB trident logo.
thumbnail|USB logo on the head of a standard A plug
A group of seven companies began the development of USB in 1994: Compaq, DEC, IBM, Intel, Microsoft, NEC, and Nortel. The goal was to make it fundamentally easier to connect external devices to PCs by replacing the multitude of connectors at the back of PCs, addressing the usability issues of existing interfaces, and simplifying software configuration of all devices connected to USB, as well as permitting greater data rates for external devices. A team including Ajay Bhatt worked on the standard at Intel; the first integrated circuits supporting USB were produced by Intel in 1995.

The original USB 1.0 specification, which was introduced in January 1996, defined data transfer rates of 1.5 Mbit/s Low Speed and 12 Mbit/s Full Speed. Microsoft Windows 95, OSR 2.1 provided OEM support for the devices. The first widely used version of USB was 1.1, which was released in September 1998. The 12 Mbit/s data rate was intended for higher-speed devices such as disk drives, and the lower 1.5 Mbit/s rate for low data rate devices such as joysticks. Apple Inc.'s iMac was the first mainstream product with USB and the iMac's success popularized USB itself. Following Apple's design decision to remove all legacy ports from the iMac, many PC manufacturers began building legacy-free PCs, which led to the broader PC market using USB as a standard.

The USB 2.0 specification was released in April 2000 and was ratified by the USB Implementers Forum (USB-IF) at the end of 2001. Hewlett-Packard, Intel, Lucent Technologies (now Nokia), NEC, and Philips jointly led the initiative to develop a higher data transfer rate, with the resulting specification achieving 480 Mbit/s, 40 times as fast as the original USB 1.1 specification.

The USB 3.0 specification was published on 12 November 2008. Its main goals were to increase the data transfer rate (up to 5 Gbit/s), decrease power consumption, increase power output, and be backward compatible with USB 2.0. USB 3.0 includes a new, higher speed bus called SuperSpeed in parallel with the USB 2.0 bus. For this reason, the new version is also called SuperSpeed. The first USB 3.0 equipped devices were presented in January 2010.

, approximately 6 billion USB ports and interfaces were in the global marketplace, and about 2 billion were being sold each year.

The USB 3.1 specification was published in July 2013.

In December 2014, USB-IF submitted USB 3.1, USB Power Delivery 2.0 and USB Type-C specifications to the IEC (TC 100 – Audio, video and multimedia systems and equipment) for inclusion in the international standard IEC 62680 Universal Serial Bus interfaces for data and power, which is currently based on USB 2.0.

The USB 3.2 specification was published in September 2017.

Version history 
Release versions
 Release name Release date Maximum transfer rate Note USB 0.8  December 1994 Prerelease USB 0.9  April 1995 Prerelease USB 0.99  August 1995 Prerelease USB 1.0-RC  November 1995 Release Candidate USB 1.0  January 1996 Full Speed (12 Mbit/s) USB 1.1  August 1998 Full Speed (12 Mbit/s) USB 2.0  April 2000 High Speed (480 Mbit/s) USB 3.0  November 2008 SuperSpeed (5 Gbit/s) Also referred to as USB 3.1 Gen 1 and USB 3.2 Gen 1x1  USB 3.1  July 2013 SuperSpeed+ (10 Gbit/s) Also referred to as USB 3.1 Gen 2  and USB 3.2 Gen 2x1  USB 3.2  September 2017 SuperSpeed+ (20 Gbit/s)  Includes new USB 3.2 Gen 1x2 and USB 3.2 Gen 2x2 multi-link modes  

Power releated specifcations
 Release name Release date Max. power Note USB Battery Charging 1.0 2007-03-08 5 V, 1.5 A USB Battery Charging 1.1 2009-04-15 USB Battery Charging 1.2 2010-12-07 5 V, 5 A USB Power Delivery revision 1.0 (version 1.0) 2012-07-05 20 V, 5 A Using FSK protocol over bus power (V) USB Power Delivery revision 1.0 (version 1.3) 2014-03-11   USB Type-C 1.0 2014-08-11 5 V, 3 A New connector and cable specification USB Power Delivery revision 2.0 (version 1.0) 2014-08-11 20 V, 5 A Using BMC protocol over communication channel (CC) on type-C cables. USB Type-C 1.1 2015-04-03 5 V, 3 A USB Power Delivery revision 2.0 (version 1.1) 2015-05-07 20 V, 5 A USB Power Delivery revision 2.0 (version 1.2) 2016-03-25 20 V, 5 A USB Power Delivery revision 3.0 (version 1.1) 2017-01-12 20 V, 5 A

 USB 1.x 
Released in January 1996, USB 1.0 specified data rates of 1.5 Mbit/s (Low Bandwidth or Low Speed) and 12 Mbit/s (Full Speed). It did not allow for extension cables or pass-through monitors, due to timing and power limitations. Few USB devices made it to the market until USB 1.1 was released in August 1998. USB 1.1 was the earliest revision that was widely adopted and led to what Microsoft designated the "Legacy-free PC".

Neither USB 1.0 nor 1.1 specified a design for any connector smaller than the standard type A or type B. Though many designs for a miniaturised type B connector appeared on many peripherals, conformance to the USB 1.x standard was fudged by treating peripherals that had miniature connectors as though they had a tethered connection (that is: no plug or socket at the peripheral end). There was no known miniature type A connector until USB 2.0 (rev 1.01) introduced one.

 USB 2.0 
thumb|The Hi-Speed USB logo
thumb|A USB 2.0 PCI expansion card 

USB 2.0 was released in April 2000, adding a higher maximum signaling rate of 480 Mbit/s (High Speed or High Bandwidth), in addition to the USB 1.x Full Speed signaling rate of 12 Mbit/s. Due to bus access constraints, the effective throughput of the High Speed signaling rate is limited to 280 Mbit/s or 35 MB/s.

Further modifications to the USB specification have been made via Engineering Change Notices (ECN). The most important of these ECNs are included into the USB 2.0 specification package available from USB.org:

 Mini-A and Mini-B Connector ECN: Released in October 2000.
 Specifications for Mini-A and Mini-B plug and receptacle. Also receptacle that accepts both plugs for On-The-Go. These should not be confused with Micro-B plug and receptacle.
 Pull-up/Pull-down Resistors ECN: Released in May 2002.
 Interface Associations ECN: Released in May 2003.
 New standard descriptor was added that allows associating multiple interfaces with a single device function.
 Rounded Chamfer ECN: Released in October 2003.
 A recommended, backward compatible change to Mini-B plugs that results in longer lasting connectors.
 Unicode ECN: Released in February 2005.
 This ECN specifies that strings are encoded using UTF-16LE. USB 2.0 specified Unicode, but did not specify the encoding.
 Inter-Chip USB Supplement: Released in March 2006.
 On-The-Go Supplement 1.3: Released in December 2006.
 USB On-The-Go makes it possible for two USB devices to communicate with each other without requiring a separate USB host. In practice, one of the USB devices acts as a host for the other device.
 Battery Charging Specification 1.1: Released in March 2007 and updated on 15 April 2009.
 Adds support for dedicated chargers (power supplies with USB connectors), host chargers (USB hosts that can act as chargers) and the No Dead Battery provision, which allows devices to temporarily draw 100 mA current after they have been attached. If a USB device is connected to a dedicated charger, maximum current drawn by the device may be as high as 1.8 A. (This document is distributed with the USB 3.0 and USB On-The-Go. specification packages)
 Micro-USB Cables and Connectors Specification 1.01: Released in April 2007.
 Link Power Management Addendum ECN: Released in July 2007.
 This adds sleep, a new power state between enabled and suspended states. Device in this state is not required to reduce its power consumption. However, switching between enabled and sleep states is much faster than switching between enabled and suspended states, which allows devices to sleep while idle.
 Battery Charging Specification 1.2: Released in December 2010.
 Several changes and increasing limits including allowing 1.5 A on charging ports for unconfigured devices, allowing High Speed communication while having a current up to 1.5 A and allowing a maximum current of 5 A.

 USB 3.X 

thumb|The SuperSpeed USB logo

The USB 3.0 specification was released on 12 November 2008, with its management transferring from USB 3.0 Promoter Group to the USB Implementers Forum (USB-IF), and announced on 17 November 2008 at the SuperSpeed USB Developers Conference.

USB 3.0 adds a SuperSpeed transfer mode, with associated backward compatible plugs, receptacles, and cables. SuperSpeed plugs and receptacles are identified with a distinct logo and blue inserts in standard format receptacles.

The SuperSpeed mode provides a data signaling rate of 5.0 Gbit/s. However, due to the overhead incurred by 8b/10b encoding, the payload throughput is actually 4 Gbit/s, and the specification considers it reasonable to achieve about 3.2 Gbit/s (0.4 GB/s or 400 MB/s). Communication is full-duplex in SuperSpeed transfer mode; earlier modes are half-duplex, arbitrated by the host.

Low-power and high-power devices remain operational with this standard, but devices using SuperSpeed can take advantage of increased available current of between 150 mA and 900 mA, respectively.

 System design 
A USB system consists of a host with one or more downstream ports, and multiple peripherals, forming a tiered-star topology. Additional USB hubs may be included, allowing up to five tiers. A USB host may have multiple controllers, each with one or more ports. Up to 127 devices may be connected to a single host controller.08-Sep-2012 USB devices are linked in series through hubs. The hub built into the host controller is the root hub.

A USB device may consist of several logical sub-devices that are referred to as device functions. A composite device may provide several functions, for example, a webcam (video device function) with a built-in microphone (audio device function).  An alternative to this is compound device, in which the host assigns each logical device a distinctive address and all logical devices connect to a built-in hub that connects to the physical USB cable.

thumb|alt=Diagram: inside a device are several endpoints, each of which is connected by a logical pipes to a host controller. Data in each pipe flows in one direction, although there are a mixture going to and from the host controller.|USB endpoints reside on the connected device: the channels to the host are referred to as pipes

USB device communication is based on pipes (logical channels). A pipe is a connection from the host controller to a logical entity, found on a device, and named an endpoint. Because pipes correspond to endpoints, the terms are sometimes used interchangeably. A USB device could have up to 32 endpoints (16 IN, 16 OUT), though it is rare to have so many. An endpoint is defined and numbered by the device during initialization (the period after physical connection called "enumeration") and so is relatively permanent, whereas a pipe may be opened and closed.

There are two types of pipe: stream and message. A message pipe is bi-directional and is used for control transfers. Message pipes are typically used for short, simple commands to the device, and a status response, used, for example, by the bus control pipe number 0. A stream pipe is a uni-directional pipe connected to a uni-directional endpoint that transfers data using an isochronous, interrupt, or bulk transfer:
Isochronous transfers At some guaranteed data rate (often, but not necessarily, as fast as possible) but with possible data loss (e.g., realtime audio or video)
Interrupt transfers Devices that need guaranteed quick responses (bounded latency) such as pointing devices, mice, and keyboards
Bulk transfers Large sporadic transfers using all remaining available bandwidth, but with no guarantees on bandwidth or latency (e.g., file transfers)

When a  host starts a data transfer, it sends a TOKEN packet containing an endpoint specified with  a tuple of (device_address, endpoint_number).  If the transfer is from the host to the endpoint, the host sends an OUT packet (a specialization of a TOKEN packet) with the desired device address and endpoint number. If the data transfer is from the device to the host, the host sends an IN packet instead. If the destination endpoint is a uni-directional endpoint whose manufacturer's designated direction does not match the TOKEN packet (e.g. the manufacturer's designated direction is IN while the TOKEN packet is an OUT packet), the TOKEN packet is ignored. Otherwise, it is accepted and the data transaction can start. A bi-directional endpoint, on the other hand, accepts both IN and OUT packets.

thumb|alt=Rectangular opening where the width is twice the height. The opening has a metal rim, and within the opening a flat rectangular bar runs parallel to the top side.|Two USB 3.0 standard A sockets (left) and two USB 2.0 sockets (right) on a computer's front panel

Endpoints are grouped into interfaces and each interface is associated with a single device function. An exception to this is endpoint zero, which is used for device configuration and is not associated with any interface. A single device function composed of independently controlled interfaces is called a composite device. A composite device only has a single device address because the host only assigns a device address to a function.

When a USB device is first connected to a USB host, the USB device enumeration process is started. The enumeration starts by sending a reset signal to the USB device. The data rate of the USB device is determined during the reset signaling. After reset, the USB device's information is read by the host and the device is assigned a unique 7-bit address. If the device is supported by the host, the device drivers needed for communicating with the device are loaded and the device is set to a configured state. If the USB host is restarted, the enumeration process is repeated for all connected devices.

The host controller directs traffic flow to devices, so no USB device can transfer any data on the bus without an explicit request from the host controller. In USB 2.0, the host controller polls the bus for traffic, usually in a round-robin fashion. The throughput of each USB port is determined by the slower speed of either the USB port or the USB device connected to the port.

High-speed USB 2.0 hubs contain devices called transaction translators that convert between high-speed USB 2.0 buses and full and low speed buses. There may be one translator per hub or per port. 

Because there are two separate controllers in each USB 3.0 host, USB 3.0 devices transmit and receive at USB 3.0 data rates regardless of USB 2.0 or earlier devices connected to that host. Operating data rates for earlier devices are set in the legacy manner.

 Device classes 
The functionality of a USB device is defined by a class code sent to a USB host. This allows the host to load software modules for the device and to support new devices from different manufacturers.

Device classes include:.

 Class Usage Description Examples, or exception 00h Device UnspecifiedUse class information in the interface descriptors. This base class is defined to use in device descriptors to indicate that class information should be determined from the Interface Descriptors in the device. Device class is unspecified, interface descriptors are used to determine needed drivers 01h Interface Audio Speaker, microphone, sound card, MIDI 02h Both Communications and CDC Control Modem, Ethernet adapter, Wi-Fi adapter, RS232 serial adapter. Used together with class 0Ah (below) 03h Interface Human interface device (HID) Keyboard, mouse, joystick 05h Interface Physical Interface Device (PID) Force feedback joystick 06h Interface Image (PTP/MTP) Webcam, scanner 07h Interface Printer Laser printer, inkjet printer, CNC machine 08h Interface Mass storage (MSC or UMS) USB flash drive, memory card reader, digital audio player, digital camera, external drive 09h Device USB hub Full bandwidth hub 0Ah Interface CDC-Data Used together with class 02h (above) 0Bh Interface Smart Card USB smart card reader 0Dh Interface Content security Fingerprint reader 0Eh Interface Video Webcam 0Fh Interface Personal healthcare device class (PHDC) Pulse monitor (watch) 10h Interface Audio/Video (AV) Webcam, TV 11h Device Billboard Describes USB Type-C alternate modes supported by device DCh Both Diagnostic Device USB compliance testing device E0h Interface Wireless Controller Bluetooth adapter, Microsoft RNDIS EFh Both Miscellaneous ActiveSync device FEh Interface Application-specific IrDA Bridge, Test & Measurement Class (USBTMC), USB DFU (Device Firmware Upgrade) FFh Both Vendor-specific Indicates that a device needs vendor-specific drivers

 USB mass storage / USB drive 
thumb|right|A flash drive, a typical USB mass-storage device
thumb|right|Circuit board from a USB 3.0 external 2.5-inch SATA HDD enclosure

USB mass storage device class (MSC or UMS) standardizes connections to storage devices. At first intended for magnetic and optical drives, it has been extended to support flash drives. It has also been extended to support a wide variety of novel devices as many systems can be controlled with the familiar metaphor of file manipulation within directories. The process of making a novel device look like a familiar device is also known as extension. The ability to boot a write-locked SD card with a USB adapter is particularly advantageous for maintaining the integrity and non-corruptible, pristine state of the booting medium.

Though most personal computers since mid-2004 can boot from USB mass storage devices, USB is not intended as a primary bus for a computer's internal storage. . However, USB has the advantage of allowing hot-swapping, making it useful for mobile peripherals, including drives of various kinds. 

First conceived and still used today for optical storage devices (CD-RW drives, DVD drives, etc.), several manufacturers offer external portable USB hard disk drives, or empty enclosures for disk drives. These offer performance comparable to internal drives, limited by the current number and types of attached USB devices, and by the upper limit of the USB interface. Other competing standards for external drive connectivity include eSATA, ExpressCard, FireWire (IEEE 1394), and most recently Thunderbolt.

Another use for USB mass storage devices is the portable execution of software applications (such as web browsers and VoIP clients) with no need to install them on the host computer.

 Media Transfer Protocol 

Media Transfer Protocol (MTP) was designed by Microsoft to give higher-level access to a device's filesystem than USB mass storage, at the level of files rather than disk blocks. It also has optional DRM features. MTP was designed for use with portable media players, but it has since been adopted as the primary storage access protocol of the Android operating system from the version 4.1 Jelly Bean as well as Windows Phone 8 (Windows Phone 7 devices had used the Zune protocol—an evolution of MTP). The primary reason for this is that MTP does not require exclusive access to the storage device the way UMS does, alleviating potential problems should an Android program request the storage while it is attached to a computer. The main drawback is that MTP is not as well supported outside of Windows operating systems.

 Human interface devices 

Joysticks, keypads, tablets and other human-interface devices (HIDs) are also progressively migrating from MIDI, and PC game port connectors to USB.

USB mice and keyboards can usually be used with older computers that have PS/2 connectors with the aid of a small USB-to-PS/2 adapter. For mice and keyboards with dual-protocol support, an adaptor that contains no logic circuitry may be used: the hardware in the USB keyboard or mouse is designed to detect whether it is connected to a USB or PS/2 port, and communicate using the appropriate protocol. Converters also exist that connect PS/2 keyboards and mice (usually one of each) to a USB port. These devices present two HID endpoints to the system and use a microcontroller to perform bidirectional data translation between the two standards.

 Device Firmware Upgrade 
Device Firmware Upgrade (DFU) is a vendor- and device-independent mechanism for upgrading the firmware of USB devices with improved versions provided by their manufacturers, offering (for example) a way to deploy firmware bug fixes. During the firmware upgrade operation, USB devices change their operating mode effectively becoming a PROM programmer. Any class of USB device can implement this capability by following the official DFU specifications.

In addition to its intended legitimate purposes, DFU can also be exploited by uploading maliciously crafted firmware that causes USB devices to spoof various other device types; one such exploiting approach is known as BadUSB.

 Connectors 

The three sizes of USB connectors are the default or standard format intended for desktop or portable equipment, the mini intended for mobile equipment , and the thinner micro size, for low-profile mobile equipment such as mobile phones and tablets. There are five speeds for USB data transfer: Low Speed, Full Speed, High Speed (from version 2.0 of the specification), SuperSpeed (from version 3.0), and SuperSpeed+ (from version 3.1). The modes have differing hardware and cabling requirements. USB devices have some choice of implemented modes, and USB version is not a reliable statement of implemented modes. Modes are identified by their names and icons, and the specifications suggests that plugs and receptacles be colour-coded (SuperSpeed is identified by blue).

Unlike other data buses (such as Ethernet), USB connections are directed; a  host device has "downstream" facing ports that connect to the "upstream" ports of devices. Only downstream facing ports provide power; this topology was chosen to easily prevent electrical overloads and damaged equipment. Thus, USB cables have different ends: A and B, with different physical connectors for each. Each format has a plug and receptacle defined for each of the A and B ends. USB cables have plugs, and the corresponding receptacles are on the computers or electronic devices. In common practice, the A end is usually the standard format, and the B side varies over standard, mini, and micro. The mini and micro formats also provide for USB On-The-Go with a hermaphroditic AB receptacle, which accepts either an A or a B plug. On-The-Go allows USB between peers without discarding the directed topology by choosing the host at connection time; it also allows one receptacle to perform double duty in space-constrained applications.

 Connector properties 
thumb|Type-A plug and, as part of a non-standard cable, receptacle
The connectors the USB committee specifies support a number of USB's underlying goals, and reflect lessons learned from the many connectors the computer industry has used. The female connector mounted on the host or device is called the receptacle, and the male connector attached to the cable is called the plug. T

thumb|upright|USB extension cable
By design, it is difficult to insert a USB plug into its receptacle incorrectly. The USB specification requires that the cable plug  and receptacle be marked so the user can recognize the proper orientation.   The type-C plug is  reversible.  USB cables and small USB devices are held in place by the gripping force from the receptacle, with no screws, clips, or thumb-turns as other connectors use. 

The different A and B plugs prevent accidentally connecting two power sources. However, some of this directed topology is lost with the advent of multi-purpose USB connections (such as USB On-The-Go in smartphones, and USB-powered Wi-Fi routers), which require A-to-A, B-to-B, and sometimes Y/splitter cables. See the USB On-The-Go connectors section below for a more detailed summary description. 
There are cables with A plugs on both ends, which may be valid if the cable includes, for example, a USB host-to-host transfer device with 2 ports.

 Durability 
The standard connectors were designed to be more robust than many past connectors. This is because USB is hot-pluggable, and the connectors would be used more frequently, and perhaps with less care, than previous connectors.

Standard USB has a minimum rated lifetime of 1,500 cycles of insertion and removal, the mini-USB receptacle increases this to 5,000 cycles, and the newer Micro-USB and USB-C receptacles are both designed for a minimum rated lifetime of 10,000 cycles of insertion and removal. To accomplish this, a locking device was added and the leaf-spring was moved from the jack to the plug, so that the most-stressed part is on the cable side of the connection. This change was made so that the connector on the less expensive cable would bear the most wear.

In standard USB, the electrical contacts in a USB connector are protected by an adjacent plastic tongue, and the entire connecting assembly is usually protected by an enclosing metal shell.

The  shell on the plug makes contact with the receptacle before any of the internal pins. The shell is typically grounded, to dissipate static electricity and to shield the wires within the connector. 

The micro format has the highest designed insertion lifetime. The standard and mini connectors have a design lifetime of 1,500 insertion-removal cycles, the improved Mini-B connectors increased this to 5,000. The micro connectors were designed with frequent charging of portable devices in mind, so have a design life of 10,000 cycles and also place the flexible contacts, which wear out sooner, on the easily replaced cable, while the more durable rigid contacts are located in the receptacles. Likewise, the springy component of the retention mechanism, parts that provide required gripping force, were also moved into plugs on the cable side.

 Compatibility 
The USB standard specifies tolerances for compliant USB connectors to minimize physical incompatibilities in connectors from different vendors. The USB specification also defines limits to the size of a connecting device in the area around its plug, so that adjacent ports are not blocked. Compliant devices must either fit within the size restrictions or support a compliant extension cable that does.

 Connector types 
thumb|400px|Various USB connectors along a centimeter ruler for scale (1 cm is ). From left to right: 

USB connector types multiplied as the specification progressed. The original USB specification detailed standard-A and standard-B plugs and receptacles.The connectors were different so that users could not connect one computer receptacle to another. The data pins in the standard plugs are recessed compared to the power pins,so that the device can power up before establishing a data connection. Some devices operate in different modes depending on whether the data connection is made.  Charging docks supply power and do not include a host device or data pins, allowing any capable USB device to charge or operate from a standard USB cable. Charging cables provide power connections, but not data. In a charge-only cable, the data wires are shorted at the device end, otherwise the device may reject the charger as unsuitable.

 Standard connectors 
thumb|Pin configuration of the type-A and type-B USB connectors, viewed from the mating (male) end of plugs

The type-A plug has an elongated rectangular cross-section, inserts into a type-A receptacle on a downstream port on a USB host or hub, and carries both power and data. Captive cables on USB devices, such as keyboards or mice, terminate with a type-A plug.

The type-B plug has a near square cross-section with the top exterior corners beveled. As part of a removable cable, it inserts into an upstream port on a device, such as a printer. On some devices, the type-B receptacle has no data connections, being used solely for accepting power from the upstream device. This two-connector-type scheme (A/B) prevents a user from accidentally creating a loop.

The maximum allowed cross-section of the overmold boot (which is part of the connector used for its handling) is  for the standard-A plug type, while for the type-B it is .

 Mini connectors 
thumb|Mini-A (left) and Mini-B (right) plugs

Mini-USB connectors were introduced together with USB 2.0 in April 2000, for use with smaller devices such as digital cameras, smartphones, and tablet computers.  The Mini-A connector and the Mini-AB receptacle connector have been deprecated  since May 2007. Mini-B connectors are still supported, but are not On-The-Go-compliant; the Mini-B USB connector was standard for transferring data to and from the early smartphones and PDAs. Both Mini-A and Mini-B plugs are approximately .

 Micro connectors 

Micro-USB connectors, which were announced by the USB-IF on 4 January 2007, have a similar width to Mini-USB, but approximately half the thickness, enabling their integration into thinner portable devices. The Micro-A connector is  with a maximum overmold boot size of , while the Micro-B connector is  with a maximum overmold size of .

The thinner Micro-USB connectors were introduced to replace the Mini connectors in devices manufactured since May 2007, including smartphones, personal digital assistants, and cameras. 

The Micro plug design is rated for at least 10,000 connect-disconnect cycles, which is more than the Mini plug design. The Micro connector is also designed to reduce the mechanical wear on the device; instead the easier-to-replace cable is designed to bear the mechanical wear of connection and disconnection. The Universal Serial Bus Micro-USB Cables and Connectors Specification details the mechanical characteristics of Micro-A plugs, Micro-AB receptacles (which accept both Micro-A and Micro-B plugs),Double-Sided Micro USB, and Micro-B plugs and receptacles, along with a standard-A receptacle to Micro-A plug adapter.

OMTP standard
Micro-USB was endorsed as the standard connector for data and power on mobile devices by the cellular phone carrier group Open Mobile Terminal Platform (OMTP) in 2007.

Micro-USB was embraced as the "Universal Charging Solution" by the International Telecommunication Union (ITU) in October 2009.

In Europe, micro-USB became the defined common external power supply (EPS) for use with smartphones sold in the EU, 14 of the world's largest mobile phone manufacturers signed the EU's common EPS Memorandum of Understanding (MoU). Apple, one of the original MoU signers, makes Micro-USB adapters available – as permitted in the Common EPS MoU – for its iPhones equipped with Apple's proprietary 30-pin dock connector or (later) Lightning connector. according to the CEN, CENELEC, and ETSI.

 USB 3.0 connectors and backward compatibility 
thumb|right|USB 3.0 Micro-B SuperSpeed plug

USB 3.0 introduced Type-A SuperSpeed plugs and receptacles as well as micro-sized Type-B SuperSpeed plugs and receptacles. The 3.0 receptacles are backward-compatible with the corresponding pre-3.0 plugs.

USB 3.0 and USB 1.0 Type-A plugs and receptacles are designed to interoperate. To achieve USB 3.0's SuperSpeed (and SuperSpeed+ for USB 3.1 Gen 2), 5 extra pins are added to the unused area of the original 4 pin USB 1.0 design, making USB 3.0 Type-A plugs and receptacles backward compatible to those of USB 1.0.

On the device side, a modified Micro-B plug (Micro-B SuperSpeed) is used to cater for the five additional pins required to achieve the USB 3.0 features (USB Type-C plug can also be used). The USB 3.0 Micro-B plug effectively consists of a standard USB 2.0 Micro-B cable plug, with an additional 5 pins plug "stacked" to the side of it. In this way, cables with smaller 5 pin USB 2.0 Micro-B plugs can be plugged into devices with 10 contact USB 3.0 Micro-B receptacles and achieve backward compatibility.

USB cables exist with various combinations of plugs on each end of the cable, as displayed below in the USB cables matrix.
alt=USB 3.0 B type plug|thumb|USB 3.0 B type plug

 USB On-The-Go connectors 

USB On-The-Go (OTG) introduces the concept of a device performing both master and slave roles. All current OTG devices are required to have one, and only one, USB connector: a Micro-AB receptacle. (In the past, before the development of Micro-USB, On-The-Go devices used Mini-AB receptacles).

The Micro-AB receptacle is capable of accepting both Micro-A and Micro-B plugs, attached to any of the legal cables and adapters as defined in revision 1.01 of the Micro-USB specification.

To enable Type-AB receptacles to distinguish which end of a cable is plugged in, plugs have an "ID" pin in addition to the four contacts in standard-size USB connectors. This ID pin is connected to GND in Type-A plugs, and left unconnected in Type-B plugs. Typically, a pull-up resistor in the device is used to detect the presence or absence of an ID connection.

The OTG device with the A-plug inserted is called the A-device and is responsible for powering the USB interface when required, and by default assumes the role of host. The OTG device with the B-plug inserted is called the B-device and by default assumes the role of peripheral. An OTG device with no plug inserted defaults to acting as a B-device. If an application on the B-device requires the role of host, then the Host Negotiation Protocol (HNP) is used to temporarily transfer the host role to the B-device.

OTG devices attached either to a peripheral-only B-device or a standard/embedded host have their role fixed by the cable, since in these scenarios it is only possible to attach the cable one way.

 USB-C 

thumb|The USB-C plug
thumbnail|USB cable with a USB-C plug and a USB-C port on an Apple MacBook 

Developed at roughly the same time as the USB 3.1 specification, but distinct from it, the USB Type-C Specification 1.0 was finalized in August 2014 and defines a new small reversible-plug connector for USB devices. The Type-C plug connects to both hosts and devices, replacing various Type-A and Type-B connectors and cables with a standard meant to be future-proof.

The 24-pin double-sided connector provides four power-ground pairs, two differential pairs for USB 2.0 data bus (though only one pair is implemented in a Type-C cable), four pairs for SuperSpeed data bus (only two pairs are used in USB 3.1 mode), two "sideband use" pins, VCONN +5 V power for active cables, and a configuration pin for cable orientation detection and dedicated biphase mark code (BMC) configuration data channel. Type-A and Type-B adaptors and cables are required for older devices to plug into Type-C hosts. Adapters and cables with a Type-C receptacle are not allowed.Universal Serial Bus Type-C Cable and Connector Specification Revision 1.1 (April 3, 2015), section 2.2, page 20

Full-featured USB 3.1 Type-C cables are electronically marked cables that contain a full set of wires and a chip with an ID function based on the configuration data channel and vendor-defined messages (VDMs) from the USB Power Delivery 2.0 specification. USB Type-C devices also support power currents of 1.5 A and 3.0 A over the 5 V power bus in addition to baseline 900 mA; devices can either negotiate increased USB current through the configuration line or they can support the full Power Delivery specification using both BMC-coded configuration line and legacy BFSK-coded VBUS line.

Alternate Mode dedicates some of the physical wires in the USB-C cable for direct device-to-host transmission of alternate data protocols. The four high-speed lanes, two sideband pins, andfor dock, detachable device and permanent cable applications onlytwo USB 2.0 pins and one configuration pin can be used for Alternate Mode transmission. The modes are configured using VDMs through the configuration channel.

 Host and device interface receptacles 
USB plugs fit one receptacle with notable exceptions for USB On-The-Go "AB" support and the general backward compatibility of USB 3.0 as shown.

+ USB connectors mating table (images not to scale)  Receptacle Plug 75px 75px x70px 65px 75px 75px 75px x50px 120px 75px 75px           x40pxType-A SuperSpeed           x60px           x40pxType-B SuperSpeed           60px           60px           60px           60px           60px           x60pxMicro-B SuperSpeed           x60px          

+ USB cables table Plugs, each end x55px x60px x60px x70px x60px x60px 110pxMicro-B SuperSpeed 75px x55px         x60px         x60px         x70px         x60px         x60px         110pxMicro-B SuperSpeed         75px        

 Non-standardExisting for specific proprietary purposes, and in most cases not inter-operable with USB-IF compliant equipment. In addition to the above cable assemblies comprising two plugs, an "adapter" cable with a Micro-A plug and a standard-A receptacle is compliant with USB specifications. Other combinations of connectors are not compliant.There do exist A-to-A assemblies, referred to as cables (such as the Easy Transfer Cable); however, these have a pair of USB devices in the middle, making them more than just cables.
 Deprecated Some older devices and cables with Mini-A connectors have been certified by USB-IF. The Mini-A connector is obsolete: no new Mini-A connectors and neither Mini-A nor Mini-AB receptacles will be certified.Note: Mini-B is not deprecated, but less and less used since the arrival of Micro-B.

 Pinouts 

USB 2.0 uses two wires for power (VBUS and GND), and two for differential serial data signals.  Mini and micro connectors have their GND connections moved from pin #4 to pin #5, while their pin #4 serves as an ID pin for the On-The-Go host/client identification.

USB 3.0 provides two additional differential pairs (four wires, SSTx+, SSTx−, SSRx+ and SSRx−), providing full-duplex data transfers at SuperSpeed, which makes it similar to Serial ATA or single-lane PCI Express.

thumb|left|Standard, Mini-, and Micro-USB plugs (not to scale). White areas are empty. The receptacles are pictured with USB logo to the top, looking into the open end; note this means the pin order is mirrored from plug to socket.
thumb|Micro-B SuperSpeed plug

+ Type-A and -B pinout Pin Name Wire color Description 1 VBUS Red or Orange +5 V 2 D− White or Gold Data− 3 D+ Green Data+ 4 GND Black or Blue Ground

+ Mini/Micro-A and -B pinout Pin Name Wire color Description 1 VBUS Red +5 V 2 D− White Data− 3 D+ Green Data+ 4 ID  On-The-Go ID distinguishes cable ends:
 "A" plug (host): connected to GND
 "B" plug (device): not connected 5 GND Black Signal ground

 Proprietary connectors and formats 
Manufacturers of personal electronic devices might not include a USB standard connector on their product for technical or marketing reasons. Some manufacturers provide proprietary cables that permit their devices to physically connect to a USB standard port. Full functionality of proprietary ports and cables with USB standard ports is not assured; for example, some devices only use the USB connection for battery charging and do not implement any data transfer functions.

Some manufacturers now offer USB magnetic port adapters; as of 2018 all product are proprietary incompatible designs. Magnetic connectors were developed mainly for mobile phones devices having Micro B, type-C or Apple's Lightning ports. They offer ease of operation and are also intended to protect the mobile device's connector from deteriorating under the mechanical action of connecting and disconnecting. 

 Colors 
thumb|An orange charge-only USB port on a front panel USB 3.0 switch with card reader.
thumb|A blue Standard-A USB connector on a Sagemcom F@ST 3864OP ADSL modem router without USB 3.0 contacts fitted.

+ Usual USB color-coding Color Location Description Black or white Ports & plugs Type-A or type-B Blue (Pantone 300C) Ports & plugs Type-A or type-B, SuperSpeed Teal blue Ports & plugs Type-A or type-B, SuperSpeed+ Green Ports & plugs Type-A or type-B, Qualcomm Quick ChargeQualcomm Certified Nekteck Quick Charge 2.0 54W 4 Ports USB Rapid Turbo Car Charger https://www.amazon.com/Qualcomm-Certified-Nekteck-Charger-included/dp/B016HQ24IQ/ref=cm_cr_arp_d_product_top?ie=UTF8 Retrieved 19 July 2017 Yellow, orange or red Ports only High-current or sleep-and-charge

USB ports and connectors are often color-coded to distinguish their different functions and USB versions. These colors are not part of the USB specification and can vary between manufacturers; for example, USB 3.0 specification mandates appropriate color-coding while it only recommends blue inserts for standard-A USB 3.0 connectors and plugs.

 Cabling 
thumb|A USB twisted pair, where the Data+ and Data− conductors are twisted together in a double helix. The wires are enclosed in a further layer of shielding.
The D± signals used by low, full, and high speed are carried over a twisted pair (typically, unshielded) to reduce noise and crosstalk. SuperSpeed uses separate transmit and receive differential pairs, which additionally require shielding (typically, shielded twisted pair but twinax is also mentioned by the specification). Thus, to support SuperSpeed data transmission, cables contain twice as many wires and are thus larger in diameter.

The USB 1.1 standard specifies that a standard cable can have a maximum length of  with devices operating at full speed (12 Mbit/s), and a maximum length of  with devices operating at low speed (1.5 Mbit/s).

USB 2.0 provides for a maximum cable length of  for devices running at high speed (480 Mbit/s). The primary reason for this limit is the maximum allowed round-trip delay of about 1.5 μs. If USB host commands are unanswered by the USB device within the allowed time, the host considers the command lost. When adding USB device response time, delays from the maximum number of hubs added to the delays from connecting cables, the maximum acceptable delay per cable amounts to 26 ns. The USB 2.0 specification requires that cable delay be less than 5.2 ns per meter (,  - which is close to the maximum achievable transmission speed for standard copper wire).

The USB 3.0 standard does not directly specify a maximum cable length, requiring only that all cables meet an electrical specification: for copper cabling with AWG 26 wires the maximum practical length is .

 Power 
+ USB power standards Specification Current Voltage Power (max) Low-power device 100 mA  5 V  0.50 W Low-power SuperSpeed (USB 3.0) device 150 mA  5 V  0.75 W High-power device 500 mA  5 V  2.5 W High-power SuperSpeed (USB 3.0) device 900 mA  5 V  4.5 W Battery Charging (BC) 1.2 1.5 A   5 V  7.5 W Type-C 1.5 A   5 V  7.5 W 3 A     5 V  15 W Power Delivery 1.0 Micro-USB 3 A    20 V  60 W Power Delivery 1.0 Type-A/B 5 A    20 V  100 W Power Delivery 2.0/3.0 Type-C (standard cable)  3 A    20 V  60 W Power Delivery 2.0/3.0 Type-C (active cable) 5 A    20 V  100 W 

USB supplies bus power across V and GND at a nominal voltage 5 V ± 5%, at supply, to power USB devices. Power is sourced solely from upstream devices or hosts, and is consumed solely by downstream devices. To allows for voltage drops, the voltage at the hub port is specified in the range  by USB 2.0, and  by USB 3.0. Devices' configuration and low-power functions must operate down to 4.40 V at the hub port by USB 2.0 and that devices' configuration, low-power, and high-power functions must operate down to 4.00 V at the device port by USB 3.0.

The limit to device power draw is stated in terms of a unit load, which is 100 mA or 150 mA for SuperSpeed devices. Low-power devices may draw at most 1 unit load, and all devices must act as low-power devices before they are configured. High-power devices draw at most 5 unit loads (500 mA) or 6 unit loads (900 mA) for SuperSpeed devices. A high-powered device must be configured, and may only draw as much power as specified in its configuration. I.e., the maximum power may not be available.

A bus-powered hub is a high-power device providing low-power ports. It draws 1 unit load for the hub controller and 1 unit load for each of at most 4 ports. The hub may also have some non-removable functions in place of ports. A self-powered hub is a device that provides high-power ports. Optionally, the hub controller may draw power for its operation as a low-power device, but all high-power ports draw from the hub's self-power.

Where devices (for example, high-speed disk drives) require more power than a high-power device can draw, they function erratically, if at all, from bus power of a single port. USB provides for these devices as being self-powered. However, such devices may come with a Y-shaped cable that has two USB plugs (one for power and data, the other for only power), so as to draw power as two devices. Such a cable is non-standard, with the USB compliance specification stating that "use of a 'Y' cable (a cable with two A-plugs) is prohibited on any USB peripheral", meaning that "if a USB peripheral requires more power than allowed by the USB specification to which it is designed, then it must be self-powered."

 USB Battery Charging 
USB Battery Charging defines a new port type, the charging port, as opposed to the standard downstream port (SDP) of the base specification. Charging ports are divided into 2 further types: the charging downstream port (CDP), which has data signals, and the dedicated charging port (DCP), which does not. Dedicated charging ports can be found on USB power adapters that convert utility power or another power source (e.g., a car's electrical system) to run attached devices and battery packs. On a host (such as a laptop computer) with both standard and charging USB ports, the charging ports should be labeled as such.

The charging device identifies the type of port through non-data signaling on the D+ and D− signals immediately after attach. A DCP simply has to place a resistance not exceeding 200 Ω across the D+ and D− signals.Section 1.4.5, pg. 2; and Table 5-3 "Resistances", pg. 45

Per the base specification, any device attached to an SDP must initially be a low-power device, with high-power mode contingent on later USB configuration by the host. Charging ports, however, can immediately supply between 0.5 and 1.5 A of current. The charging port may apply current limiting or shut down completely, but must not apply limiting below 0.5 A, and must not shut down below 1.5 A or before the voltage drops to 2 V.

These bus power currents being much higher than cables were designed for, though not unsafe, cause a larger voltage between the ends of the ground signal, significantly reducing noise margins causing problems with High Speed signaling. Battery Charging Specification 1.1 specifies that charging devices must dynamically limit bus power current draw during High Speed signaling; 1.2 simply specifies that charging devices and ports must be designed to tolerate the higher ground voltage difference in High Speed signaling.

Revision 1.2 of the specification was released in 2010. Several changes are made and limits are increased including allowing 1.5 A on charging downstream ports for unconfigured devices, allowing High Speed communication while having a current up to 1.5 A, and allowing a maximum current of 5 A. Also, support is removed for charging port detection via resistive mechanisms.

Before the Battery Charging Specification was defined, there was no standardized way for the portable device to inquire how much current was available. For example, Apple's iPod and iPhone chargers indicate the available current by voltages on the D− and D+ lines. When D+ = D− = 2.0 V, the device may pull up to 500 mA. When D+ = 2.0 V and D− = 2.8 V, the device may pull up to 1 A of current. When D+ = 2.8 V and D− = 2.0 V, the device may pull up to 2 A of current.

 Accessory charging adaptors (ACA) 
Portable devices having an USB On-The-Go port may want to charge and access USB peripheral at the same time, but having only a single port (both due to On-The-Go and space requirement) prevents this. Accessory charging adapters (ACA) are devices that provide portable charging power to an On-The-Go connection between host and peripheral.

ACAs have three ports: the OTG port for the portable device, which is required to have a Micro-A plug on a captive cable; the accessory port, which is required to have a Micro-AB or type-A receptacle; and the charging port, which is required to have a Micro-B receptacle, or type-A plug or charger on a captive cable. The ID pin of the OTG port is not connected within plug as usual, but to the ACA itself, where signals outside the OTG floating and ground states are used for ACA detection and state signaling. The charging port does not pass data, but does use the D± signals for charging port detection. The accessory port acts as any other port. When appropriately signaled by the ACA, the portable device can charge from the bus power as if there were a charging port present; any OTG signals over bus power are instead passed to the portable device via the ID signal. Bus power is also provided to the accessory port from the charging port transparently.

 Power Delivery (PD) 

+ USB PD rev. 1.0 source profiles Profile  +5 V +12 V +20 V 0 colspan=3  1 2.0 A, 10 W            rowspan=3  2 1.5 A, 18 W 3 3.0 A, 36 W 4 3.0 A,  60 W 5 5.0 A,  60 W 5.0 A, 100 W 

+ USB PD rev. 2.0/3.0 source power rules Source output power (W) Current, at: (A)  +5 V  +9 V +15 V +20 V 0.5–15 0.1–3.0             rowspan=2   rowspan=3   15–27 3.0 (15 W) 1.67–3.0 27–45 3.0 (27 W) 1.8–3.0 45–60 3.0 (45 W) 2.25–3.0 60–100 3.0–5.0

In July 2012, the USB Promoters Group announced the finalization of the USB Power Delivery (PD) Specification (USB PD rev. 1), an extension that specifies using certified PD aware USB cables with standard USB Type-A and Type-B connectors to deliver increased power (more than 7.5 W) to devices with larger power demand. Devices can request higher currents and supply voltages from compliant hosts up to 2 A at 5 V (for a power consumption of up to 10 W), and optionally up to 3 A or 5 A at either 12 V (36 W or 60 W) or 20 V (60 W or 100 W). In all cases, both host-to-device and device-to-host configurations are supported.

The intent is to permit uniformly charging laptops, tablets, USB-powered disks and similarly higher-power consumer electronics, as a natural extension of existing European and Chinese mobile telephone charging standards. This may also affect the way electric power used for small devices is transmitted and used in both residential and public buildings. The standard is designed to coexist with the previous USB Battery Charging specification.USB Power Delivery 

The Power Delivery Specification defines six fixed power profiles for the power sources. PD-aware devices implement a flexible power management scheme by interfacing with the power source through a bidirectional data channel and requesting a certain level of electrical power, variable up to 5 A and 20 V depending on supported profile. The power configuration protocol uses a 24 MHz BFSK-coded transmission channel on the VBUS line.

The USB Power Delivery Specification revision 2.0 (USB PD rev. 2) has been released as part of the USB 3.1 suite.  It covers the Type-C cable and connector with four power/ground pairs and a separate configuration channel, which now hosts a DC coupled low-frequency BMC-coded data channel that reduces the possibilities for RF interference. Power Delivery protocols have been updated to facilitate Type-C features such as cable ID function, Alternate Mode negotiation, increased VBUS currents, and VCONN-powered accessories.

As of USB Power Delivery Specification revision 2.0, version 1.2, the six fixed power profiles for power sources have been deprecated. USB PD Power Rules replace power profiles, defining four normative voltage levels at 5 V, 9 V, 15 V, and 20 V. Instead of six fixed profiles, power supplies may support any maximum source output power from 0.5 W to 100 W.

The USB Power Delivery Specification revision 3.0 defines a programmable power supply protocol that allows granular control over VBUS power in 20 mV steps to facilitate constant current or constant voltage charging. Revision 3.0 also adds extended configuration messages, fast role swap, and deprecates the BFSK protocol.

, there are silicon controllers available from several sources such as TI and Cypress. Power supplies bundled with Type-C based laptops from Apple, Google, HP, Dell, and Razer support USB PD. In addition, accessories from third party vendors including Anker, Belkin, iVoler, and Innergie support USB PD rev. 2 at multiple voltages. Asus make a PD compliant adapter card, the USB 3.1 UPD Panel.

On 8 January 2018 USB-IF announced "Certified USB Fast Charger" which will certify chargers that use the feature "Programmable Power Supply" (PPS) of the USB Power Delivery 3.0 specification.

 Sleep-and-charge ports 
thumb|right|A yellow USB port denoting sleep-and-charge.
Sleep-and-charge USB ports can be used to charge electronic devices even when the computer is switched off. Normally, when a computer is powered off the USB ports are powered down, preventing phones and other devices from charging. Sleep-and-charge USB ports remain powered even when the computer is off. On laptops, charging devices from the USB port when it is not being powered from AC drains the laptop battery faster; most laptops have a facility to stop charging if their own battery charge level gets too low. This feature has also been implemented on some laptop docking stations allowing device charging even when no laptop is present.

Sleep-and-charge USB ports may be found colored differently than regular ports, mostly red or yellow, though that is not always the case.

On Dell and Toshiba laptops, the port is marked with the standard USB symbol with an added lightning bolt icon on the right side. Dell calls this feature PowerShare, while Toshiba calls it USB Sleep-and-Charge. On Acer Inc. and Packard Bell laptops, sleep-and-charge USB ports are marked with a non-standard symbol (the letters USB over a drawing of a battery); the feature is simply called Power-off USB. On some laptops such as Dell and Apple MacBook models, it is possible to plug a device in, close the laptop (putting it into sleep mode) and have the device continue to charge.

 Mobile device charger standards 
 In China 
, all new mobile phones applying for a license in China are required to use a USB port as a power port for battery charging.The Chinese FCC's technical standard:  This was the first standard to use the convention of shorting D+ and D−.

 OMTP/GSMA Universal Charging Solution 
In September 2007, the Open Mobile Terminal Platform group (a forum of mobile network operators and manufacturers such as Nokia, Samsung, Motorola, Sony Ericsson, and LG) announced that its members had agreed on Micro-USB as the future common connector for mobile devices.

The GSM Association (GSMA) followed suit on 17 February 2009, and on 22 April 2009, this was further endorsed by the CTIA – The Wireless Association, with the International Telecommunication Union (ITU) announcing on 22 October 2009 that it had also embraced the Universal Charging Solution as its "energy-efficient one-charger-fits-all new mobile phone solution," and added: "Based on the Micro-USB interface, UCS chargers will also include a 4-star or higher efficiency rating—up to three times more energy-efficient than an unrated charger."

 EU smartphone power supply standard 

In June 2009, many of the world's largest mobile phone manufacturers signed an EC-sponsored Memorandum of Understanding (MoU), agreeing to make most data-enabled mobile phones marketed in the European Union compatible with a common External Power Supply (common EPS). The EU's common EPS specification (EN 62684:2010) references the USB Battery Charging Specification and is similar to the GSMA/OMTP and Chinese charging solutions. In January 2011, the International Electrotechnical Commission (IEC) released its version of the (EU's) common EPS standard as IEC 62684:2011.

 Non-standard devices 

Some USB devices require more power than is permitted by the specifications for a single port. This is common for external hard and optical disc drives, and generally for devices with motors or lamps. Such devices can use an external power supply, which is allowed by the standard, or use a dual-input USB cable, one input of which is for power and data transfer, the other solely for power, which makes the device a non-standard USB device. Some USB ports and external hubs can, in practice, supply more power to USB devices than required by the specification but a standard-compliant device may not depend on this.

In addition to limiting the total average power used by the device, the USB specification limits the inrush current (i.e., the current used to charge decoupling and filter capacitors) when the device is first connected. Otherwise, connecting a device could cause problems with the host's internal power. USB devices are also required to automatically enter ultra low-power suspend mode when the USB host is suspended. Nevertheless, many USB host interfaces do not cut off the power supply to USB devices when they are suspended.

Some non-standard USB devices use the 5 V power supply without participating in a proper USB network, which negotiates power draw with the host interface. These are usually called USB decorations. Examples include USB-powered keyboard lights, fans, mug coolers and heaters, battery chargers, miniature vacuum cleaners, and even miniature lava lamps. In most cases, these items contain no digital circuitry, and thus are not standard-compliant USB devices. This may cause problems with some computers, such as drawing too much current and damaging circuitry. Prior to the USB Battery Charging Specification, the USB specification required that devices connect in a low-power mode (100 mA maximum) and communicate their current requirements to the host, which then permits the device to switch into high-power mode.

Some devices, when plugged into charging ports, draw even more power (10 watts at 2.1 amperes) than the Battery Charging Specification allows — The iPad is one such device. Barnes & Noble Nook Color devices also require a special charger that runs at 1.9 amperes.

 PoweredUSB 

PoweredUSB is a proprietary extension that adds four additional pins supplying up to 6 A at 5 V, 12 V, or 24 V. It is commonly used in point of sale systems to power peripherals such as barcode readers, credit card terminals, and printers.

 Signaling (USB PHY) 
 Signaling rate (transmission rate) 
 Mode Abbrev Gross data rate  Introduced in Low Speed LS 1.5 Mbit/s (187.5 KB/s)  USB 1.0 Full Speed FS 12 Mbit/s (1.5 MB/s)  USB 1.0 High Speed Also, Hi-Speed HS 480 Mbit/s (60 MB/s)  USB 2.0 SuperSpeed SS 5 Gbit/s (625 MB/s)  USB 3.0 SuperSpeed+ SS+ 10 Gbit/s (1.25 GB/s)  USB 3.1 SuperSpeed+SS+ 20 Gbit/s (2.5 GB/s)  USB 3.2

The theoretical maximum data rate in USB 2.0 is 480 Mbit/s (60 MB/s) per controller and is shared amongst all attached devices. Some chipset manufacturers overcome this bottleneck by providing multiple USB 2.0 controllers within the southbridge.

According to routine testing performed by CNet, write operations to typical Hi-Speed hard drives can sustain rates of 25–30 MB/s, while read operations are at 30–42 MB/s; this is 70% of the total available bus bandwidth. For USB 3.0, typical write speed is 70–90 MB/s, while read speed is 90–110 MB/s. Mask tests, also known as eye diagram tests, are used to determine the quality of a signal in the time domain. They are defined in the referenced document as part of the electrical test description for the high-speed (HS) mode at 480 Mbit/s.

According to a USB-IF chairman, "at least 10 to 15 percent of the stated peak 60 MB/s (480 Mbit/s) of Hi-Speed USB goes to overhead—the communication protocol between the card and the peripheral. Overhead is a component of all connectivity standards". Tables illustrating the transfer limits are shown in Chapter 5 of the USB spec.

For isochronous devices like audio streams, the bandwidth is constant, and reserved exclusively for a given device. The bus bandwidth therefore only has an effect on the number of channels that can be sent at a time, not the "speed" or latency of the transmission.

 Low-speed (LS) rate of 1.5 Mbit/s is defined by USB 1.0. It is very similar to full-bandwidth operation except each bit takes 8 times as long to transmit. It is intended primarily to save cost in low-bandwidth human interface devices (HID) such as keyboards, mice, and joysticks.
 Full-speed (FS) rate of 12 Mbit/s is the basic USB data rate defined by USB 1.0. All USB hubs can operate at this speed.
 High-speed (HS) rate of 480 Mbit/s was introduced in 2001. All hi-speed devices are capable of falling back to full-bandwidth operation if necessary; i.e., they are backward compatible with USB 1.1 standard. Connectors are identical for USB 2.0 and USB 1.x.
 SuperSpeed (SS) rate of 5.0 Gbit/s. The written USB 3.0 specification was released by Intel and its partners in August 2008. The first USB 3.0 controller chips were sampled by NEC in May 2009, and the first products using the USB 3.0 specification arrived in January 2010. USB 3.0 connectors are generally backward compatible, but include new wiring and full-duplex operation.
 SuperSpeed+ (SS+) rate of 10 Gbit/s is defined by USB 3.1 and 20 Gbit/s, using 2 lanes, is defined by USB 3.2.

 Transaction latency 
For low-speed (1.5 Mbit/s) and full-speed (12 Mbit/s) devices the shortest time for a transaction in one direction is 1 ms. High-speed (480 Mbit/s) uses transactions within each micro frame (125 µs) where using 1-byte interrupt packet results in a minimal response time of 940 ns. 4-byte interrupt packet results in 984 ns.

 Electrical specification 
USB signals are transmitted using differential signaling on a twisted-pair data cable with  characteristic impedance.

 Low-speed (LS) and Full-speed (FS) modes use a single data pair, labelled D+ and D−, in half-duplex. Transmitted signal levels are  for logical low, and  for logical high level. The signal lines are not terminated.
 High-speed (HS) mode uses the same wire pair, but with different electrical conventions. Lower signal voltages of  for low and  for logical high level, and termination of 45 Ω to ground or 90 Ω differential to match the data cable impedance.
 SuperSpeed (SS) adds two additional pairs of shielded twisted wire (and new, mostly compatible expanded connectors). These are dedicated to full-duplex SuperSpeed operation. The half-duplex lines are still used for configuration.
 SuperSpeed+ (SS+) mode uses 2 lanes.

A USB connection is always between a host or hub at the A connector end, and a device or hub's "upstream" port at the other end.

 Signaling state 
The host includes 15 kΩ pull-down resistors on each data line. When no device is connected, this pulls both data lines low into the so-called single-ended zero state (SE0 in the USB documentation), and indicates a reset or disconnected connection.

 Line transition state 
The following terminology is used to assist in the technical discussion regarding USB PHY signaling.

SignalLine transition stateDescriptionUSB 1.x Low Speed
(1.5 kΩ pullup on D−)USB 1.x Full Speed
(1.5 kΩ pullup on D+)D+D−D+D−JSame as idle line stateThis is present during a transmission line transition. Alternatively, it is waiting for a new packet.lowhighhighlowKInverse of J stateThis is present during a transmission line transition.highlowlowhighSE0Single-Ended ZeroBoth D+ and D− is low. This may indicate an end of packet signal or a detached USB device.lowlowlowlowSE1Single-Ended OneThis is an illegal state and should never occur. This is seen as an error.highhighhighhigh
 The idle line state is when the device is connected to the host with a pull-up on either D+ and D−, with transmitter output on both host and device is set to high impedance (hi-Z) (disconnected output).
 A USB device pulls one of the data lines high with a 1.5 kΩ resistor. This overpowers one of the pull-down resistors in the host and leaves the data lines in an idle state called J.
 For USB 1.x, the choice of data line indicates what signal rates the device is capable of:
 full-bandwidth devices pull D+ high,
 low-bandwidth devices pull D− high.
 The K state has opposite polarity to the J state.

 Line state (covering USB 1.x and 2.x) 
Line state/signalDescriptionUSB 1.x Low-SpeedUSB 1.x Full-SpeedUSB 2.x High-SpeedDetachedNo device detected. Both lines are pulled down by 15 kΩ pull-down resistors on the host side.SE0 >= 2 µsSE0 >= 2 µsSE0 >= 2 µsConnectUSB device pull ups on D+ or D- wakes the host from detached line state. This starts the USB enumeration process. This sets the idle state.D- is pulled up by 1.5 kΩ device side.D+ is pulled up by 1.5 kΩ device side.Special chirping sequenceIdle / JHost and device transmitter at Hi-Z. 
Sensing line state in case of detached state.Same as detached or connect state.Same as detached or connect state.SyncStart of a packet line transition pattern.Line transitions: KJKJKJKK Line transitions: KJKJKJKK 15 KJ pairs followed by 2 K’s, for a total of 32 symbols.EOPEnd of packet line transition pattern.Line Transitions: SE0 + SE0 + JLine Transitions: SE0 + SE0 + JResetReset USB device to a known initial state.SE0 >= 2.5 msSE0 >= 2.5 msSuspendPower down the device, such that it would only consume 0.5 mA from VBUS. Exits this state only after a resume or reset signal is received. To avoid this state a SOF packet (high-speed) or a keep alive (low-speed) signal is given.J >= 3 msJ >= 3 msResume (host)Host wants to wake device up.K >= 20 ms then EOP patternK >= 20 ms then EOP patternResume (device)Device wants to wake up. (Must be in idle for at least 5 ms.)Device drives K >= 1 msHost then sends a resume signal.Device drives K >= 1 msHost then sends a resume signal.Keep alive (low-speed)Host wants to tell low speed device to stay awake.EOP pattern once every millisecond.Not applicableNot applicable

 Transmission 
USB data is transmitted by toggling the data lines between the J state and the opposite K state. USB encodes data using the NRZI line coding:

 0 bit is transmitted by toggling the data lines from J to K or vice versa.
 1 bit is transmitted by leaving the data lines as-is.

To ensure that there are enough signal transitions for clock recovery to occur in the bitstream, a bit stuffing technique is applied to the data stream: an extra 0 bit is insert into the data stream after any occurrence of six consecutive 1 bits. (Thus ensuring that there is a 0 bit to cause a transmission state transition.) Seven consecutively received 1 bits are always an error. For USB 3.0, additional data transmission encoding is used to handle the higher data rates required.

 Transmission example on a USB 1.1 full-speed device 
center|frame|Example of a Negative Acknowledge packet transmitted by USB 1.1 full-speed device when there is no more data to read. It consists of the following fields: clock synchronization byte, type of packet, and end of packet. Data packets would have more information between the type of packet and end of packet.
 Synchronization Pattern: A USB packet begins with an 8-bit synchronization sequence, 00000001₂. That is, after the initial idle state J, the data lines toggle KJKJKJKK. The final 1 bit (repeated K state) marks the end of the sync pattern and the beginning of the USB frame. For high-bandwidth USB, the packet begins with a 32-bit synchronization sequence.
 End of Packet (EOP): EOP is indicated by the transmitter driving 2 bit times of SE0 (D+ and D− both below max.) and 1 bit time of J state. After this, the transmitter ceases to drive the D+/D− lines and the aforementioned pull-up resistors hold it in the J (idle) state. Sometimes skew due to hubs can add as much as one bit time before the SE0 of the end of packet. This extra bit can also result in a "bit stuff violation" if the six bits before it in the CRC are 1s. This bit should be ignored by receiver.
 Bus Reset: A USB bus is reset using a prolonged (10 to 20 milliseconds) SE0 signal.

 USB 2.0 speed negotiation 
USB 2.0 devices use a special protocol during reset, called chirping, to negotiate the high bandwidth mode with the host/hub. A device that is USB 2.0 High Speed capable first connects as a Full Speed device (D+ pulled high), but upon receiving a USB RESET (both D+ and D− driven LOW by host for 10 to 20 ms) it pulls the D− line high, known as chirp K. This indicates to the host that the device is high bandwidth. If the host/hub is also HS capable, it chirps (returns alternating J and K states on D− and D+ lines) letting the device know that the hub operates at high bandwidth. The device has to receive at least three sets of KJ chirps before it changes to high bandwidth terminations and begins high bandwidth signaling. Because USB 3.0 uses wiring separate and additional to that used by USB 2.0 and USB 1.x, such bandwidth negotiation is not required.

Clock tolerance is 480.00±0.24 Mbit/s, 12.00±0.03 Mbit/s, and 1.50±0.18 Mbit/s.

Though high bandwidth devices are commonly referred to as "USB 2.0" and advertised as "up to 480 Mbit/s," not all USB 2.0 devices are high bandwidth. The USB-IF certifies devices and provides licenses to use special marketing logos for either "basic bandwidth" (low and full) or high bandwidth after passing a compliance test and paying a licensing fee. All devices are tested according to the latest specification, so recently compliant low bandwidth devices are also 2.0 devices.

 USB 3.0 
USB 3 uses tinned copper stranded AWG-28 cables with  impedance for its high-speed differential pairs and linear feedback shift register and 8b/10b encoding sent with a voltage of 1 V nominal with a 100 mV receiver threshold; the receiver uses equalization. 100717 usb3.com SSC clock and 300 ppm precision is used. Packet headers are protected with CRC-16, while data payload is protected with CRC-32. 100717 usb3.com Power up to 3.6 W may be used. One unit load in Super Speed mode is equal to 150 mA.

 Protocol layer 
During USB communication, data is transmitted as packets. Initially, all packets are sent from the host via the root hub, and possibly more hubs, to devices. Some of those packets direct a device to send some packets in reply.

After the sync field, all packets are made of 8-bit bytes, transmitted least-significant bit first. The first byte is a packet identifier (PID) byte. The PID is actually 4 bits; the byte consists of the 4-bit PID followed by its bitwise complement. This redundancy helps detect errors. (Note also that a PID byte contains at most four consecutive 1 bits, and thus never needs bit-stuffing, even when combined with the final 1 bit in the sync byte. However, trailing 1 bits in the PID may require bit-stuffing within the first few bits of the payload.)

+ USB PID bytes Type  PID value(msb-first)  Transmitted byte(lsb-first)  Name  Description   0000  0000 1111   Token  1000  0001 1110  SPLIT  High-bandwidth (USB 2.0) split transaction 0100  0010 1101  PING  Check if endpoint can accept data (USB 2.0) Special  1100  0011 1100  PRE  Low-bandwidth USB preamble Handshake  ERR  Split transaction error (USB 2.0) 0010  0100 1011  ACK  Data packet accepted 1010  0101 1010  NAK  Data packet not accepted; please retransmit 0110  0110 1001  NYET  Data not ready yet (USB 2.0) 1110  0111 1000  STALL  Transfer impossible; do error recovery Token  0001  1000 0111  OUT  Address for host-to-device transfer 1001  1001 0110  IN  Address for device-to-host transfer 0101  1010 0101  SOF  Start of frame marker (sent each ms) 1101  1011 0100  SETUP  Address for host-to-device control transfer Data  0011  1100 0011  DATA0  Even-numbered data packet 1011  1101 0010  DATA1  Odd-numbered data packet 0111  1110 0001  DATA2  Data packet for high-bandwidth isochronous transfer (USB 2.0) 1111  1111 0000  MDATA  Data packet for high-bandwidth isochronous transfer (USB 2.0)

Packets come in three basic types, each with a different format and CRC (cyclic redundancy check):

 Handshake packets 
FieldSyncPIDEOPBits8SignalKJ KJ KJ KKXXXX XXXX00J
Handshake packets consist of only a single PID byte, and are generally sent in response to data packets. Error detection is provided by transmitting four bits, which represent the packet type twice, in a single PID byte using complemented form. The three basic types are ACK, indicating that data was successfully received; NAK, indicating that the data cannot be received and should be retried; and STALL, indicating that the device has an error condition and cannot transfer data until some corrective action (such as device initialization) occurs.

USB 2.0 added two additional handshake packets: NYET and ERR. NYET indicates that a split transaction is not yet complete, while ERR handshake indicates that a split transaction failed. A second use for a NYET packet is to tell the host that the device has accepted a data packet, but cannot accept any more due to full buffers. This allows a host to switch to sending small PING tokens to inquire about the device's readiness, rather than sending an entire unwanted DATA packet just to elicit a NAK.

The only handshake packet the USB host may generate is ACK. If it is not ready to receive data, it should not instruct a device to send.

 Token packets 
Token packets consist of a PID byte followed by two payload bytes: 11 bits of address and a five-bit CRC. Tokens are only sent by the host, never a device. Below are tokens present from USB 1.0:
 IN and OUT tokens contain a seven-bit device number and four-bit function number (for multifunction devices) and command the device to transmit DATAx packets, or receive the following DATAx packets, respectively. 
 IN token expects a response from a device. The response may be a NAK or STALL response or a DATAx frame. In the latter case, the host issues an ACK handshake if appropriate.
 OUT token is followed immediately by a DATAx frame. The device responds with ACK, NAK, NYET, or STALL, as appropriate.
 SETUP operates much like an OUT token, but is used for initial device setup. It is followed by an eight-byte DATA0 frame with a standardized format.
 SOF (Start of Frame) Every millisecond (12000 full-bandwidth bit times), the USB host transmits a special SOF (start of frame) token, containing an 11-bit incrementing frame number in place of a device address. This is used to synchronize isochronous and interrupt data transfers. High-bandwidth USB 2.0 devices receive seven additional SOF tokens per frame, each introducing a 125 µs "microframe" (60000 high-bandwidth bit times each).
 USB 2.0 also added a PING Token and a larger three-byte SPLIT Token
 PING asks a device if it is ready to receive an OUT/DATA packet pair. PING is usually sent by a host when polling a device that most recently responded with NAK or NYET. This avoids the need to send a large data packet to a device that the host suspects is unwilling to accept it. The device responds with ACK, NAK, or STALL, as appropriate.
 SPLIT is used to perform split transactions. Rather than tie up the high-bandwidth USB bus sending data to a slower USB device, the nearest high-bandwidth capable hub receives a SPLIT token followed by one or two USB packets at high-bandwidth, performs the data transfer at full- or low-bandwidth, and provides the response at high-bandwidth when prompted by a second SPLIT token. It contains a seven-bit hub number, 12 bits of control flags, and a five-bit CRC.

 OUT, IN, SETUP, and PING token packets 
FieldSyncPIDADDRENDPCRC5EOPBits8745SignalKJ KJ KJ KKXXXX XXXXXXXX XXXXXXXXXXXX00J
 ADDR: Address of USB device (maximum of 127 devices).
 ENDP: Select endpoint hardware source/sink buffer on device. (E.g. PID OUT would be for sending data from host source buffer into the USB device sink buffer.)
 By default, all USB devices must at least support endpoint buffer 0 (EP0). This is since EP0 is used for device control and status information during enumeration and normal operation.

 SOF: Start-of-frame 
FieldSyncPIDFrame numberCRC5EOPBits8115SignalKJ KJ KJ KKXXXX XXXXXXXX XXXX XXXXXXXXSE0 SE0 J
 Frame number: This is a frame number that is incremented by the host periodically to allows endpoints to identify the start of the frame (or microframe) and synchronize internal endpoint clocks to the host clock.

 SSPLIT and CSPLIT: Start-split transaction and complete split transaction 
S/C ModeField0 = SSPLIT SyncPIDHub addressS/CPort numberSEETCRC5EOP1 = CSPLIT SyncPIDHub addressS/CPort numberSUETCRC5EOPBits87171125SignalKJ KJ KJ KKXXXX XXXXXXXX XXXXXXXX XXXXXXXXXXXXSE0 SE0 J
 S/C: Start complete
 0 = SSPLIT: Start split transaction
 1 = CSPLIT: Complete split transaction
 S: 1 = Low speed, 0 = High speed
 E: End of full speed payload
 U: U bit is reserved/unused and must be reset to zero (0 B)
 EP: End point type (00 = control), (01 = isochronous), (10 = bulk), and (11 = interrupt)

 Data packets 
FieldSyncPIDDATACRC16EOPBits80-819216SignalKJ KJ KJ KKXXXX XXXX(XXXX XXXX)*byteCountXXXX XXXX XXXX XXXXSE0 SE0 J
A data packet consists of the PID followed by 0–1,024 bytes of data payload (up to 1,024 bytes for high-speed devices, up to 64 bytes for full-speed devices, and at most eight bytes for low-speed devices), and a 16-bit CRC.

There are two basic forms of data packet, DATA0 and DATA1. A data packet must always be preceded by an address token, and is usually followed by a handshake token from the receiver back to the transmitter. The two packet types provide the 1-bit sequence number required by stop-and-wait ARQ. If a USB host does not receive a response (such as an ACK) for data it has transmitted, it does not know if the data was received or not; the data might have been lost in transit or it might have been received but the handshake response was lost.

To solve this problem, the device keeps track of the type of DATAx packet it last accepted. If it receives another DATAx packet of the same type, it is acknowledged but ignored as a duplicate. Only a DATAx packet of the opposite type is actually received.

If the data is corrupted while transmitted or received, the CRC check fails. When this happens, the receiver does not generate an ACK, which makes the sender resend the packet.

When a device is reset with a SETUP packet, it expects an 8-byte DATA0 packet next.

USB 2.0 added DATA2 and MDATA packet types as well. They are used only by high-bandwidth devices doing high-bandwidth isochronous transfers that must transfer more than 1024 bytes per 125 µs micro frame 

 PRE packet (tells hubs to temporarily switch to low speed mode) 
A hub is able to support low bandwidth devices mixed with other speed device via a special PID value, PRE. This is required as a USB hub functions as a very simple repeater, broadcasting the host message to all connected devices regardless if the packet was for it or not. This means in a mixed speed environment, there is a potential danger that a low speed could misinterpret a high or full speed signal from the host.

To eliminate this danger, if a USB hub detects a mix of high speed or full speed and low speed devices, it, by default, disables communication to the low speed device unless it receives a request to switch to low speed mode. On reception of a PRE packet however, it temporarily re-enables the output port to all low speed devices, to allow the host to send a single low speed packet to low speed devices. After the low speed packet is sent, an end of packet (EOP) signal tells the hub to disable all outputs to low speed devices again.

Since all PID bytes include four 0 bits, they leave the bus in the full-bandwidth K state, which is the same as the low-bandwidth J state. It is followed by a brief pause, during which hubs enable their low-bandwidth outputs, already idling in the J state. Then a low-bandwidth packet follows, beginning with a sync sequence and PID byte, and ending with a brief period of SE0. Full-bandwidth devices other than hubs can simply ignore the PRE packet and its low-bandwidth contents, until the final SE0 indicates that a new packet follows.
Full speed PRE preambleHub setup enable outputto low speed devices.Low speed packet exampleHub disable outputto low speed devices.FieldSyncPID (PRE)SyncPIDADDRENDPCRC5EOPBits88745SignalKJ KJ KJ KKXXXX XXXXKJ KJ KJ KKXXXX XXXXXXXX XXXXXXXXXXXX00J

 Transaction 
 OUT transaction 
OUT transaction (3 packets total)HostHostDevicePacket PIDOUTDATAxACKPacket typeTokenDataHandshakeDescriptionTell device onADDRxto start listening for incoming data packet on endpointEPx.Tell USB device the data that you want to send to it.Device tells the host that it has successfully received and loaded the data payload to buffer EPx.

 IN transaction 
IN transaction (3 packets total)HostDeviceHostPacket PIDINDATAxACKPacket typeTokenDataHandshakeDescriptionTell device onADDRxto send any data that it has on its endpoint bufferEPx.Device checks its EPx endpoint buffer and sends the requested data to host.Host lets device know that it has successfully received the payload and have loaded the payload into its EPx buffer.

 SETUP transaction 
This is used for device enumeration and connection management and informs the device that the host would like to start a control transfer exchange.
SETUP transaction (3 packets total)HostHostDevicePacket PIDSETUPDATA0ACKPacket typeTokenDataHandshakeDescriptionTell device onADDRxto start setup mode and be ready for a data packet.Send to device the 8 bytes long setup packet.Device acknowledge reception of SETUP data and updates its setup state machine.
 Depending on the setup packet, an optional data packet from device to host or host to device may occur.

 Setup packet 
FieldwLengthwIndexwValuebRequestbmRequestTypeOffset84210Bytes22211Bits1616168125NameCountIndexValueRequestData phase transfer directionTypeRecipientDescriptionNumbers of bytes expected to be transferred in the data stage.This is a parameter value. Depends on bRequest.Typically used for specifying endpoint or interface.This is a parameter value. Depends on bRequest.This is the setup request command.0 = Host to device, 1 = Device to host0 = Standard, 1 = Class, 2 = Vendor, 3 = Reserved0 = Device, 1 = Interface, 2 = Endpoint, 3 = Other, 4 to 31 = Reserved

 Control transfer exchange 
The control transfer exchange consist of three distinct stages:
 Setup stage: This is the setup command sent by the host to the device.
 Data stage (optional): The device may optionally send data in response to a setup request.
 Status stage: Dummy IN or OUT transaction, which is probably for indicating the end of a control transfer exchange.

This allows the host to perform bus management action like enumerating new USB devices via retrieving the new device device descriptors. Retrieval of the device descriptors would especially allow for determining the USB Class, VID, and PID, which are often used for determining the correct USB driver for the device.

Also, after the device descriptor is retrieved, the host performs another control transfer exchange, but instead to set the address of the USB device to a new ADDRx.

 Audio streaming 
The USB Device Working Group has laid out specifications for audio streaming. Although USB technology wasn't designed with audio streaming in mind, specific standards have been developed and implemented for audio class uses.

The DWG distinguishes two audio device modes specifications: Audio 1.0 specification and Audio 2.0 specification. Three types of devices are defined:
 USB headphone devices
 USB microphone devices
 USB headset devices

Three levels of synchronisation were defined: asynchronous, synchronous, and adaptive.

 Comparisons with other connection methods 
thumb|right|200px|A variety of USB cables for sale in Hong Kong.

 FireWire 
At first, USB was considered a complement to IEEE 1394 (FireWire) technology, which was designed as a high-bandwidth serial bus that efficiently interconnects peripherals such as disk drives, audio interfaces, and video equipment. In the initial design, USB operated at a far lower data rate and used less sophisticated hardware. It was suitable for small peripherals such as keyboards and pointing devices.

The most significant technical differences between FireWire and USB include:
 USB networks use a tiered-star topology, while IEEE 1394 networks use a tree topology.
 USB 1.0, 1.1, and 2.0 use a "speak-when-spoken-to" protocol, meaning that each peripheral communicates with the host when the host specifically requests it to communicate. USB 3.0 allows for device-initiated communications towards the host. A FireWire device can communicate with any other node at any time, subject to network conditions.
 A USB network relies on a single host at the top of the tree to control the network. All communications are between the host and one peripheral. In a FireWire network, any capable node can control the network.
 USB runs with a 5 V power line, while FireWire in current implementations supplies 12 V and theoretically can supply up to 30 V.
 Standard USB hub ports can provide from the typical 500 mA/2.5 W of current, only 100 mA from non-hub ports. USB 3.0 and USB On-The-Go supply 1.8 A/9.0 W (for dedicated battery charging, 1.5 A/7.5 W full bandwidth or 900 mA/4.5 W high bandwidth), while FireWire can in theory supply up to 60 watts of power, although 10 to 20 watts is more typical.

These and other differences reflect the differing design goals of the two buses: USB was designed for simplicity and low cost, while FireWire was designed for high performance, particularly in time-sensitive applications such as audio and video. Although similar in theoretical maximum transfer rate, FireWire 400 is faster than USB 2.0 high-bandwidth in real-use, especially in high-bandwidth use such as external hard drives. The newer FireWire 800 standard is twice as fast as FireWire 400 and faster than USB 2.0 high-bandwidth both theoretically and practically. However, FireWire's speed advantages rely on low-level techniques such as direct memory access (DMA), which in turn have created opportunities for security exploits such as the DMA attack.

The chipset and drivers used to implement USB and FireWire have a crucial impact on how much of the bandwidth prescribed by the specification is achieved in the real world, along with compatibility with peripherals.

 Ethernet 
The IEEE 802.3af Power over Ethernet (PoE) standard specifies a more elaborate power negotiation scheme than powered USB. It operates at 48 V DC and can supply more power (up to 12.95 W, PoE+ 25.5 W) over a cable up to 100 meters compared to USB 2.0, which provides 2.5 W with a maximum cable length of 5 meters. This has made PoE popular for VoIP telephones, security cameras, wireless access points, and other networked devices within buildings. However, USB is cheaper than PoE provided that the distance is short and power demand is low.

Ethernet standards require electrical isolation between the networked device (computer, phone, etc.) and the network cable up to 1500 V AC or 2250 V DC for 60 seconds. USB has no such requirement as it was designed for peripherals closely associated with a host computer, and in fact it connects the peripheral and host grounds. This gives Ethernet a significant safety advantage over USB with peripherals such as cable and DSL modems connected to external wiring that can assume hazardous voltages under certain fault conditions.

 MIDI 
Digital musical instruments are another example where USB is competitive for low-cost devices. However, Power over Ethernet and the MIDI plug standard have an advantage in high-end devices that may have long cables. USB can cause ground loop problems between equipment, because it connects ground references on both transceivers. By contrast, the MIDI plug standard and Ethernet have built-in isolation to  or more.

 eSATA/eSATAp 
The eSATA connector is a more robust SATA connector, intended for connection to external hard drives and SSDs. eSATA's transfer rate (up to 6 Gbit/s) is similar to that of USB 3.0 (up to 5 Gbit/s on current devices; 10 Gbit/s speeds via USB 3.1, announced on 31 July 2013). A device connected by eSATA appears as an ordinary SATA device, giving both full performance and full compatibility associated with internal drives.

eSATA does not supply power to external devices. This is an increasing disadvantage compared to USB. Even though USB 3.0's 4.5 W is sometimes insufficient to power external hard drives, technology is advancing and external drives gradually need less power, diminishing the eSATA advantage. eSATAp (power over eSATA; aka ESATA/USB) is a connector introduced in 2009 that supplies power to attached devices using a new, backward compatible, connector. On a notebook eSATAp usually supplies only 5 V to power a 2.5-inch HDD/SSD; on a desktop workstation it can additionally supply 12 V to power larger devices including 3.5-inch HDD/SSD and 5.25-inch optical drives.

eSATAp support can be added to a desktop machine in the form of a bracket connecting the motherboard SATA, power, and USB resources.

eSATA, like USB, supports hot plugging, although this might be limited by OS drivers and device firmware.

 Thunderbolt 
Thunderbolt combines PCI Express and Mini DisplayPort into a new serial data interface. Original Thunderbolt implementations have two channels, each with a transfer speed of 10 Gbit/s, resulting in an aggregate unidirectional bandwidth of 20 Gbit/s.

Thunderbolt 2 uses link aggregation to combine the two 10 Gbit/s channels into one bi-directional 20 Gbit/s channel.

Thunderbolt 3 uses the USB Type-C connector. Thunderbolt 3 has one 40 Gbit/s channel.

 Interoperability 

Various protocol converters are available that convert USB data signals to and from other communications standards.

 Related standards 
thumb|right|The Wireless USB logo.
The USB Implementers Forum is working on a wireless networking standard based on the USB protocol. Wireless USB is a cable-replacement technology, and uses ultra-wideband wireless technology for data rates of up to 480 Mbit/s.

USB 2.0 High-Speed Inter-Chip (HSIC) is a chip-to-chip variant of USB 2.0 that eliminates the conventional analog transceivers found in normal USB. It was adopted as a standard by the USB Implementers Forum in 2007. The HSIC physical layer uses about 50% less power and 75% less board area compared to traditional USB 2.0. HSIC uses two signals at 1.2 V and has a throughput of 480 Mbit/s. Maximum PCB trace length for HSIC is 10 cm. It does not have low enough latency to support RAM sharing between two chips.

The USB 3.0 successor of HSIC is called SuperSpeed Inter-Chip (SSIC).

 See also 

 DockPort
 Easy Transfer Cable
 Extensible Host Controller Interface (XHCI)
 LIO Target
 List of device bit rates#Peripheral
 Media Transfer Protocol
 Mobile High-Definition Link

 References 

 Further reading 
 
 
  524 pp.
 
 

 External links 

 
 
 
 
 Muller, Henk. "How To Create And Program USB Devices," Electronic Design, July 2012
 An Analysis of Throughput Characteristics of Universal Serial Bus, June 1996, by John Garney
 USB 2.0 Protocol Engine, October 2010, by Razi Hershenhoren and Omer Reznik
 IEC international standard: IEC 62680 Universal serial bus interfaces for data and power:
 IEC 62680-1.1:2015 - Part 1-1: Common components - USB Battery Charging Specification, revision 1.2
 IEC 62680-1-2:2016 - Part 1-2: Common components - USB Power Delivery specification revision 1.0
 IEC 62680-1-3:2016 - Part 1-3: Universal Serial Bus interfaces - Common components -, revision 1.0
 IEC 62680-2-1:2015 - Part 2-1: Universal Serial Bus Specification, Revision 2.0
 IEC 62680-2-2:2015 - Part 2-2: Micro-USB Cables and Connectors Specification, Revision 1.01
 IEC 62680-2-3:2015 - Part 2-3: Universal Serial Bus Cables and Connectors Class Document Revision 2.0

Category:American inventions
Category:Computer connectors
Category:Japanese inventions
Category:Serial buses
Category:Computer-related introductions in 1996
 