NOTICE: This website will be shut down in the near future. Product content has moved to Forum content and FAQs have been moved to We encourage you to create a user account on to use the new community forums and access NXP microcontroller content. We greatly appreciate your contributions and look forward to seeing you at our new web location.


Dual Hi-Speed USB Host/Device Solution

Need dual Hi-Speed USB functionality in your next product design? This solution brings together everything you'll need to implement dual-USB functionality - host, device, or dual-role - in your LPC microcontroller-based product designs. The demos include:

  • Two Hi-Speed USB device controllers operating simultaneously for input and output (HS-FS, HS-HS, or FS-FS also possible)

  • Hi-Speed USB port acting in dual-role mode (first as HS host then as HS device)

This comprehensive solution takes advantage of the LPC1837 microcontroller's dual Hi-Speed USB ports as well as host and device controllers to enable easy evaluation of the LPC1800 family for dual-port and dual-role USB applications. The LPC MCU portfolio also includes other dual-USB parts (LPC4000 and LPC4300 families) that are ideal for use in high-performance dual-USB applications.




About the LPC1837 MCU

One of the fastest Cortex-M3 MCUs available with speeds up to 180 MHz, the LPC1837 offers the industry's largest on-chip SRAM, with up to 200 KB provided in multiple banks and unique peripherals like two High-Speed USB controllers, on-chip HS PHY, a flexible SPI Flash Interface, and a configurable SCT Timer/PWM.

The LPC1837 USB Host controller complies with the Enhanced host Controller (EHCI) specification and supports EHCI/OHI registers. The controller includes an integrated DMA block, supports power management, and the audio PLL and to correlate SOF with the external clock, adjustable frame lengths. For more information about the LPC1837 and other products in our LPC1800 series of microcontrollers, go to the LPC1800 product pages.

 LPC1800 Features:

  • 180 MHz, 32-bit ARM Cortex-M3
  • Up to 1 MB dual-bank Flash
  • Up to 200 KB SRAM
  • Up to 4 KB EEPROM
  • Memory Protection Unit (MPU)
  • Two high-speed USB 2.0 interfaces - USB0: on-chip high-speed PHY; USB1: on-chip full-speed PHY or ULPI external PHY
  • 10/100T Ethernet MAC with MII and RMII interfaces
  • LCD controller with 1024 x 768 pixel display resolution
  • Innovative Quad SPI Flash Interface (SPIFI)
  • State Configurable Timer (SCT) Subsystem
  • Two CAN 2.0B
  • AES Decryption with 128-bit secure OTP key storage
  • Up to 164 GPIO
  • Pin-compatible with the LPC4300 series

Dual-USB Solution Kit Contents:

TheDual-USB solution kit comes with all the hardware and software needed to demonstration real world applications. Pre-loaded with two example demos, the solution is compatible with KEIL μVision IDE and the LPCXpresso v6 IDE.

  • (1) LPC1837 Xplorer board
  • (1) 4 GB USB Flash drive
  • (1) Earbud Set
  • (2) Micro - TypeA USB cables
  • (1) Micro - Femaile TypeA USB cable
  • (1) LPC-Link 2 JTAG debugger
  • Source Code
  • Sample MP3 files
  • Pre-built demo image
  • Quickstart Guide (VIEW HERE)

Additional Links:

LPC1837 Dual Hi-Speed USB - Getting Started Video


LPC1837 Dual Hi-Speed USB - Extended Training Video


Example Demos:

Demonstration 1
This example demonstrates two USB device controllers operating simultaneously. The board is connected to a Windows PC, a Micro SD card loaded with an MP3 file, and a set of earbuds. The PC streams the MP3 file stored on the Micro SD card over a High Speed USB connection (USB0), decodes it with Media Player on the PC, and then streams it back to the Full Speed USB connection (USB1), where it is played through the ear buds. The USB0 block enumerates as a High Speed Mass Storage Class device, while the USB1 block enumerates as a Full Speed Audio Class Device (UAC 1.0).

Demonstration 2

This example demonstrates dual role (host/device) operation over a single USB port. The LPC1837 uses HS USB Host operation to copy files from a Micro SD card to a USB Flash drive. The LPC1837 reads the root directory on the Micro SD card to get a file list, then copies each file on the list, one at a time, to the USB Flash drive. Files
are transferred in 8K chunks using the microcontroller’s internal memory.




NOTE: The source code for this demo includes long path names which can cause compilers to use more than the 255 character limit on Windows command line arguments. To avoid a problem be sure to position the source code close to the root directory of a drive. For example:

            this works -> C:\temp\Dual USB Demo\

this does not work -> C:\Users\dep00111\Desktop\\Dual USB demo\


Your rating: None