The LPC1768FBD100 from NXP Semiconductors is the flagship member of the LPC176x/5x family of ARM Cortex-M3 microcontrollers, offering the maximum memory density (512 KB Flash / 64 KB SRAM) and the full peripheral set in a 100-pin LQFP package. It is one of the most popular and widely-deployed Cortex-M3 MCUs in the industry, with a mature ecosystem and extensive software support.
The LPC1768 is significant because it was one of the first Cortex-M3 devices to integrate Ethernet MAC, USB 2.0, and CAN in a single chip, targeting industrial networking, motor control, and smart metering applications that previously required multiple chips or a higher-end ARM9 processor. The pin-compatibility with the older LPC2368 (ARM7TDMI) allows easy migration from ARM7 to Cortex-M3 with only software changes.
The ARM Cortex-M3 core runs at up to 100 MHz and achieves 1.25 DMIPS/MHz (125 DMIPS at 100 MHz). The 3-stage pipeline with speculative branch prefetch provides efficient instruction throughput. The built-in NVIC supports up to 33 interrupt vectors with 8 programmable priority levels, enabling deterministic real-time interrupt handling. The MPU allows privileged software to define 8 memory regions with individual access permissions, protecting critical data from corruption by unprivileged code.
The 512 KB Flash provides ample code storage for complex applications including TCP/IP stacks, USB device stacks, CAN protocol stacks, and motor control algorithms. The Flash supports in-system programming (ISP) via UART and in-application programming (IAP) for firmware updates, data logging, and boot loader implementation. The 64 KB SRAM is sufficient for large application data structures, network buffers, and USB endpoint buffers.
The 8-channel GPDMA is a key performance feature that allows data transfers between peripherals and memory without CPU intervention. Each DMA channel can be triggered by UART, SSP, I2S, ADC, DAC, timer match events, or external DMA requests. The multilayer AHB matrix provides separate bus paths for the CPU, DMA, Ethernet, and USB, eliminating arbitration delays and allowing concurrent bus transactions. This architecture enables the CPU to execute code from Flash while the DMA simultaneously transfers Ethernet packets and USB data.
The Ethernet MAC with RMII interface and dedicated DMA controller provides full 10/100 Mbps Ethernet capability. The MAC implements the IEEE 802.3 MAC layer including CRC generation/checking, frame filtering, and flow control. The dedicated DMA engine handles frame reception and transmission autonomously, reducing CPU overhead for network communication. An external PHY chip (such as DP83848 or LAN8720) is required to complete the physical layer.
The USB 2.0 full-speed controller supports Device, Host, and OTG modes. In Device mode, it supports up to 16 endpoints (in addition to EP0) with dedicated DMA. In Host mode, it can enumerate and communicate with USB peripherals. The OTG mode allows the device to act as either host or peripheral. The on-chip PHY eliminates the need for an external USB transceiver.
The dual CAN 2.0B controller is essential for automotive and industrial applications. Each channel supports standard (11-bit) and extended (29-bit) identifiers, with individual acceptance filters. The CAN controller handles bit timing, stuffing, CRC, and error management in hardware, reducing CPU overhead.
The motor control PWM supports 3-phase motor drive with complementary PWM outputs, dead-time generation, and fault protection inputs. Combined with the ADC (which can be synchronized to the PWM for current sampling) and the quadrature encoder interface, the LPC1768 provides a complete motor control subsystem.
The 4 low-power modes (Sleep, Deep-sleep, Power-down, Deep power-down) with the Wake-up Interrupt Controller (WIC) enable battery-powered applications. In Deep power-down mode, the RTC can remain operational from the VBAT supply while the rest of the chip is powered down, consuming only a few microamps.
The mbed platform (now part of Arm) originally launched with the LPC1768 as its reference MCU, and the mbed online compiler and HDK were designed around it. This gives the LPC1768 one of the largest collections of open-source libraries and example code among Cortex-M3 devices. The device is also supported by NXP’s MCUXpresso IDE, Keil MDK, IAR Embedded Workbench, and GCC-based toolchains.