We use cookies to make your experience better. To comply with the new e-Privacy directive, we need to ask for your consent to set the cookies. Learn more.
emUSB-Device enables easy integration of USB functionality into an embedded system. Multiple standard classes are provided that allow embedded systems to behave as standard USB devices and communicate with any host like Windows, Linux and Mac systems. Examples are mass storage device, keyboard, mouse, printer, speaker, modem, RS232 serial adapter or network adapter. Additionally proprietary protocols may be implemented using the BULK class provided by emUSB-Device. Multiple classes may be combined in any way to form a Composite Device with multiple interfaces that can be used simultaneously.
Bulk componentThe emUSB-Device Bulk component allows developers to quickly and painlessly develop software for an embedded device that communicates with a PC via USB. Application samples for emUSB-Device BulkSEGGER Debug Probe J-Link - Temperature Logger - Software Protection Dongle |
Mass Storage Device class.The emUSB-Device Bulk component allows developers to quickly and painlessly develop software for an embedded device that communicates with a PC via USB. Application samples for emUSB-Device MSDSEGGER Debug Probe J-Link - Temperature Logger - Software Protection Dongle |
Media Transfer ProtocolThe Media Transfer Protocol (MTP) is a USB class protocol which can be used to transfer files to and from storage devices. MTP is an official extension of the Picture Transfer Protocol (PTP) designed to allow digital cameras to exchange image files with a computer. MTP extends this by adding support for all types of files. Application samples for emUSB-Device MTPSmartphone - Camera - Mp3 Player |
Communication Device ClassThe USB Communications Device Class (CDC) allows to convert the USB device into a serial communication device. Application samples for emUSB-Device CDCModem - Fax - Measurement Device |
Human Interface Device class.Application samples for emUSB-Device HIDKeyboard & Mouse - Barcode Scanner - Touch Screen -Joystick - Fingerprint Sensor - RFID Reader - 3D Mouse - Trackball - Uninterruptible Power Supply - Weighing Scale |
The USB class protocol for printers is used for the handling of output devices, like printers and plotters. Application samples for emUSB-Device Printer classPrinter |
USB Audio Device classEasily transmit audio via USB. Record or replay audio received from the host, send recorded audio to the host. Simple and driverless! Plug-and-play on any operating system.Application samples emUSB Device AudioConference speakerphone - Headset - USB sound card |
Ethernet via USBemUSB-Device RNDIS allows a USB device to act as a virtual network adapter. This can be used to run any TCP/IP based application via USB. The most noteworthy application is a USB based webserver.Application samples for emUSB-Device RNDISConference speakerphone - Headset - USB sound card |
Ethernet via USBemUSB-Device CDC-ECM enables a USB device to act as a virtual network adapter. This can be used to run TCP/IP-based applications over USB.Application samples for emUSB-Device CDC-ECMUSB to Ethernet Adapter - Router/Gateway |
Cross platform, driverless file transfer, virtual file systemThe 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.Application samples for emUSB-Device SmartMSDSmart watch - J-Link OB |
emUSB-Device Consists of Three Layers. These layers are a driver for hardware access, the emUSB-Device core, and at least one USB class driver or the bulk communication component. USB class drivers (MSD, CDC, HID, MTP, RNDIS, IP), Bulk communication component and SmartMSD component can be combined in any way to suit the requirements of any target USB-Device.
Component | Description |
---|---|
Ethernet communication | |
emUSB-Device IP | Cross platform IP over USB communication (contains emUSB-RNDIS and emUSB-ECM) |
emUSB-Device RNDIS | Ethernet over USB communication using Remote NDIS protocol |
emUSB-Device ECM | Ethernet over USB communication using Communication Device Class / Ethernet Control Model protocol (CDC-ECM) |
emUSB-Device SmartMSD | Virtual mass storage device (contains emUSB-MSD) |
emUSB-Device MSD | Mass Storage Device class |
emUSB-Device MTP | Mass storage using Media Transfer Protocol (MTP) |
emUSB-Device CDC | Serial communication over USB using Communication Device Class / Abstract Control Model protocol (CDC-ACM), typically RS-232 emulation |
emUSB-Device HID | Human Interface Device Class (HID) component (e.g. Mouse and Keyboard) |
emUSB-Device Printer | Printer protocol class |
Other communication | |
emUSB-Device Bulk | Easy and fast USB communication without any protocol overhead |
emUSB-Device Audio | Easily handle audio data. |
Core layer | |
emUSB-Device Core | The emUSB-Device core is the intrinsic USB stack. |
Hardware layer | |
Driver | USB controller driver. |
SEGGER provide support for an extensive range of MCUs with on-chip USB controllers. The driver interface has been designed in such a way that it should be possible to use the most common USB device controllers and easily add drivers for USB controllers that are not yet supported.
Full list of supported devices
USB class drivers and hardware drivers are separate packages, which can be combined and ordered individually to suit the requirements of any project. SEGGER recommends to purchase emUSB-Device as a complete package by selecting the emUSB-Device PRO package. It includes support for the most common use cases, such as human interface devices for user interaction, file storage and transfer and serial communication support. The following table shows, which modules are part of the PRO package and which are optionally available.
- Cross platform works with Linux, Mac, Windows, and other hosts
- Direct support from the USB product developers
- Uniform API for all supported controllers
- Easy to use API and documentation
- Small memory footprint
Tecnologix offers support which is directly handled by development team. Do not hesitate to get in touch with our experts.
Just ask here