emUSB-Host
The USB-host software for embedded-device USB peripherals.
- 1.Overview
- 2.Key features
- 2.1.Reliability
- 2.2.Plug-and-play setup
- 2.3.Versatility
- 3.Use cases
- 4.Components
- 4.1.Communication
- 4.2.Multimedia
- 4.3.Peripheral
- 4.4.Smart card
- 4.5.Storage
- 4.6.UART converter
- 4.7.Vendor
- 5.Drivers and supported controllers
- 6.emPower-USB-Host+
- 7.Performance
Overview
emUSB-Host software enables USB peripherals to work with embedded devices. It provides full USB-host functionality, including external hub support and device-class drivers as an option. The software complies with USB standard specifications as set by the USB Implementors Forum, and it supports all transfer modes (control, bulk, interrupt, and isochronous) at all speeds.
USB pipe management and extended error recovery mechanisms are implemented internally to ensure reliable operation. Furthermore, sophisticated test procedures ensure quality and dependability. Modular design enables applications to either access the USB-host programming interface directly, or to use APIs made available by class drivers.
emUSB-Host can manage multiple devices and hubs simultaneously, and it fully supports device and hub hot plugging. The programming interface supports dynamic device enumeration and identification. With emUSB-Host, developers can seamlessly integrate USB functionality into embedded systems.
Key features

Reliability
emUSB-Host implements internal USB pipe-management and extended error-recovery mechanisms. These ensure reliable and consistent operation.
Furthermore, sophisticated test procedures ensure quality and dependability for any situation.

Plug-and-play setup
Setting up emUSB-Host is as easy as plug-and-play. New devices are automatically detected and enumerated, and respective target applications notified of their presence.
Device removal is just as simple, and emUSB-Host even ensures that all transfers are cancelled, before “cleaning up” afterwards. Integration is hassle free, as enumeration is handled in the application.

Versatility
emUSB-Host supports a wide range of USB classes and devices — even proprietary third-party classes. For proprietary USB vendor-class-specific implementations, the dedicated “USB vendor class component” can assist.
Connecting multi-interfaces devices is trouble free, as each interface has a dedicated class handler.
Use cases
Apps can dynamically extend a host’s capabilities or enable customization by manufacturers, OEMs, and end customers. Use cases include test apps, communications (web server, customization), automation, and many more.
Device control hub
emUSB-Host host can function as a device control hub by working together with other SEGGER products, such as Flasher Hub-4, Flasher Hub-12, and Flasher Compact.
Components
SEGGER's USB host stack works on any embedded system with a USB host controller. All transfer modes, commonly used standard device classes, and USB trees with multiple hubs are supported.
emUSB-Host consists of three layers: A driver for hardware access, the core, and at least one USB protocol layer. SEGGER recommends purchasing emUSB-Host as a complete bundle by selecting the emUSB-Host PRO package. This includes support for the most common use cases, such as human interface devices for user interaction, USB sticks for exporting and importing data, printer support, and serial-communication support.
Communication
CDC
These protocols provide access to COM port devices and allow device-to-device communication via USB. They also enable communication for mobile networks such as GSM, 3G, LTE, and cable-based network modems.
LAN
emUSB-Host LAN provides support for a multitude of ethernet-over-USB adapters, which enable network access for any embedded system with a USB host.

Multimedia

Audio
The audio protocol enables communication with any Audio 1.0 device that complies with the USB Device Class Definition for Audio Devices as specified by the USB Implementers Forum.
MIDI
This protocol is for music devices using the MIDI interface via USB. Devices here include MIDI controllers, MIDI sequencers, drum computers, instruments, effect units, samplers, and synthesizers.
Smart card

CCID
The Chip Card Interface Device protocol allows enumeration and communication with any CCID compatible USB device, such as a smart-card reader.
Vendor
Vendor/custom
The Vendor protocol enables detection and communication with any device, typically those running a custom or proprietary protocol.

Drivers and supported controllers
emUSB-Host has no hardware dependencies; these are encapsulated through a hardware abstraction layer called a driver.
In order to manage the number of drivers required, emUSB-Host has a flexible driver concept that supports almost all host controllers on the market. A complete list of currently supported drivers is available below. If a controller is not listed, it can be added by contacting SEGGER customer support.
emPower-USB-Host+

emPower-USB-Host+ is a low-cost board for applications that require two USB-Host ports in a simple and streamlined design. SEGGER software such as emUSB-Host, emLoad, and embOS is ready to run on the board.
The board is accessible via debug probe and use of J-Link OB on the board.
Performance
Performance metrics for read and write speeds, based on system configuration.
Licensing

emUSB-Host is available under various embedded software license models and delivered in object and source-code packages. With a wide range of licensing options, emUSB-Host can fulfill both commercial and technical requirements.
All licenses are obtained through one-time payments. emUSB-Host is royalty free and is not subscription based, meaning that software is a part of equipment expenses, keeping costs static. emUSB-Host licenses include six months of updates and support from SEGGER's Embedded Experts.
* Applies only to a second license and any additional license(s) purchased for the same product under the Single Product License and Single Developer License.
Friendly License
emUSB-Host is also available under SEGGER's Friendly License, which allows free-of-charge use for non-commercial, evaluation, and educational purposes. With this license, the product is fully functional and there are no technical limitations. To download the license, please visit https://www.segger.com/downloads/emusb-host/.
FAQ
Why should I use a USB host stack in my embedded system?
There are numerous advantages to adding emUSB-Host to hardware; some of these include:
- Low cost: A USB connector and corresponding components are typically less expensive to purchase than alternative communication interfaces.
- Reliability: The USB protocol ensures data integrity. Errors are detected by the sender, and data can be retransmitted, if needed.
- Versatility: emUSB-Host allows connection with virtually any other technology. Use of a USB-host port network with an Ethernet-over-USB adapter adds connectivity. User-input functionality can be added via connection with an external USB display, keyboard, and mouse. Storage capacity is extendable via MSD stick or hard drive.
- Adaptable speeds: The USB protocol provides multiple speed modes to accommodate an application's needs.
- Expandable: USB hubs can connect multiple devices to a USB host.
- Ease of use: End users need only connect a cable; a USB device is enumerated with no need for user configuration.
Latest news
Get in touch with us
Have questions or need assistance? Our Embedded Experts are here to help!
Reach out to us for:
- Licensing quotes
- Technical inquiries
- Project support







