Home > USB Central
For developers of USB devices, firmware, hosts, and host software.
Take my 1-question survey: what language do you use most to program applications that access USB devices?
Other useful pages
Debugging Non-functioning USB Ports. The ongoing tale of my new PC and its USB ports.
My article Debugging USB Firmware is online at Circuit Cellar.
USB Embedded Hosts: The Developer's Guide is available. Details.
The USB-IF is the non-profit organization that sponsors the USB specifications and provides support for developers.
The USB-IF Developers Discussion Forum no longer exists. An alternative is my PORTS forum.
On November 17, 2008, the USB-IF released the USB 3.0 specification, which adds a SuperSpeed interface with a bus speed of 5 Gbps. The specification now includes several ECNs and an extensive errata list.
SuperSpeed Extends USB (short introduction to SuperSpeed)
The USB 2.0 specification supports bus speeds of 480 Mbps (high speed, also called Hi Speed), 12 Mbps (full speed), and 1.5 Mbps (low speed). Note that USB 2.0 does not mean "high speed." A USB 2.0 device can be any speed.
Four ECNs incorporated into the USB 2.0 specification in December 2008 are Device Capacitance, Material Change, USB 2.0 Phase-locked SOFs, and MicroUSB Micro-B ID Pin Resistance and Tolerance stack-up between D+ and D-. Other recent additions are are the Micro-USB Cables and Connectors Specification, USB 2.0 Link Power Management Addendum, and the High-Speed Inter-Chip USB Electrical Specification Revision.
As of May, 2007, the Mini-A and Mini-AB connectors have been deprecated in favor of the Micro-A and Micro-AB.
Another ECN to the USB 2.0 specification adds a new descriptor type for composite devices: the interface association descriptor (IAD).
PoweredUSB is an initiative to enable USB devices to draw more than 500mA from the cable.
My article Inside USB 2.0: What the New Spec Means for Developers (EDN).
OHCI (OpenHCI) -- Open Host Controller Interface Specification for USB (Low and full speed)
Universal Host Controller Interface (UHCI) Design Guide (Low and full speed)
OpenCores is developing a USB 2.0-compliant Verilog/VHDL function core.
The ULPI (UTMI + Low Pin Interface) specification describes an interface that reduces the pin count for discrete USB transceiver implementations.
Two options for wireless USB connections are Certified Wireless USB and WirelessUSB.
Certified Wireless USB
The Wireless USB Promoter Group has developed a wireless USB (WUSB) specification for communicating at up to 480 Mbps.
An introduction to Wireless USB (WUSB). By by Rafael Kolic of Intel.
Challenges of Migrating to Wireless USB. From Ellisys.
Certified Wireless USB FAQ. From Everything USB.
Wireless USB Blog. From Karsten Stopp.
Cypress's WirelessUSB system uses a 2.4-Ghz wireless connection and enables implementing wireless devices that function as low-speed USB devices.
Articles, books, classes, and more.
USB Made Simple. A series of articles from MQP Electronics.
Jack Ganssle's An Introduction to USB Development from Embedded Systems Programming.
The Eyes Have It. Testing options for USB and other high-speed buses. Dan Strassberg, EDN.
Stealing USB Port Power. How to design bus-powered devices. Robert Kollman and John Betten, EDN.
Beyond Logic has several articles about USB projects. From Craig Peacock.
USB: The Universal Serial Bus. Low-level programming of host controllers.
Universal Serial Bus System Architecture, Second Edition. Inside the USB 2.0 specification.
Developing Drivers with the Windows Driver Foundation. Windows drivers for devices that can't use an existing driver.
USB System Architecture Class. From Mindshare.
PC Hardware Pages, including many USB links. From Tomi Engdahl.
USB Man has a developer's page with many links.
Information on finding USB products and getting them to work.
B & B Electronics has a good selection of USB converters, cables, and hubs.
USConverters has many USB converters.
Help in getting peripherals working
The USB Implementers Forum has an FAQ that answers many user questions.
EverythingUSB has links to drivers, other news and reviews, and a product finder.
General USB Troubleshooting in Windows 98, Windows 98 Second Edition, and Windows Me. From Microsoft. Article ID: 263218.
Unable to Print from Command Prompt or MS-DOS Program with USB Printer From Microsoft. Article ID 259939.