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 DIP package: LPC810 in DIP8 (0.3-inch width) and LPC1114 in DIP28 (0.6-inch width). The following tables summarize the NXP LPC microcontroller families.

In 1982, Philips Semiconductors invented the I²C-bus, and currently the top supplier of I²C solutions in the world.[11]

In September 2006, Philips Semiconductors was spun off to a consortium of private equity investors and changed its name to NXP.[1] 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.[12]

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 (one is OTG capable), none or one ethernet controller, none or one LCD controller, interface for SDRAM, and more.

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-bitADC/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.[citation needed]

NXP has two related series without the LPC name, the LH7 series are based on the ARM7TDMI-S and ARM720T cores,[51] and the LH7A series are based on the ARM9TDMI core.[52]

The LPC2300 series are based on the ARM7TDMI-S processor core.[12][55] 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.[citation needed]

The LPC2100 series are based on the ARM7TDMI-S processor core.[57] 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.[citation needed]

The NXP LPC1000 family consists of five series of microcontrollers: LPC1800, LPC1700, LPC1300, LPC1200, LPC1100. The LPC1800, LPC1700, LPC1300 series are based on the Cortex-M3 ARM processor core.[58] The LPC1200 and LPC1100 are based on the Cortex-M0 ARM processor core.[59]

The NXP LPC1800-series are based on the ARM Cortex-M3 core.[22][60] 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.

The NXP LPC1700-series are based on the ARM Cortex-M3 core.[16][61] 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.[62]

The NXP LPC1300-series are based on the ARM Cortex-M3 core.[18][63] The available packages are HVQFN33, LQFP48, LQFP64. The LPC1343-LPCXpresso and LPC1347-LPCXpresso development board are available from NXP.

The NXP LPC1200-family are based on the ARM Cortex-M0 core. It consists of 2 series: LPC1200, LPC12D00.[23][64][65] The available packages are LQFP48, LQFP64, LQFP100. The LPC1227-LPCXpresso development board is available from NXP.

The LPC1100(X)L-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 (NMI) 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:[28][67]

The LPC1100LV series primarily targets a low operating voltage range of 1.65 to 1.95 volt power. Its I²C is limited to 400 kHz. It is available in two power supply options: A 1.8 volt single power supply (WLCSP25 and HVQFN24 packages), or 1.8 volt (core) / 3.3 volt (IO/analog) dual power supply with 5 volt tolerant I/O (HVQFN33 package). The available packages are WLCSP25 (2.17 mm × 2.32 mm), HVQFN24 and HVQFN33.[27][68]

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.[32][70] The LPC11C24-LPCXpresso development board is available from NXP.

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.[24][73] The LPC11U14-LPCXpresso development board is available from NXP. The mbed LPC11U24 board is also available.

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:[34][75][76]

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.

All LPC microcontrollers have a ROM'ed bootloader that supports loading a binary image into its flash memory using one or more peripherals (varies by family). 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 (i.e. jumper / switch / button).

lpc21isp A multi-platform open-source tool to flash LPC microcontrollers over the UART.

Flash Magic, a commercial program for Windows and macOS to perform in-system programming of the LPC flash via its UART.

Debugging tools (JTAG / SWD)

OpenOCD, a 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 firmwares 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 (0.05-inch) pitch.[35][36]

The amount of documentation for all ARM chips is daunting, especially for newcomers. The documentation for microcontrollers from past decades would easily be inclusive in a single document, but as chips have evolved so has the documentation grown. The total documentation is especially hard to grasp for all ARM chips since it consists of documents from the IC manufacturer (NXP Semiconductors) and documents from CPU core vendor (ARM Holdings).