USB Host Interface

The USB Host library is an embedded USB stack supporting USB MSC (Mass Storage Class) and HID (Human Interface Device) classes. It has been designed to be high-performance while using as little memory as possible. The library includes examples which demonstrate using USB mass storage devices together with a Flash File System, and using an external HID input devices.

USB host interface

Product Highlights

  • Abstraction layer allows a standard API to be used for different USB Host controllers
  • USB Host controller support
    • Generic Open Host Controller Interface (OHCI)
    • Low level driver support for NXP LPC17xx/23xx/24xx devices
    • Custom Host controller driver for STM32F105/7 (connectivity line) devices
    • USB 1.1 Low Speed (1.5Mbit/s) and Full Speed (12Mbit/s)
  • Common USB Device Class support
    • Human Interface Devices (HID)
    • Mass Storage Class (MSC)
  • High-speed (670KB/sec) and small code-size (~6KB)
  • Integrated with other MDK-Professional components
    • MSC works with Flash File System to support USB Flash drive and SD/SDHC/MMC card storage devices
    • USB Host works with the RTX Real-Time Operating System


  • The USB Host Interface is provided in binary form as part of MDK-Professional. It is not included with other MDK-ARM Editions.

USB Standards
USB 1.1 support yes
Low-speed support (1.5 Mbits/s) yes
Full-speed support (12 Mbits/s) yes
USB Host Controller Standards
Open Host Controller Interface (OHCI) yes
STM32 Host Controller yes
USB Endpoints
Control yes
Interrupt yes
Bulk yes
Device Classes
Human Interface Device (HID) yes
Mass Storage (MSD) yes

Device Read (KB/s) Write (KB/s)
LPC1700 643.398 554.181
LPC2300 658.706 568.161
LPC2400 658.708 568.162
STM32 713.608 679.563


  • Thes performance figures were achevied using a Mass Storage example.

Memory Requirements
USB Host Component Code Size (KBytes) RAM Size (KBytes)
USB Host Core 3.32 0.12
Mass Storage Class Support 3.85 0.03
HID Class Support 1.87 0.07
LPC17xx HW Driver 3.36 1.00
STM32F10x HW Driver 2.52 0.66


  • All example figures are based on Cortex-M3
  • All values are minimum requirements with minimum data buffers and no application code



We use cookies to give you the best experience on our website. By continuing to use our site you consent to our cookies.

Change Settings

Find out more about the cookies we set