NXP LPC
LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals. The earliest LPC series were based on the Intel 8-bit 80C51 core. As of February 2011, NXP had shipped over one billion ARM processor-based chips.
package and LPC1343 in 48-pin LQFP package.
Overview
All recent LPC families are based on ARM cores, which NXP Semiconductors licenses from ARM Holdings, then adds their own peripherals before converting the design into a silicon die. NXP is the only vendor shipping an ARM Cortex-M core in a dual in-line package: [|LPC810] in DIP8 and [|LPC1114] in DIP28. The following tables summarize the NXP LPC microcontroller families.LPC1100
LPC800
NXP Series | CPU Core |
LPC700 |
History
- In 1982, Philips Semiconductors invented the I²C-bus, and is currently the top supplier of I²C solutions in the world.
- In September 2006, Philips Semiconductors was spun off to a consortium of private equity investors and changed its name to NXP. As part of this spin off, NXP acquired the older Philips LPC microcontroller families.
- In September 2006, NXP announced the LPC2300 and LPC2400 ARM7 series.
- In September 2007, NXP announced the LPC2900 series.
- In February 2008, NXP announced the licensing of the ARM Cortex-M3 core from ARM Holdings.
- In March 2008, NXP announced the LPC3200 ARM9 series.
- In October 2008, NXP announced the LPC1700 series.
- In February 2009, NXP announced the licensing of the ARM Cortex-M0 core from ARM Holdings.
- In May 2009, NXP announced the LPC1300 series.
- In January 2010, NXP launched the LPCXpresso Toolchain for NXP ARM processors.
- In February 2010, NXP announced the licensing of the ARM Cortex-M4F core from ARM Holdings.
- In April 2010, NXP announced the LPC1102, the world’s smallest ARM microcontroller at 2.17 mm x 2.32 mm size.
- In September 2010, NXP announced the LPC1800 series.
- In February 2011, NXP announced the LPC1200 series.
- In April 2011, NXP announced the LPC11U00 series with USB.
- In September 2011, NXP announced the LPC11D00 series with a LCD controller.
- In December 2011, NXP announced the LPC4300 series, the first dual-core chip with an ARM Cortex-M4F and ARM Cortex-M0.
- In February 2012, NXP announced the LPC1100LV series with dual supply voltage to allow interfacing to both 1.8 V and 3.3 V peripherals.
- In March 2012, NXP announced the LPC1100XL series for extra low-power and LPC11E00 series with EEPROM.
- In March 2012, NXP announced the licensing of the ARM Cortex-M0+ core from ARM Holdings.
- In March 2012, NXP introduced a "longevity program" to promise availability of IC chips from select ARM families for 10 or more years.
- In March 2012, NXP announced the LPC11A00 series with flexible analog subsystem.
- In April 2012, NXP announced the LPC11C00 series with a CAN bus controller.
- In September 2012, NXP announced the LPC4000 series based on ARM Cortex-M4F.
- In November 2012, NXP announced the LPC800 series based on the ARM Cortex-M0+ core, and the first ARM Cortex-M in a DIP8 package.
- In April 2013, NXP announced the LPC-Link 2 JTAG / SWD debug adapter. Multiple firmware versions are available to emulate popular debug adapters.
- In May 2013, NXP announced that it acquired Code Red Technologies, an embedded software development tools provider, such as the LPCXpresso IDE and Red Suite.
- In October 2013, NXP announced the LPC4370 microcontroller.
- In December 2013, NXP announced the LPC11E37H and the LPC11U37H microcontrollers.
LPC4000 series
LPC4300
The LPC4300 series have two or three ARM cores, one ARM Cortex-M4F and one or two ARM Cortex-M0. The [|LPC4350] chips are pin-compatible with the [|LPC1850] chips. The [|LPC4330-Xplorer] development board is available from NXP. The summary for this series is:- Core:
- * ARM Cortex-M4F and one or two ARM Cortex-M0 core at a maximum clock rate of 204 MHz.
- * Debug interface is JTAG or SWD with SWO "Serial Trace", eight breakpoints and four watch points. JTAG supports both cores, but SWD only supports Cortex-M4F core.
- Memory:
- * Static RAM sizes of 104 / 136 / 168 / 200 / 264 KB.
- * Flash sizes of 0 / 512 / 768 / 1024 KB.
- * EEPROM size of 16 KB.
- * ROM size of 64 KB, which contains a boot loader with optional booting from USART0 / USART3, USB0 / USB1, SPI Flash, Quad SPI Flash, external 8 / 16/ 32-bit NOR flash. The ROM also contains an API for in-system programming, in-application programming, OTP programming, USB device stack for HID / MSC / DFU.
- * OTP size of 64 bits.
- * Each chip has a factory-programmed 128-bit unique device identifier number.
- Peripherals:
- * four UART, two I²C, one SPI, two CAN, none / one / two high-speed USB 2.0 Host/Device controller, none or one ethernet controller, none or one LCD controller, interface for SDRAM, and more.
- Oscillators consists of optional external 1 to 25 MHz crystal or oscillator, external 32.768 kHz crystal for RTC, internal 12 MHz oscillator, and three internal PLLs for CPU / USB / Audio.
- IC packages: LQFP100, TFBGA100, LQFP144, TFBGA180, LQFP208, LBGA256.
- Operating voltage range is 2.2 to 3.6 volt.
LPC4000
- Core:
- * ARM Cortex-M4F core at a maximum clock rate of 120 MHz.
- * Debug interface is JTAG or SWD with SWO "Serial Trace", eight breakpoints and four watch points.
- Memory:
- * Static RAM sizes of 24 / 40 / 80 / 96 KB.
- * Flash sizes of 64 / 128 / 256 / 512 KB.
- * EEPROM sizes of 2 / 4 KB.
- * ROM boot loader.
- * Each chip has a factory-programmed 128-bit unique device identifier number.
- Peripherals:
- * four or five UART, three I²C, one high-speed USB 2.0 Device controller or Host / Device / OTG controller, none or one ethernet controller, none or one LCD controller, and more.
- Oscillators consists of optional external 1 to 25 MHz crystal or oscillator, external 32.768 kHz crystal for RTC, internal 12 MHz oscillator, and two internal PLLs for CPU and USB.
- IC packages: LQFP80, LQFP144, TFBGA180, LQFP208, TFBGA208.
- Operating voltage range is 2.4 to 3.6 volt.
LPC3000 series
LPC3200
The LPC3200 series are based on the ARM926EJ-S processor core.LPC3100
The LPC3100 series are based on the ARM926EJ-S processor core. The LPC3154 is used by NXP to implement the LPC-Link debugger on all LPCXpresso boards. The LPC3180 core operates up to 208 MHz, and features interfaces for SDRAM, USB 2.0 full-speed, NAND flash, Secure Digital and I²C.LPC2000 series
LPC2000 is a series based on a 1.8-volt ARM7TDMI-S core operating at up to 80 MHz together with a variety of peripherals including serial interfaces, 10-bit ADC/DAC, timers, capture compare, PWM, USB interface, and external bus options. Flash memory ranges from 32 kB to 512 kB; RAM ranges from 4 kB to 96 kB.NXP has two related series without the LPC name, the LH7 series are based on the ARM7TDMI-S and ARM720T cores, and the LH7A series are based on the ARM9TDMI core.
LPC2900
The LPC2900 series are based on the ARM968E-S processor core.LPC2400
The LPC2400 series are based on the ARM7TDMI-S processor core.LPC2300
The LPC2300 series are based on the ARM7TDMI-S processor core. The LPC2364/66/68 and the LPC2378 are full-speed USB 2.0 devices with 2 CAN interfaces and 10/100 Ethernet MAC in LQFP100 and LQFP144 packages. Multiple peripherals are supported including a 10-bit 8-channel ADC and a 10-bit DAC.LPC2200
The LPC2200 series are based on the ARM7TDMI-S processor core.LPC2100
The LPC2100 series are based on the ARM7TDMI-S processor core. The LPC2141, LPC2142, LPC2144, LPC2146, and LPC2148 are full-speed USB 2.0 devices in LQFP64 packages. Multiple peripherals are supported including one or two 10-bit ADCs and an optional 10-bit DAC.LPC1000 series
The NXP LPC1000 family consists of six series of microcontrollers: LPC1800, LPC1700, LPC1500, LPC1300, LPC1200, LPC1100. The LPC1800, LPC1700, LPC1500, LPC1300 series are based on the Cortex-M3 ARM processor core. The LPC1200 and LPC1100 are based on the Cortex-M0 ARM processor core.LPC1800
The NXP LPC1800-series are based on the ARM Cortex-M3 core. The LPC1850 is pin-compatible with the LPC4350 parts. The available packages are TBGA100, LQFP144, BGA180, LQFP208, BGA256. The LPC4330-Xplorer development board is available from NXP.The Apple M7 and M8 motion co-processor chips are most likely based on the LPC1800 series, as LPC18A1 and LPC18B1.
LPC1700
The NXP LPC1700-series are based on the ARM Cortex-M3 core. The LPC178x is pin-compatible with the LPC408x parts. The available packages are LQFP80, LQFP100, TFBGA100, LQFP144, TFBGA180, LQFP208, TFBGA208. The [|LPC1769-LPCXpresso] development board is available from NXP. The mbed LPC1768 board is also available. With EmCrafts LPC-LNX-EVB a LPC1788 based board with μClinux is available.LPC1500
The NXP LPC1500-series are based on the ARM Cortex-M3 core. The available packages are LQFP48, LQFP64, LQFP100. The [|LPC1549-LPCXpresso] development board is available from NXP along with a motor control kit.LPC1300
The NXP LPC1300-series are based on the ARM Cortex-M3 core. The available packages are HVQFN33, LQFP48, LQFP64. The [|LPC1343-LPCXpresso] and LPC1347-LPCXpresso development board are available from NXP.LPC1200
The NXP LPC1200-family are based on the ARM Cortex-M0 core. It consists of 2 series: LPC1200, LPC12D00. The available packages are LQFP48, LQFP64, LQFP100. The [|LPC1227-LPCXpresso] development board is available from NXP.LPC1100
The NXP LPC1100-family are based on the ARM Cortex-M0 core. It consists of 8 series: LPC1100 Miniature, LPC1100L, LPC1100LV, LPC11A00, LPC11C00, LPC11D00, LPC11E00, LPC11U00.LPC1100 Miniature
The LPC1100 series primarily targets an ultra tiny footprint. The available package is WLCSP16. The [|LPC1104-LPCXpresso] development board is available from NXP.LPC1100(X)L
The LPC1100L-series consists of three subseries: LPC111x, LPC111xL, and LPC111xXL. The LPC111xL and LPC111xXL include the power profiles, a windowed watchdog timer, and a configurable open-drain mode. The LPC1110XL adds a Non-Maskable Interrupt and 256-byte page flash erase function. The [|LPC1114-LPCXpresso] and LPC1115-LPCXpresso development board are available from NXP. The summary for these series are:- Core:
- * ARM Cortex-M0 core at a maximum clock rate of 50 MHz.
- * Includes 24-bit SysTick Timer.
- * Debug interface is SWD with four breakpoints and two watchpoints. JTAG debugging is not supported.
- Memory:
- * Static RAM sizes of 1 / 2 / 4 / 8 KB general purpose.
- * Flash sizes of 4 / 8 / 16 / 24 / 32 / 64 KB general purpose.
- * ROM boot loader.
- * Each chip has a factory-programmed 128-bit unique device identifier number.
- Peripherals:
- * LPC111x has one UART, one I²C, one or two SPI, two 16-bit timers, two 32-bit timers, watch dog timer, five to eight multiplexed 10-bit ADC, 14 to 42 GPIO.
- ** I²C supports standard mode / fast-mode / fast-mode Plus speeds, master / slave / snooping modes, multiple slave addresses.
- * LPC111xL consists of LPC111x features, plus low power profile in active and sleep modes, internal pull-up resistors to pull-up pins to full VDD level, programmable pseudo open-drain mode for GPIO pins, upgraded to windowed watch dog timer with clock source lock capability.
- * LPC111xXL consists of LPC1110L features, plus flash page erase In-Application Programming function, timers / UART / SSP peripherals available on more pins, one capture feature added to each timer, capture-clear feature on 16-bit and 32-bit timers for pulse-width measurements.
- Oscillators consists of optional external 1 to 25 MHz crystal or oscillator, internal 12 MHz oscillator, internal programmable 9.3 kHz to 2.3 MHz watchdog oscillator, and one internal PLL for CPU.
- IC packages:
- * LPC111x and LPC111xXL in HVQFN33, LQFP48.
- * LPC111xL in SO20, TSSOP20, TSSOP28, DIP28, HVQFN24, HVQFN33, LQFP48. NXP is the only vendor shipping ARM Cortex-M cores in DIP packages.
- Operating voltage range is 1.8 to 3.6 volt.
LPC1100LV
LPC11A00
The LPC11A00 series primarily targets analog features, such as: 10-bit ADC, 10-bit DAC, analog comparators, analog voltage reference, temperature sensor, EEPROM memory. The available packages are WLCSP20, HVQFN33, HVQFN33, LQFP48.LPC11C00
The LPC11C00 series primarily targets CAN bus features, such as: one MCAN controller, and the LPC11C22 and LPC11C24 parts include an on-chip high-speed CAN transceiver. The available package is LQFP48. The [|LPC11C24-LPCXpresso] development board is available from NXP.LPC11D00
The LPC11D00 series primarily targets LCD display features, such as: 4 x 40 segment LCD driver. The available package is LQFP100.LPC11E00
The LPC11E00 series primarily targets EEPROM memory and Smart Card features.LPC11U00
The LPC11U00 series primarily targets USB features, such as: USB 2.0 full-speed controller. It's the first Cortex-M0 with integrated drivers in ROM. This series is pin-compatible with the LPC134x series. The [|LPC11U14-LPCXpresso] development board is available from NXP. The mbed LPC11U24 board is also available.LPC800 series
LPC800
The NXP LPC800 microcontroller family are based on the Cortex-M0+ ARM processor core. Unique features include a pin switch matrix, state configurable timer, clockless wake-up controller, single-cycle GPIO, DIP8 package. The [|LPC812-LPCXpresso] development board is available from NXP. The summary for this series is:- Core:
- * ARM Cortex-M0+ core at a maximum clock rate of 30 MHz.
- * Includes a single-cycle 32x32 bit multiplier, 24-bit SysTick Timer, Vector Table Relocation, full NVIC with 32 interrupts and four levels of priorities, single-cycle GPIO.
- * Doesn't include a memory protection unit, nor a wake-up interrupt controller. Instead NXP added their own clockless wake-up controller to lower power usage.
- * The debug interface is SWD with four breakpoints, two watchpoints, 1 KB Micro Trace Buffer. JTAG debugging is not supported.
- Memory:
- * Static RAM sizes of 1 / 2 / 4 KB general purpose.
- * Flash sizes of 4 / 8 / 16 KB general purpose, zero wait-state up to 20 MHz, one wait-state up to 30 MHz.
- * ROM size of 8 KB, which contains a boot loader with optional booting from USART. The ROM also contains an API for USART communication, I²C communication, flash programming, in-system programming, and power profile.
- * Each chip has a factory-programmed 128-bit unique device identifier number.
- Peripherals:
- * One to three USARTs, one I²C, one or two SPI, one analog comparator, four interrupt timers, state configurable timer, wake-up timer, windowed watchdog timer, 6 to 18 single-cycle GPIOs, cyclic redundancy check engine, pin switch matrix, four low-power modes, brownout detect.
- * I²C supports standard mode / fast-mode / fast-mode Plus speeds, master / slave / snooping modes, multiple slave addresses.
- Oscillators consists of optional external 1 to 25 MHz crystal or oscillator, internal 12 MHz oscillator, internal programmable 9.3 kHz to 2.3 MHz watchdog oscillator, and one internal PLL for CPU.
- IC packages are DIP8, TSSOP16, TSSOP20, SO20. NXP is the only vendor shipping ARM Cortex-M cores in DIP packages.
- Operating voltage range is 1.8 to 3.6 volt.
Legacy series
LPC900
The LPC900 series are legacy devices based on the 8-bit 80C51 processor core.LPC700
The LPC700 series are legacy devices based on the 8-bit 80C51 processor core.Development boards
LPCXpresso boards
LPCXpresso boards are sold by NXP to provide a quick and easy way for engineers to evaluate their microcontroller chips. The LPCXpresso boards are jointly developed by NXP, , and .Each LPCXpresso board has the following common features:
- On-board LPC-LINK for programming and debugging via a MiniUSB connector.
- Board can be cut into two separate boards: LPC-LINK board and target microcontroller board.
- Power input from 5 V via the USB cable or 5 V external power. If boards are separated, then 3.3 V external power is required for the target microcontroller board.
- Target microcontroller side:
- * User LED.
- * 12 MHz crystal.
- * Prototype area.
- * Holes for JTAG/SWD debugger connection.
- * DIP footprint compatible with mbed boards.
- LPC1769 LPCXpresso, p/n OM13000.
- LPC1549 LPCXpresso, p/n OM13056.
- LPC1347 LPCXpresso, p/n OM13045.
- LPC1343 LPCXpresso, p/n OM11048.
- LPC1227 LPCXpresso, p/n OM13008.
- LPC11U68 LPCXpresso, p/n OM13065.
- LPC11U14 LPCXpresso, p/n OM13014.
- LPC11C24 LPCXpresso, p/n OM13012.
- LPC1115 LPCXpresso, p/n OM13035.
- LPC1114 LPCXpresso, p/n OM11049.
- LPC1104 LPCXpresso, p/n OM13047.
- LPC812 LPCXpresso, p/n OM13053.
- mbed LPC1768
- mbed LPC11U24
- NGX LPCXpresso BaseBoard, p/n OM13016, created by NGX.
- EA LPCXpresso BaseBoard, p/n OM11083, created by Embedded Artists.
Development tools
Cortex-M
LPC
;Flash programming via UARTAll LPC microcontrollers have a ROM'ed bootloader that supports loading a binary image into its flash memory using one or more peripherals. Since all LPC bootloaders support loading from the UART peripheral and most boards connect a UART to RS-232 or a USB-to-UART adapter IC, thus it's a universal method to program the LPC microcontrollers. Some microcontrollers requires the target board to have a way to enable/disable booting from the ROM'ed bootloader.
- A multi-platform open-source tool to flash LPC microcontrollers over the UART.
- , a commercial program for Windows and macOS to perform in-system programming of the LPC flash via its UART.
- , an open-source tool to flash LPC microcontrollers over the UART.
- , an open source software package for JTAG access using a wide variety of hardware adapters.
- LPC-Link 2, by NXP, a JTAG / SWD debug adapter that has multiple firmware releases available to emulate popular debug adapter protocols, such as: J-Link by Segger, CMSIS-DAP by ARM, Redlink by Code Red Technologies. All connectors are 1.27 mm pitch.
Documentation
A typical top-down documentation tree is: manufacturer website, manufacturer marketing slides, manufacturer datasheet for the exact physical chip, manufacturer detailed reference manual that describes common peripherals and aspects of a physical chip family, ARM core generic user guide, ARM core technical reference manual, ARM architecture reference manual that describes the instruction set.
;NXP documentation tree :
- NXP website.
- NXP marketing slides.
- NXP datasheet.
- NXP reference manual.
- ARM core website.
- ARM core generic user guide.
- ARM core technical reference manual.
- ARM architecture reference manual.