USB host mass storage class (MSC) example

Document created by jorge_plascencia Employee on Apr 26, 2016Last modified by ebiz_ws_prod on Dec 13, 2017
Version 5Show Document
  • View in full screen mode

NXP Semiconductors and OnChip Technologies have partnered to provide USBHostLite software for our LPC1000, LPC2000, and LPC3000 families of microcontrollers with USB host capability. These include members of the LPC17xx series, the LPC23xx series, the LPC24xx series, the LPC29xx series, the LPC31xx series, and the LPC32xx series of microcontrollers. USBHostLite is a stripped-down USB host stack that includes only USB mass storage class support with the bare minimum code to run in an OS-less environment. USBHostLite provides a simple solution for accessing the files on USB mass storage devices such as USB Pen Drives, USB Hard Disk Drives, etc., connected to the USB Host port.


The USBHostLite supports the following features:

  • Runs without any operating system
  • Contains small memory footprint
  • Source code is written in ANSI C and is independent of IDE
  • Supports control and bulk transfers
  • Supports FAT16 file system
  • Simple File APIs allow file read and write operations
  • Well structured and easily understandable source code


The complimentary USBHostLite software from NXP has following limitations:

  • USBHostLite is currently only ported to and tested on Embedded Artists' LPC2468 OEM board and Keil's MCB1760 board.
  • Classes other than the mass storage are not supported.
  • The mass storage interface must be present in the first configuration.
  • Max Logical Unit Number (LUN) greater than zero not supported.
  • File systems other than FAT16 are not supported.
  • Long filenames are not supported.
  • Files located in folders other than root directory cannot be accesed.
  • The buffer size used in the application must not exceed 4KB.

Note: This application note describes the USBHostLite stack in general and its application on the Embedded Artists LPC2468 OEM board in particular.


USBHostLite for LPC source code is free to NXP customers for unlimited use with NXP LPC2000 and LPC3000 families of microcontrollers only. By downloading or using the USBHostLite software, you agree to use it solely with these NXP microcontrollers.USBHostLite stack ported to the LPC293x devices on the Hitex LPC2939 board:

  • USBHostLite for LPC293x VBeta 0.01 (Jul 28, 2009) - Attached

USBHostLite stack ported to the LPC2468 device on the Embedded Artists LPC2468 OEM board:

  • USBHostLite for LPC23xx/LPC24xx V1.00 (Jan 4, 2010)

USBHostLite stack ported to the LPC1768 device on the Keil MCB1760 evaluation board:

  • USBHostLite for LPC17xx VBeta 0.01 (Jul 14, 2009) - Attached

For customer applications requiring full featured and production quality embedded USB stacks, OnChip Technologies LLC provides embedded USB Host/Device/OTG stacks that are fully compliant with the USB specifications and offers great degree of stability and configurability.

More Information


This software is provided AS-IS by NXP Semiconductors. NXP Semiconductors does not support or warrant the software contained herein for any purpose other than for informational use. Please contact OnChip Technologies LLC for further assistance including support options and other embedded USB host/device/OTG stacks.

For Further Assistance

Other Professional USB Host Stack Solutions for the LPC3000, LPC2000, and LPC1000 families

Original Attachment has been moved to:

Original Attachment has been moved to: