emUSB-Host
USB peripherals with embedded devices
emUSB-Host is a USB host software specifically designed for embedded systems that allows USB peripherals to simply work with embedded devices. It implements full USB host functionality, including external hub support and optionally provides device class drivers. emUSB-Host enables developers to easily add USB host functionality to embedded systems.
![SEGGER emUSB-Host SEGGER emUSB-Host](/fileadmin/_processed_/6/b/csm_Produkt-Icon_emUSB-Host_03a582a593.png)
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 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.
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
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.
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.
Component | Description | emUSB-Host BASE | emUSB-Host PRO |
---|---|---|---|
USB protocol layer | |||
Audio | emUSB-Host Audio component | ||
CCID | emUSB-Host CCID class component. | ||
CDC | emUSB-Host Communication Device Class component. | ||
CP210x | emUSB-Host CP210x UART support. | ||
FT232 | emUSB-Host FTDI UART component. | ||
HID | emUSB-Host Human Interface Device Class component. | ||
LAN | emUSB-Host LAN component. | ||
MIDI | emUSB-Host MIDI class component. | ||
MSD | emUSB-Host Mass Storage Device Class component. | ||
MTP | emUSB-Host Media Transfer Protocol component. | ||
Printer | emUSB-Host Printer component. | ||
Vendor | emUSB-Host Vendor class component. | ||
Video | emUSB-Host Video component | ||
Core layer | |||
emUSB Core | The emUSB-Host core is the intrinsic USB stack | ||
Hardware layer | |||
Driver | USB controller driver |
Included One item included Optional
Audio
Application samples for emUSB-Device Audio
![Microphone](/fileadmin/_processed_/2/7/csm_Microphone_47eccf3a86.png)
Microphone
![USB Speaking](/fileadmin/_processed_/8/4/csm_USB-Speaker_fa75bb2c69.png)
Speakers
![Bluetooth Speaker](/fileadmin/_processed_/e/c/csm_bluetooth_speaker_be2e50c397.png)
Sound bar
![emUSB device audio headset headphones](/fileadmin/_processed_/b/9/csm_emUSB-Device-audio-headset-500x_e99df93d57.png)
Headset
![USB Soundcard](/fileadmin/_processed_/d/7/csm_USB-Soundcard-aux_354212d600.png)
USB sound card
CDC
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
CP210X
Peripherals compatible with emUSB-Host CP210X
![USB to TTL](/fileadmin/_processed_/8/7/csm_USB-to-TTL_868a612981.png)
CP2102 USB to UART Bridge
FT232
Peripherals compatible with emUSB-Host FTDI UART
![rs232 adapter](/fileadmin/_processed_/c/2/csm_rs232-Adapter-500x_b81addb907.png)
USB to RS232 Converter
HID
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](/fileadmin/_processed_/9/2/csm_keyboard-mouse-500x_0986adedb1.png)
Keyboard & Mouse
Barcode Scanner
![touchscreen](/fileadmin/_processed_/9/0/csm_Touchscreen_6c78962e43.png)
Touch Screen
![industrial joystick](/fileadmin/_processed_/3/0/csm_industrie-joystick-500x_d8d0438c61.png)
Joystick
![fingerprint sensor](/fileadmin/_processed_/4/c/csm_fingerprint-sensor-500x_99460cea9d.png)
Fingerprint Sensor
![rfid reader](/fileadmin/_processed_/2/f/csm_rfid-reader_e3c8449c3a.png)
RFID Reader
![3d tracker](/fileadmin/_processed_/6/f/csm_3d-tracker_d4f5bf76da.png)
3D Mouse
![trackball](/fileadmin/_processed_/7/5/csm_Trackball_500x_62cf5f8c19.png)
Trackball
![USV](/fileadmin/_processed_/9/2/csm_USV_500x_c2da337c47.png)
Uninterruptible Power Supply
![weighing scale](/fileadmin/_processed_/3/6/csm_weighing-scale_3c9cda992d.png)
Weighing Scale
LAN
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 to Ethernet Adapter
Internet Stick
![smartphone](/fileadmin/_processed_/a/0/csm_smartphone-500x_f37736fcde.png)
USB Tethering
MIDI
MIDI devices and instruments compatible with emUSB-Host MIDI
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 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.
Licensing
emUSB-Host is available under various Embedded Software License models and delivered in source code packages. With a wide range of licensing options, emUSB-Host can fulfill commercial requirements as well as technical requirements. All licenses are one-time payments. emUSB-Host is royalty-free and not subscription-based. This makes the software a part of the equipment expenses, keeping the costs static.
* Applies to second seat/product and all additional seats/products of the Single Product License and Single Developer License.