logo slogan

USB Host

Segger’s USB host software stack implements full USB host functionality, including external hub support, and optionally provides device class drivers. It enables developers to easily add USB host functionality to embedded systems.


The software stack complies with the USB v1.1 and USB v2.0 specifications. It supports all transfer modes (control, bulk, interrupt, isochronous) at low, full and high speed. USB pipe management and extended error recovery mechanisms that are required for reliable operation are implemented internally.

The modular design enables applications to access the USB host programming interface directly, or to use APIs exposed by class drivers. At its upper edge a class driver typically attaches to an operating system module such as a file system


The stack can handle multiple devices and hubs simultaneously and fully supports hot plugging of devices and hubs. The programming interface supports dynamic device enumeration and identification


USB Host feature list:

- ISO/ANSI C source code
- High performance.
- Small footprint.
- No configuration required.
- Runs "out-of-the-box".
- Control, bulk and interrupt transfers
- Very simple host controller driver structure
- USB Mass Storage Device Class available
- Works seamlessly with embOS and emFile (for MSD)
- Support for class drivers
- Support for external USB hub devices
- Support for devices with alternate settings
- Support for multi-interface devices
- Support for multi-configuration devices