NXP LPC17xx

NXP LPC176x

NXP LPC1766, LPC1768, and LPC1769. Drivers are available for CAN, DAC, Ethernet, GPIO, GPIO interrupts, I2C, UARTs, SPI, SSP, USB host, and USB device. Additional drivers for the RTC, ADC, DAC, Timers, PWM and MCPWM were contributed by Max (himax) in NuttX-7.3. Verified LPC17xx configurations are available for these boards:

  • The Nucleus 2G board from 2G Engineering (LPC1768),

  • The mbed board from mbed.org (LPC1768, Contributed by Dave Marples), and

  • The LPC1766-STK board from Olimex (LPC1766).

  • The Embedded Artists base board with NXP LPCXpresso LPC1768.

  • Zilogic’s ZKIT-ARM-1769 board.

  • The Micromint Lincoln60 board with an NXP LPC1769.

  • A version of the LPCXPresso LPC1768 board with special support for the U-Blox model evaluation board.

  • Support for the Keil MCB1700 was contributed by Alan Carvalho de Assis in NuttX-7.23.

  • Support for the NXP Semiconductors’ PN5180 NFC Frontend Development Kit was contributed by Michael Jung in NuttX-7.1. This board is based on the NXP LPC1769 MCU.

The Nucleus 2G board, the mbed board, the LPCXpresso, and the MCB1700 all feature the NXP LPC1768 MCU; the Olimex LPC1766-STK board features an LPC1766. All use a GNU arm-nuttx-elf or arm-eabi toolchain* under either Linux or Cygwin (with native Windows GNU tools or Cygwin-based GNU tools).

STATUS: The following summarizes the features that has been developed and verified on individual LPC17xx-based boards. These features should, however, be common and available for all LPC17xx-based boards.

  1. Nucleus2G LPC1768

    • Some initial files for the LPC17xx family were released in NuttX 5.6, but

    • The first functional release for the NXP LPC1768/Nucleus2G occurred with NuttX 5.7 with Some additional enhancements through NuttX-5.9. Refer to the NuttX board README file for further information.

    That initial, 5.6, basic release included timer interrupts and a serial console and was verified using the NuttX OS test (apps/examples/ostest). Configurations available include include a verified NuttShell (NSH) configuration (see NSH). The NSH configuration supports the Nucleus2G’s microSD slot and additional configurations are available to exercise the USB serial and USB mass storage devices. However, due to some technical reasons, neither the SPI nor the USB device drivers are fully verified. (Although they have since been verified on other platforms; this needs to be revisited on the Nucleus2G).

    Obsoleted. Support for the Nucleus2G board was terminated on 2016-04-12. There has not been any activity with the commercial board in a few years and it no longer appears to be available from the 2g-eng.com website. Since the board is commercial and no longer publicly available, it no longer qualifies for inclusion in the open source repositories. A snapshot of the code is still available in the Obsoleted repository and can easily be reconstitued if needed.

  2. mbed LPC1768

    • Support for the mbed board was contributed by Dave Marples and released in NuttX-5.11. Refer to the NuttX board README file for further information.

  3. Olimex LPC1766-STK

    • Support for that Olimex-LPC1766-STK board was added to NuttX 5.13.

    • The NuttX-5.14 release extended that support with an Ethernet driver.

    • The NuttX-5.15 release further extended the support with a functional USB device driver and SPI-based micro-SD.

    • The NuttX-5.16 release added a functional USB host controller driver and USB host mass storage class driver.

    • The NuttX-5.17 released added support for low-speed USB devices, interrupt endpoints, and a USB host HID keyboard class driver.

    • Refer to the NuttX board README file for further information.

    Verified configurations are now available for the NuttShell with networking and microSD support(NSH, see NSH), for the NuttX network test, for the THTTPD webserver, for USB serial deive and USB storage devices examples, and for the USB host HID keyboard driver. Support for the USB host mass storage device can optionally be configured for the NSH example. A driver for the Nokia 6100 LCD and an NX graphics configuration for the Olimex LPC1766-STK have been added. However, neither the LCD driver nor the NX configuration have been verified as of the NuttX-5.17 release.

  4. Embedded Artists base board with NXP LPCXpresso LPC1768

    An fully verified board configuration is included in NuttX-6.2. The Code Red toolchain is supported under either Linux or Windows. Verified configurations include DHCPD, the NuttShell (NSH), NuttX graphis (NX), THTTPD, and USB mass storage device. Refer to the NuttX board README file for further information.

  5. Zilogic’s ZKIT-ARM-1769 board

    Zilogic System’s ARM development Kit, ZKIT-ARM-1769. This board is based on the NXP LPC1769. The initial release was included NuttX-6.26. The NuttX Buildroot toolchain is used by default. Verifed configurations include the “Hello, World!” example application and a THTTPD demonstration. Refer to the NuttX board README file for further information.

  6. Micromint Lincoln60 board with an NXP LPC1769

    This board configuration was contributed and made available in NuttX-6.20. As contributed board support, I am unsure of what all has been verfied and what has not. See the Microment website and the NuttX board README file for further information about the Lincoln board.

  7. U-Blox Modem Evaluation (LPCXpresso LPC1768)

    This board configuration was contributed by Vladimir Komendantskiy and made available in NuttX-7.15. This is a variant of the LPCXpresso LPC1768 board support with special provisions for the U-Blox Model Evaluation board. See the NuttX board README file for further information about this port.

  8. Keil MCB1700 (LPC1768)

    This board configuration was contributed by Alan Carvalho de Assis in NuttX-7.23.

  9. PN5180 NFC Frontend Development Kit

    This board configuration was contributed by Michael Jung in NuttX-7.31.

Development Environments: 1) Linux with native Linux GNU toolchain, 2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows native toolchain (CodeSourcery devkitARM or Code Red), or 4) Native Windows. A DIY toolchain for Linux or Cygwin is provided by the NuttX buildroot package.

NXP LPC178x

The port of NuttX to the WaveShare Open1788 is a collaborative effort between Rommel Marcelo and myself (with Rommel being the leading contributor and I claiming only a support role). You can get more information at the Open1788 board from the WaveShare website.

Supported Boards