LPC ARM quick start

From DP

Jump to: navigation , search



  • 32bits, 48MHz+, 3.3volts
  • Cortex M3 ARM processor
  • Cheap and friendly packaging (TQFP-44 and up)
  • Built in USB protocol handling for HID and MSD (LPC1343)
  • Programmable over USB with built-in MSD bootloader (LPC1343)
  • 17xx has Ethernet
  • 13xx is SWD debug only, 17xx has SWD and JTAG


Development and programming

IDEs and compilers

Programmers and debuggers

  • [OpenOCD]


  • LPC17xx supports normal JTAG debug and SWD, the LPC17xx will work with common FT2232 JTAG debuggers and OpenOCD
  • LPC13xx supports SWD (two-wire JTAG) only, OpenOCD does not yet support SWD


USB (LPC1343 only) and serial bootloaders are integrated into the chip. These are in the chip when it ships, and cannot be deleted.

A really cool feature of the LPC13xx is an MSD bootloader integrated into the hardware. It appears as a USB disk drive under Windows, just drag an update into the device.

LPC13xx USB MSD bootloader is well supported in Windows.

USB based LPC13xx devices appears as USB disk drive under GNU/Linux as well. But, copying .bin file does not flash the device under GNU/Linux. Use the following commands instead :

sudo mdel -i /dev/sdc ::/firmware.bin

where /dev/sdc is the LPC1343 device and default file firmware.bin is the flash content.

sudo mcopy -i /dev/sdc firmware.bin ::/

where /dev/sdc is the LPC1343 device and firmware.bin is your compiled binary file

Basic circuit



  • 3.3volt power supply
  • Connect all the supply pins to power or ground.
  • Put a 0.1uF decouple capacitor on each positive supply pin, and put it as close to the chip on your PCB as possible.



  • RESET is the reset pin
  • Reset is active low and requires an external pull-up for normal operation. A 10Kohm resistor will work.
  • It's an IO: it pulls low externally on all system resets

Programming connections


Boot configuration pins


PIO0_1PIO0_3 Bootloader mode
1XNormal operating mode
01 USB MSD device
00 UART serial port ISP
  • PIO0_1=0 to enter bootloader
  • PIO0_3 determines the bootloader type on USB chips


Serial bootloader only.

  • Low on P2[10] while RESET is low enables bootloader



  • LPC1343: PIO0_7 can output up to 20mA and sink 4mA. PIO0_4 and PIO0_5 can sink up to 20mA. Other IO pins can sink and source up to 4mA only.



  • Requires resistors on D+ and D-
  • Requires a connect notification with soft-start circuit