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.

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.

ARM Developer Resources

Looking for
Technical Information?

Developer Resources

Find out more...

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


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