Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Support
  • About Us
  • Blog
  • Forum
  • Search
    • Contact Us
    • Forum
    • Wiki
    • Web Shop
    • Newsletter
    • RSS
  •   Jobs
  •   Videos
  •   Blog
  •   Sustainability
  • emUSB-Host
  • Technology
  • Add-Ons
  • Accessories
emUSB Host Product Icon SEGGER (Blue)

emUSB-Host — Leading USB host software for Embedded Systems

emUSB-Host is a USB host software specifically designed for embedded systems. It 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.

  1. 1.Overview
    1. 1.1.emPower-USB-Host
    2. 1.2.Key features
  2. 2.Audio
    1. 2.1.Application samples for emUSB-Device Audio
  3. 3.CCID
    1. 3.1.Peripherals compatible with emUSB-Host CCID Class
  4. 4.CDC
    1. 4.1.Peripherals compatible with emUSB-Host CDC
  5. 5.CP210X
    1. 5.1.Peripherals compatible with emUSB-Host CP210X
  6. 6.FT232
    1. 6.1.Peripherals compatible with emUSB-Host FTDI UART
  7. 7.HID
    1. 7.1.Peripherals compatible with emUSB-Host HID
  8. 8.LAN
    1. 8.1.Peripherals compatible with emUSB-Host LAN
  9. 9.MIDI
    1. 9.1.MIDI devices and instruments compatible with emUSB-Host MIDI
  10. 10.MSD
    1. 10.1.Peripherals compatible with emUSB-Host MSD
  11. 11.MTP
    1. 11.1.Peripherals compatible with emUSB-Host MTP
  12. 12.Printer
    1. 12.1.Peripherals compatible with emUSB-Host Printer
  13. 13.Vendor
    1. 13.1.Peripherals compatible with emUSB-Host Vendor Class
  14. 14.Video
    1. 14.1.Peripherals compatible with emUSB-Host Video Class
  15. 15.Advantages of adding USB host to your hardware
  16. 16.emUSB-Host Components
  17. 17.emUSB-Host Drivers
  18. 18.Buyer's Guide

Overview

The emUSB-Host software complies with the USB standard specifications as set by the USB Implementors Forum. It supports all transfer modes (control, bulk, interrupt, isochronous) at all speeds. USB pipe management and extended error recovery mechanisms required for reliable operation are implemented internally. Sophisticated test procedures ensure the reliability and quality of the USB host software.

emUSB-Host's modular design enables applications to either access the USB host programming interface directly or to use APIs made available via by class drivers.

emUSB-Host can handle multiple devices as well as hubs simultaneously and fully supports hot plugging of devices and hubs. The programming interface supports dynamic device enumeration and identification.

emPower-USB-Host

emPower USB Host

emPower-USB-Host is a low-cost board for applications that require two USB-Host ports in a simple and small design. SEGGER software including emUSB-Host, emLoad and embOS are ready to run on the board.

Accessing the board with a debug probe can be achieved by using the J-Link OB on the board.

More information

Key features

  • Professional USB-Host software for embedded systems
  • Direct support from the product developers
  • Highly portable and uniform API for all supported controllers
  • High performance, small memory footprint in RAM and ROM
  • Simple to integrate into your embedded environment
  • emPower-USB-Host Dual USB platform available

Audio

emusb audio

USB Audio Host class

The emUSB-Host-Audio class allows audio devices, such as microphones, speakers or musical players to communicate with a USB host target. The class allows to record or play audio through the host.

Application samples for emUSB-Device Audio

Microphone

Microphone

USB Speaking

Speakers

Bluetooth Speaker

Sound bar

emUSB device audio headset headphones

Headset

USB Soundcard

USB sound card

CCID

emusb CCID bb ns chip on blue background

CCID class

SEGGER's emUSB-Host CCID Class provides an easy-to-use interface to handle smart card readers and communicate with smart cards.

Peripherals compatible with emUSB-Host CCID Class

card reader card

Card reader

card reader nfc 1

NFC card reader

cardreader nfc 2

RFID card reader

CDC

emUSB cdc bb ns

Communication Device Class

The USB Communications Device Class (CDC) provides access to COM port devices via USB. This enables communication via modems for mobile networks such as GSM/3G/LTE or cable based network modems. Any device which uses CDC for configuration and data transmission, such as a point-of-sale terminal, can be accessed via the CDC class driver as well.

Peripherals compatible with emUSB-Host CDC

modem

Modem

 

black fax machine

Fax

 

pos terminal

POS-Terminal

Click here for sample project.

CP210X

emusb ft232 bb ns

CP210X Device Driver

Many devices formerly connected via UART have been equipped with USB interfaces using serial to UART converters such as the CP210x USB-to-UART Bridges from Silicon Labs. emUSB-Host is capable of easily addressing such devices.

Peripherals compatible with emUSB-Host CP210X

USB to TTL

CP2102 USB to UART Bridge

FT232

emusb ft232 bb ns

FTDI FT232 Device Driver

Many devices formerly connected via UART have been equipped with USB interfaces using serial to UART converters such as the FTDI UART and FT-X devices from FTDI. emUSB-Host is capable of easily addressing such devices.

Peripherals compatible with emUSB-Host FTDI UART

rs232 adapter

USB to RS232 Converter

HID

embUS hid bb ns

Human Interface Device class.

The Human Interface Device class (HID) supports the handling of devices which are used by humans to control the operation of computer systems. The class enables the use of input devices such as keyboards, mice, trackballs, touch-controllers, barcode scanners, joysticks, game controllers, RFID readers. And even devices which do not require direct human control such as digital thermometers, software protection dongles, uninterruptible power supplies.

Peripherals compatible with emUSB-Host HID

keyboard mouse

Keyboard & Mouse

barcode scanner

Barcode Scanner

Click here for sample project.

touchscreen

Touch Screen

industrial joystick

Joystick

fingerprint sensor

Fingerprint Sensor

rfid reader

RFID Reader

3d tracker

3D Mouse

trackball

Trackball

USV

Uninterruptible Power Supply

weighing scale

Weighing Scale

LAN

emusb ethernet bb ns

Ethernet-over-USB adapter support

emUSB-Host LAN provides support for a multitude of Ethernet-over-USB adapters which can easily enable network access for any embedded system with USB host.

Peripherals compatible with emUSB-Host LAN

USB 2 Ethernet Adapter

USB to Ethernet Adapter

Click here for sample project.

Surfstick

Internet Stick

Click here for sample project.

smartphone

USB Tethering

MIDI

MIDI Synthesizer Icon

MIDI class

The USB class protocol for MIDI is used to interact with music devices and studio equipment, such as MIDI controllers, sequencers, drum machines, samplers, effects units, synthesizers, instruments, lighting and recording equipment.

MIDI devices and instruments compatible with emUSB-Host MIDI

audio keyboard

Synthesizer

Click here for sample project.

novation Launchpad

Controller

effectsunit

Effects Unit

MSD

emusb msd bb ns

Mass Storage Device Class

The Mass Storage Device class (MSD) is used to get access to external storage media such as USB-sticks, external hard disk drives and memory card readers.

Peripherals compatible with emUSB-Host MSD

memory stick

Memory Stick

hard disk

USB Hard Disk Drive

card reader

Cardreader

MTP

mtp bb ns

Media Transfer Protocol

The Media Transfer Protocol (MTP) can be used to transfer files to and from storage devices like digital cameras or smartphones.

Peripherals compatible with emUSB-Host MTP

smartphone

Smartphone

camera

Camera

Printer

embUSB printer bb ns icon

Printer class

The USB class protocol for printers is used for the handling of output devices, like printers and plotters.

Peripherals compatible with emUSB-Host Printer

black printer with paper tray

Printer

Vendor

emUSB bulk ns

Vendor class

SEGGER's emUSB-Host Vendor Class provides an easy-to-use interface to devices running custom or proprietary protocols.

Peripherals compatible with emUSB-Host Vendor Class

J-Link PLUS

SEGGER Debug Probe J-Link

thermostat

Temperature Logger

copy protectio dongle

Software Protection Dongle

gamepad

Gamepad

Video

emusb video bb ns

USB Video Host class

The emUSB-Host-Video class allows video devices, such as webcams to communicate with a USB host target. The class allows to receive video from input devices.

Peripherals compatible with emUSB-Host Video Class

webcam

Webcam

Advantages of adding USB host to your hardware

  • Low cost: The USB connector and the corresponding components are normally cheaper than alternative communication interfaces.
  • Reliable: The USB protocol contains measures to ensure data integrity. Errors are detected by the sender and data can be retransmitted.
  • Versatile: USB host allows to connect with virtually any other technology. Using a USB host port network connectivity can be added by connecting an Ethernet-over-USB adapter. User input can be added by connecting an external USB display, USB keyboard and USB mouse. Storage capacity can be extended by connecting an MSD stick or hard drive.
  • Fast: Multiple speed modes are provided by the USB protocol to accommodate the application's needs.
  • Expandable: USB hubs can be used to connect multiple devices to a USB host.
  • Easy to use: The end user only has to connect a cable, a USB device is enumerated without the need for user configuration.

emUSB-Host Components

SEGGER's USB host stack designed to work on any embedded system with a USB host controller. Bulk communication along with all other transfer modes is supported. All commonly used standard device classes are supported. USB trees with multiple hubs are supported as well.

emUSB-Host consists of three layers. These layers are a driver for hardware access, the emUSB-Host core, and at least one USB protocol layer.

ComponentDescription
USB protocol layer
AudioemUSB-Host Audio component
CCIDemUSB-Host CCID class component.
CDCemUSB-Host Communication Device Class component.
CP210xemUSB-Host CP210x UART support.
FT232emUSB-Host FTDI UART component.
HIDemUSB-Host Human Interface Device Class component.
LANemUSB-Host LAN component.
MIDIemUSB-Host MIDI class component.
MSDemUSB-Host Mass Storage Device Class component.
MTPemUSB-Host Media Transfer Protocol component.
PrinteremUSB-Host Printer component.
VendoremUSB-Host Vendor class component.
VideoemUSB-Host Video component
Core layer
emUSB CoreThe emUSB-Host core is the intrinsic USB stack
Hardware layer
DriverUSB controller driver
emUSB Host components

emUSB-Host Drivers

emUSB-Host does not contain any hardware dependencies. These are encapsulated through a hardware abstraction layer, called a driver. In order to manage the number of required drivers, emUSB-Host has a flexible driver concept, that supports almost all host controllers in the market. For a complete list of currently supported controllers, press the button below. If a controller is not listed, please feel free to contact us about adding support.

List of supported drivers

Buyer's Guide

SEGGER recommends to purchase emUSB-Host as a complete package by selecting the emUSB-Host PRO package. It includes support for the most common use cases, such as handling human interface devices for user interaction, handling USB sticks to export and import data, printer support and serial communication support. The following table shows, which modules are part of the PRO package and which are optionally available.

Additional modulesemUSB-Host BASEemUSB-Host PRO
emUSB-Host AUDIO component

emUSB-Host CCID component

emUSB-Host CDC component

emUSB-Host-Controller driver

emUSB-Host CP210x UART support

emUSB-Host FTDI UART support

emUSB-Host HID component

emUSB-Host LAN component

emUSB-Host MIDI component

emUSB-Host MSD component

emUSB-Host MTP component

emUSB-Host Printer component

emUSB-Host Stack

emUSB-Host VIDEO component

Included

 One item included

Optional

More Information

Purchase

  • Pricing

Technology

  • Drivers
  • Performance
  • Quality Assurance
  • Resource usage
  • Samples
  • On-The-Go

Add-Ons

  • Audio Class
  • CCID Class
  • CDC Class
  • CP210x
  • FTDI UART
  • HID Class
  • LAN
  • MIDI Class
  • MSD Class
  • MTP Class
  • Printer Class
  • Vendor Class
  • Video Class

Accessories

  • emPower-USB-Host

About us

  • The Company
  • Partners
  • Job Offers
  • Media
  • Contact us

Support

  • Technical Support
  • Blog
  • Forum
  • Wiki

Downloads

  • Application Notes
  • Embedded Studio
  • embOS
  • emCompress
  • emCrypt
  • emFile
  • emLib
  • emLoad
  • emModbus
  • emNet
  • emPower
  • emSecure
  • emSSH
  • emSSL
  • emUSB-Device
  • emUSB-Host
  • emVNC
  • emWin
  • Flasher
  • Free Utilities
  • IoT
  • J-Link / J-Trace
  • Linux Studio
  • SystemView
  • CE / REACH

Social Media

Headquarters

SEGGER Microcontroller GmbH

Ecolab-Allee 5
40789 Monheim am Rhein, Germany
info@segger.com
Tel.: +49-2173-99312-0
Fax: +49-2173-99312-28

Locations

USA: SEGGER Microcontroller Systems LLC

Boston area
101 Suffolk Lane
Gardner, MA 01440, USA
us-east@segger.com
Tel.: +1-978-874-0299
Fax: +1-978-874-0599

Silicon Valley
Milpitas, CA 95035, USA
us-west@segger.com
Tel.: +1-408-767-4068

China: SEGGER Microcontroller China Co., Ltd.

Room 218, Block A, Dahongqiaoguoji
No. 133 Xiulian Road
Minhang District, Shanghai 201199, China
china@segger.com
Tel.: +86-133-619-907-60

ISO 9001 certified

ISO 9001

30+ years of experience

First-class embedded software tools since 1992
  • Imprint
  • Disclaimer
  • Privacy Policy

© 2022 SEGGER - All rights reserved.