OTD ACADEMY
Sign in / Sign up
Library

LIBRARYUSB basics.

USB is a negotiated bus. A host and a device enumerate over a differential pair (D+/D-) before any data flows. What enumeration is and why it matters.

USB is a negotiated bus. Before any of your data crosses the cable, a host and a device introduce themselves and agree on terms, a step called enumeration. That handshake is why a board pops up on your computer a second after you plug it in, and why USB carries more machinery than a plain serial link.

Host and device

One end is the host, usually your computer, and the other is the device, the board. The host runs the bus: it powers it, starts every transfer, and manages who talks. A device stays quiet until the host asks it something.

One differential pair

Full-speed and low-speed USB carry data on a single differential pair, D+ and D-. The two wires swing in opposite directions and the receiver reads the difference between them, which cancels out noise that hits both wires alike. Power, on VBUS and ground, shares the same cable, so one connector both feeds the board and talks to it.

Enumeration, the handshake

On plug-in the host detects the device, resets it, and asks it to describe itself. The device answers with descriptors: who it is, what it does, and how much current it needs. The host loads a matching driver, and only then does your application data start to flow.

Deep dive· Why USB is more than a fast UART

A UART link is two chips preset to the same speed, and they just send bytes. USB does more before any payload moves: it detects the device on plug-in, resets it, assigns it an address, and reads its capabilities. That negotiation is what lets one port accept a keyboard, a flash drive, and your board with no manual setup, and it is why a USB stack is a real piece of firmware. On a small board you usually get it for free from the microcontroller's built-in USB, but the handshake is still happening under the hood.

A USB host and device linked by the D+/D- pair, with the enumeration handshake shown as a sequence of steps before data flows.
Host and device over D+/D-, and the enumeration handshake that runs before any data.

Plug a One Thousand Drones board into your computer and enumeration is the short pause before it appears as a serial port. The board describes itself, the host loads a driver, and your terminal opens.

Checkpoint

Quick check

What happens before USB application data can flow?
On a USB link, which end starts every transfer?
Full-speed USB carries its data on what?
0 / 3 correct

One Thousand Drones engineering team · verified 2026-07