1
Plug It In2
Get Software3
Build, Run4
Modify an SDK ExampleSign in to save your progress. Don't have an account? Create one.
Let's take your LPCXpresso55S16 for a test drive!. You have the choice of watching the sequence in a short video or following the detailed actions listed below.
Something went wrong! Please try again.
There are four micro-USB connectors on the board. One each for Full and High Speed USB, one for supplying power only and one for debug. Plug the USB cable into the one labeled +5 V Power Only as shown in the photo.
Something went wrong! Please try again.
Your LPCXpresso55S16 board comes loaded with a program to verify that target MCU is running.
The application is active if the green LED in the RGB-LED flashed with a 1 Hz rate.
Something went wrong! Please try again.
Something went wrong! Please try again.
For this test you need:
Instructions:
OOB_test demo source code (multi_peripherals_test project) is available in SDK.
Something went wrong! Please try again.
The General Purpose Microcontrollers Software Development Kit (SDK) is complimentary and includes full source code under a permissive open-source license for all hardware abstraction and peripheral driver software.
Click below to download the latest SDK release for the LPCXpresso55S16, make sure you select Host OS, Toolchain and desired components.
You can also use the online SDK Builder to create a custom SDK package for the LPCXpresso55S16.
Something went wrong! Please try again.
General Purpose Microcontrollers IDE is development platform ecosystem from NXP. It provides an end-to-end solution enabling engineers to develop embedded applications from initial evaluation to final production.
Want to use a different toolchain? Need to help choosing
No problem, The General Purpose Microcontrollers SDK includes support for other tools such as IAR, Keil, and command-line GCC.
Something went wrong! Please try again.
Before to set up your LPCXpresso55S16 for use it with 3rd party tools, first install LPCScrypt in order to install the board’s device drivers. To change the board's debug firmware follow the LPCScrypt tutorial.
Something went wrong! Please try again.
The General Purpose Microcontrollers Config Tool is an integrated suite of configuration tools that guides users in creating new General Purpose Microcontrollers SDK projects, and also provides pin and clock tools to generate initialization C code for custom board support, It is fully integrated into General Purpose Microcontrollers or you can download a seperate tool.
To learn more about the basic interactions between the tools wh working with either an imported MCUXpresso SDK example project or creating a new project within the IDE, watch this three-part video series.
Basic Application Development Using MCUXpresso IDE and MCUXpresso Config ToolsSomething went wrong! Please try again.
Many of the General Purpose Microcontrollers SDK examples applications output data over the MCU UART. Make sure you install serial drivers with LPCScrypt from step 2.3
Not sure how to use a terminal application? Try one of these tutorials: General Purpose Microcontroller IDE Terminal Tutorial, Tera Term Tutorial, PuTTY Tutorial.
Something went wrong! Please try again.
The General Purpose Microcontrollers SDK comes with a long list of example applications code. To see what's available, browse to the SDK boards folder of your SDK installation and select LPCXpresso55S16 .
<SDK_Install_Directory>/boards/lpcxpresso55s16
To learn more about specific example code, open the readme.txt file in an example’s directory.
Something went wrong! Please try again.
If one or more of the demo application or driver examples sounds interesting, you're probably wanting to know how you can build and debug yourself. The Getting Started with SDK guide provides easy, step-by-step instructions on how to configure, build, and debug demos for all toolchains supported by the SDK.
Use the guide below to learn how to open, build and debug an example application using the General Purpose Microcontrollers IDE.
The following steps will guide you through opening the hello_world example.
The following steps will guide you through opening the hello_world application. These steps may change slightly for other example applications as some of these applications may have additional layers of folders in their path.
<install_dir>/boards/<sdk_board_name>/<example_type>/<application_name>/iar
Using the hello_world demo as an example, the path is:
<install_dir>/boards/LPCXpresso55S16/demo_apps/hello_world/iar
Note: In case of building errors, make sure that the correct Board is selected, right click in the project >> Options >> General Options >> Target >> Device, Select the LPC55S16, this board is support in IAR Embedded Workbench for Arm version 8.50.1 or Higher.
The LPCXpresso55S16 board comes loaded with the CMSIS-DAP debug interface from the factory. If you have changed the debug LPC-LINK2 application on your board, visit step 2.3 LPCScrypt tutorial in this getting started.
After the MDK tools are installed, Cortex® Microcontroller Software Interface Standard (CMSIS) device packs must be installed to fully support the device from a debug perspective. These packs include things such as memory map information, register definitions and flash programming algorithms. Follow these steps to install the appropriate CMSIS pack.
The following steps will guide you through opening the hello_world application. These steps may change slightly for other example applications as some of these applications may have additional layers of folders in their path.
<install_dir>/boards/<sdk_board_name>/<example_type>/<application_name>/mdk
The workspace file is named <application_name>.uvmpw, so for this specific example, the actual path is:
<install_dir>/boards/LPCXpresso55S16/demo_apps/hello_world/mdk/hello_world.uvmpw
The LPCXpresso55S16 board comes loaded with the CMSIS-DAP debug interface from the factory. If you have changed the debug LPC-LINK2 application on your board, check the LPCScrypt tutorial describe in the past section.
Something went wrong! Please try again.
Now its time to plug in the board to debug your project...
J4
is removedMore details can be found in the SDK getting started documents found in the SDK folder.
<SDK_Install_Directory>/docs/Getting Started with MCUXpresso SDK for LPC55xx.pdf
Something went wrong! Please try again.
Several examples, demos and drivers are available within the SDK to help you get started. Some common examples are listed below:
Something went wrong! Please try again.
Option A: Use the General Purpose Microcontrollers IDE to clone an example project.
The following steps will guide you through opening the sctimer pwm duty cycle change example. The example sets up a PWM signal and periodically updates the signals duty cycle.
Note: On “Use Pin Tool” tutorial you will learn to change the SCTimer output pin to an RGB LED of the board and see the LED “breathing”
Option B: Use the General Purpose Microcontrollers Config Tool to clone an existing General Purpose Microcontrollers SDK example for use with third party IDEs.
The following steps will guide you through opening the sctimer pwm duty cycle change example. The example sets up a PWM signal and periodically updates the signals duty cycle.
Then select the project to clone. For this example, we want to use the SCTimer pwm project. You can filter for this by typing “sctimer” in the filter box and then selecting the “sctimer_pwm_with_dutycycle_change” example project. You can then also specify where to clone the project and the name. Then click on Finish.
Note: On “Use Pin Tool” tutorial you will learn to change the SCTimer output pin to an RGB LED of the board and see the LED “breathing”
Something went wrong! Please try again.
Now, let’s use the Pins tool that is part of the General Purpose Microcontrollers Config Tool to show how to add a new GPIO pin to your project to blink an LED.
Note: Previously, you had to clone an SDK project like in the previous step.
Note: The clocks files may also be tagged as being updated since the header has been changed.
Something went wrong! Please try again.
Next use the Clocks tool that is part of the General Purpose Microcontrollers Config Tool to change the clock settings and change the rate that the LED blinks.
Note: Previously, you had to clone an SDK project like in the past step.
Note: The Pins files may also be tagged as being updated since the header has been changed.
Something went wrong! Please try again.
With the application modified, you will see the LPCXpresso55S16 RGB red LED acts as "breathing" slowly.
Something went wrong! Please try again.
The LPC55S16 is secure-by-design and supported by secure software driving the secure System on a Chip (SoC).
Document | Description |
---|---|
AN12278 LPC55S00 Security Solutions for IoT | This document lays out the differences and advances in the security systems for each LPC55Sxx MCU. |
AN12324 LPC55Sxx usage of the PUF and Hash Crypt to AES coding | How to securely generate, store and retrieve user keys using the root key. |
AN13094 Using FreeRTOS on LPC55Sxx Series Microcontrollers with TrustZone | How to use FreeRTOS in an ARMv8-M processor that supports TrustZone. |
TrustZone with ARMv8-M and the NXP LPC55S69-EVK | An introduction to the ARM TrustZone security feature using MCUXpresso SDK examples and the LPC55S69 EVK. |
How to Debug TrustZone Project on MCUXpresso IDE | Introduces debugging TrustZone on the LPCXresso55S69 board using “hello_world” as an example. |
Several examples, demos and drivers are available within the SDK to help you get started. A common example for security and integrity is listed below.
Several simple demonstrations are available in the TrustZone examples including a hello world, secure faults and secure gpio.
Path:
<SDK_PATH>/boards/lpcxpresso55s16/trustzone_examples
MCUXpresso Secure Provisioning Tool
A GUI-based application provided to simply generation and provisioning of bootable executables on NXP MCU devices.
Document / Software / Tutorial | Description |
---|---|
Wired Communications Middleware for NXP Microcontrollers | Learn about wired communications libraries and examples provided through MCUXpresso SDK. |
Using ConfigTool to Create USB Project From Start | Creating a USB project with MCUXpresso Config Tool and the LPCXpresso55S69-EVK. |
AN12728 How to Use CAN-FD to Transfer Data on LPC5500 Series | How to use CAN-FD’s Bit Rate Switch and transmitter delay compensation features to improve throughput and eliminate the bit error caused by transmitter delay. |
Getting Started with CANopen and MCUXpresso | How to import the MicroCANopen project to MCUXpresso. |
CANopen in NXP’s MCUXpresso SDK | How to use the EmSA CANopen libraries included with the NXP MCUXpresso SDK. |
NXP MCUXpresso SDK: Embedded Wizard’s GUI and EmSA’s CANopen (FD) demo video | Demo video that shows acceleration data from an LPC55S16 being transferred to and visualized on an i.MX RT1064 board, demonstrating middleware components of the NXP MCUXpresso SDK. |
CANopen and Embedded Wizard Demo featuring the i.MX RT 1064 and LPC55 | A demo combining different middleware components of the NXP MCUXpresso SDK using the i.MX RT1064 and LPC55S16 demo boards. |
Several examples, demos and drivers are available within the SDK to help you get started. Some common examples for wired communications are listed below.
Demonstrates how to implement a command line shell application.
Path:
<SDK_PATH>/boards/lpcxpresso55s16/demo_apps/shell
Include manager and slave implementations.
Path:
<SDK_PATH>/boards/lpcxpresso55s16/canopen_examples
A number of driver examples exist within the SDK including GPIO, I2C, I2S, SPI and UART.
Path:
<SDK_PATH>/boards/lpc55s16/driver examples
A number of USB examples for host and device operation exist within the SDK.
Path:
<SDK_PATH>/boards/lpcxpresso55s16/usb_examples
Document / Tutorial | Description | Application Note Software |
---|---|---|
AN12805 Establish Secure Connection with Private Cloud | How to create a secure embedded software project with the LPCXpresso55S69 board. | Download |
Connecting the LPC55S69 to Amazon Web Services | Demo focused on the WIFI enablement and cloud connectivity through AWS using MCUXpresso and an Amazon Alexa. | - |
How to Add Peripherals to AWS IOT and Alexa Skills | Step-by-step approach to adding peripherals to your AWS IOT and Alexa Skills project. | - |
Several examples, demos and drivers are available within the SDK to help you get started. A common example related to wireless connectivity is listed below.
Shows use of NT3H2111_2211 NTAG I2C plus Connected NFC Tag with I2C Interface Chip and demonstrates basic communication with the device.
Path:
<SDK_PATH>/boards/lpcxpresso55s69/ntag_i2c_plus_examples/ntag_i2C_explorer_blink
Document | Description |
---|---|
Audio Software on NXP Microcontrollers | Information on audio software technologies, partner audio solutions, and the devices supported by each. |
Several examples, demos and drivers are available within the SDK to help you get started. A common example related to audio is listed below.
Bare metal and FreeRTOS examples that enumerate a recording or playback device.
USB Device: Audio generator, audio speaker, composite hid audio
USB Host: Audio speaker
Path:
<SDK_PATH>/boards/lpcxpresso55s16/usb_examples
The SDK for the LPC55S16 includes graphic examples using the Adafruit TFT LCD shield.
Software | Description |
---|---|
Graphical User Interfaces for NXP Microcontrollers |
Learn more about your GUI options for NXP Microcontrollers. |
Open Source LittlevGL GUI Library on Adafruit Touch LCDs with NXP LPC55S69-EVK | Driving Adafruit LDC Display with Capacitive Touch and MCULib. |
LVGL Open-Source Graphics Library | LVGL is a free and open-source embedded graphic library with features that enable you to create embedded GUIs with intuitive graphical elements, beautiful visual effects and a low memory footprint. |
GUI Guider | A user-friendly graphical user interface development tool from NXP that enables the rapid development of high quality displays with the open-source LVGL graphics library. |
NXP emWin Libraries | NXP has partnered with SEGGER Microcontroller to offer the high performance emWin embedded graphics libraries in binary form for free commercial use with any Arm Cortex-M microcontrollers from NXP. |
GUI Development With emWin and AppWizard | How to use the different features in AppWizard to create complete, ready-to-run projects based on emWin. |
Several examples, demos and drivers are available within the SDK to help you get started. Some common examples related to display and graphics are listed below.
A demo application to show littlevgl widgets.
Path:
<SDK_PATH>/boards/lpcxpresso55s16/littlevgl_examples
Demonstrates the graphical widgets of the emWin library.
Path:
<SDK_PATH>/boards/lpcxpresso55s16/emwin_gui_demo
Motor control is a complicated and advanced topic, with a wide range of intricacies and pitfalls that depend on the number of motors, motor type and sensored or sensorless motor drivers.
NXP has a number of ready-to-use motor control algorithms (middleware), and the best way to get started is with the FreeMaster examples included in the MCUXpresso SDK. These examples utilize the FreeMASTER Run-Time Debugging Tool, a user-friendly real-time debug monitor and data visualization tool that enables runtime configuration and tuning of embedded software applications.
FreeMASTER supports non-intrusive monitoring of variables on a running system and can display multiple variables on oscilloscope-like displays as standard widgets (gauges, sliders and more) or as data in text form, offering simple-to-use data recorders. It can link with HTML, MATLAB® or Excel to other scriptable frameworks or even popular visual programming tools like Node-RED.
Document | Description |
---|---|
FreeMASTER How To | A starting guide for engineers using FreeMASTER tool. |
FreeMASTER 3.0 Installation Guide | This article will walk you through the installation process of FreeMASTER 3.0. |
FreeMASTER Four-Part Webinar Series | On-demand training provides an overview of the FreeMASTER software, its features, capabilities, available examples, application use cases and how to easily get started. |
Several examples, demos and drivers are available within the SDK to help you get started. Some common examples related to motor control are listed below.
Multiple PWM outputs are demonstrated through Sctimer and Ctimer.
Path:
<SDK_PATH>/boards/lpcxpresso55s16/driver_examples_ctimer
Path:
<SDK_PATH>/boards/lpcxpresso55s16/driver_examples_sctimer
Watch variables and graphs over various interface options.
Path:
<SDK_PATH>/boards/lpcxpresso55s16/freemaster_examples
Describes the embedded-side software driver which implements a serial interface between the application and the host PC and covers the native Serial UART communication and CAN communication for the applicable devices.
Path:
<SDK_PATH>/middleware/freemaster/doc/user_guide
The most recent versions of General Purpose Microcontrollers IDE count with a terminal emulation application. This tool can be used to display information sent from your NXP development platform's virtual serial port.
Verify that the connection is open. If connected, General Purpose Microcontrollers IDE will look like the figure below at the Terminal view.
You're ready to go
Tera Term is a very popular open source terminal emulation application. This program can be used to display information sent from your NXP development platform's virtual serial port.
PuTTY is a popular terminal emulation application. This program can be used to display information sent from your NXP development platform's virtual serial port.
LPCScrypt is a command-line based, fast flash, EEPROM, OTP and security programming tool for LPC microcontrollers. It is the recommended tool to program the latest CMSIS-DAP and J-Link firmware.
lpc_driver_installer.exe
located within the Drivers subdirectory of the LPCScrypt installationC:\ProgramData\Microsoft\Windows\Start Menu\Programs\LPCScrypt.
JP6
is the LPCXpresso DFUJ6
, and in a command, shell run either:
Training | Description |
---|---|
Robust Network Communications with CANopen and CAN open FD | Introducing Embedded Systems Academy’s (EmSA) CANopen Middleware in the NXP MCUXpresso SDK. |
LPC5500 Training | Full list of on-demand training, how-to videos and webinars from NXP about this product. |
Connect with other engineers and get expert advice on designing with the LPC5500 series on one of our community sites.
Training | Description |
---|---|
Robust Network Communications with CANopen and CAN open FD | Introducing Embedded Systems Academy’s (EmSA) CANopen Middleware in the NXP MCUXpresso SDK. |
LPC5500 Training | Full list of on-demand training, how-to videos and webinars from NXP about this product. |
Connect with other engineers and get expert advice on designing with the LPC5500 series on one of our community sites.
Get Familiar with the Board
Attach the USB Cable
Run the Out-of-the-Box Demo
Switch and LED Test
Audio Test
Jump Start Your Design with the General Purpose Microcontrollers SDK
Install Your Toolchain
LPCScrypt
General Purpose Microcontrollers Config Tools
Serial Terminal
Explore the General Purpose Microcontrollers SDK Example Code
Build and Run
Building and Debuging MCUXpresso SDK Examples
More Examples