Tel. +31­ 345 545535
Coming soon...
Who we work with
What's going on
Something to read
Who we are
Where we are
You are on the following page: Products > Protocol Stacks & Security > USB > emUSB (Universal USB Device Stack) Nederlands | French

emUSB (Universal USB Device Stack)

emUSB is a high speed USB device stack specifically designed for embedded Systems. The software is written in ANSI "C" and can run on any platform. emUSB can be used with embOS or any other supported RTOS. A variety of target drivers are already available. Support for new platforms can usually be added for no extra charge. It cab be used on any platform and is not RTOS specific.


  • High speed
  • Optimized to be used with embOS but works with any other supported RTOS.
  • Easy to use
  • Easy to port
  • No custom USB host driver necessary
  • Start / test application supplied
  • Highly efficient, portable, and commented ANSI C source code
  • Hardware abstraction layer allows rapid addition of support for new devices.

emUSB consists of three layers: A driver for hardware access, the emUSB core and at least an USB class driver or the bulk communication component.

The different available hardware drivers, the USB class drivers and the bulk communication component are additional packages, which can be combined and ordered as it fits to the requirements of the project. Normally, emUSB consists of a driver that fits to the used hardware, the emUSB core and at least one of the USB class drivers MSD, CDC, HID or the unclassified bulk component


Component Description
  USB protocol layer
Bulk emUSB bulk component (emUSB-Bulk)
MSD  emUSB Mass Storage Device class component (emUSB-MSD)
CDC emUSB Communication Device Class component (emUSB-CDC)
HID emUSB Human Interface Device Class component (emUSB-HID)
  Core layer
emUSB Core The emUSB core is the intrinsic USB stack
  Hardware layer
Driver USB controller driver


emUSB Bulk

The emUSB-Bulk stack consists of an embedded side, which is shipped in source code form, and a driver for the PC, which is typically shipped as executable (.sys). (The source of the PC driver can also be ordered.)

Purpose of emUSB-Bulk

emUSB-Bulk allows developers to quickly and painlessly develop software for an embedded device that communicates with a PC via USB. The communication is like a single, high speed, reliable channel (very similar to a TCP connection). It basically allows the PC to send data to the embedded target, the embedded target to receive these bytes and reply with any number of bytes. The PC is the USB host, the target is the USB client. The USB standard defines 4 types of communication: Control, isochronous, interrupt and bulk. Experience shows, that for most embedded devices bulk mode is the communication mode of choice. It allows usage of the full bandwidth of the USB bus.



Several licensing models are available, including Per Developer Licensing. More here>>

How to buy

For any enquiries regarding the SEGGER emUSB, please contact Gerard Fianen at Indes - IDS B.V.




INDES-IDS BV offers solutions for Embedded Software Development as well as for the Telecommunication NEMS and Service Providers. In these markets we offer products of either the market leader or the innovation leaders. Our goal is to assist you to get to the market sooner by offering a combination of products, knowledge and services.