Getting Started with the LPC55S16-EVK Evaluation Board

Last Modified: 2020-03-12 21:39:32Supports LPC55S16-EVK

1. Plug It In

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.

1.1 Get Familiar with the Board

GET-FAMILIAR-LPC55S16

GET-FAMILIAR-LPC55S16

1.2 Attach the USB Cable

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.

1.3 Run the Out-of-the-Box Demo

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.

1.4 Switch and LED Test

  • Press the [WAKEUP] button. Verify that the blue LED in the RGB-LED is constant on while pressing
  • Press the [USER] button. Verify that the green LED in the RGB-LED is constant on (with only short off-flashes)
  • Press the [ISP] button. Verify that the red LED in the RGB-LED is constant on while pressing
  • Press the [RESET] button. Verify that the RGB-LED turns off while pressing

1.5 Audio Test

For this test you need:

  • A line level audio source like a PC, smartphone or tablet
  • A stereo audio cable to connect the audio source to the LPC55S69 board
  • A stereo audio headphones or speaker

Instructions:

  1. Plug in the audio source to the [Audio Line In] connector
  2. Connect headphones or speaker to the [Audio Line Out] connector
  3. Play audio from device connected as input
  4. Verify you listen to the audio on the headphones

AUDIO-DEMO-LPCS16

AUDIO-DEMO-LPCS16

OOB_test demo source code (multi_peripherals_test project) is available in SDK.

2. Get Software

2.1 Jump Start Your Design with the General Purpose Microcontrollers SDK

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.

Download

You can also use the online SDK Builder  to create a custom SDK package for the LPCXpresso55S16.

2.2 Install Your Toolchain

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.

Download

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.

2.3 LPCScrypt

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.

2.4 General Purpose Microcontrollers Config Tools

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.

Download

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 Tools

2.5 Serial Terminal

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.

3. Build, Run

3.1 Explore the General Purpose Microcontrollers SDK Example Code

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.

3.2 Build and Run

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.

Using a Different Toolchain?

3.3 Building and Debuging MCUXpresso SDK Examples

Now its time to plug in the board to debug your project...

  1. Make sure the DFU jumper J4 is removed
  2. Plug the micro USB cable from the PC into the Debug Link micro USB connector as shown
  3. In the Project Exporer window in MCUXpresso select your project
  4. In the Quick Start Panel click on Debug
  5. Choose the CMSIS-DAP debug interface
  6. Choose Core 0 for the target core
  7. Hit Resume to get the code running after the breakpoint at the beginning of main ()

More 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

3.4 More Examples

Several examples, demos and drivers are available within the SDK to help you get started. Some common examples are listed below:

  • NTAG I2C Explorer Blink
  • Power Manager Demo
  • TrustZone Examples
  • USB Examples

4. Modify an SDK Example

4.1 Clone an Example Project from General Purpose Microcontrollers SD

Option A: Use the General Purpose Microcontrollers IDE to clone an example project.

Option B: Use the General Purpose Microcontrollers Config Tool to clone an existing General Purpose Microcontrollers SDK example for use with third party IDEs.

4.2 Use the Pin Tool

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.

4.3 Use the Clocks Tool

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.

4.4 Succes

With the application modified, you will see the LPCXpresso55S16 RGB red LED acts as "breathing" slowly.

Security and Integrity

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.

MCUXpresso SDK Examples

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.

TrustZone Examples

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.

Wired Communication

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.

MCUXpresso SDK Examples

Several examples, demos and drivers are available within the SDK to help you get started. Some common examples for wired communications are listed below.

Shell Demo (UART example)

Demonstrates how to implement a command line shell application.

Path:

<SDK_PATH>/boards/lpcxpresso55s16/demo_apps/shell

CAN Open Examples

Include manager and slave implementations.

Path:

<SDK_PATH>/boards/lpcxpresso55s16/canopen_examples

Driver Examples

A number of driver examples exist within the SDK including GPIO, I2C, I2S, SPI and UART.

Path:

<SDK_PATH>/boards/lpc55s16/driver examples

USB Examples

A number of USB examples for host and device operation exist within the SDK.

Path:

<SDK_PATH>/boards/lpcxpresso55s16/usb_examples

Wireless Connectivity

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. -

MCUXpresso SDK Examples

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.

NTAG I2C Explorer Blink

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

Audio

Document Description
Audio Software on NXP Microcontrollers Information on audio software technologies, partner audio solutions, and the devices supported by each.

MCUXpresso SDK Examples

Several examples, demos and drivers are available within the SDK to help you get started. A common example related to audio is listed below.

Audio Demos

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

Display and Graphics

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.

MCUXpresso SDK Examples

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.

LVGL Examples

A demo application to show littlevgl widgets.

Path:

<SDK_PATH>/boards/lpcxpresso55s16/littlevgl_examples
emWin GUI Demo

Demonstrates the graphical widgets of the emWin library.

Path:

<SDK_PATH>/boards/lpcxpresso55s16/emwin_gui_demo

Motor Control

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.

MCUXpresso SDK Examples

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.

Driver Examples

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

FreeMASTER Examples

Watch variables and graphs over various interface options.

Path:

<SDK_PATH>/boards/lpcxpresso55s16/freemaster_examples

FreeMASTER Communication Driver User’s Guide

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

General Purpose Microcontrollers IDE Terminal Tutorial

General Purpose Microcontrollers IDE Terminal Tutorial

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.

  1. Open the General Purpose Microcontrollers IDE.
  2. Launch the General Purpose Microcontrollers IDE terminal by clicking on the “Open a Terminal” button on the top of the IDE or press “Ctrl + Alt + Shift + T.”
  3. "
  4. Select Serial Terminal
  5. Configure the serial port settings (using the corresponding COM port number) to 115200 baud rate, 8 data bits, no parity and 1 stop bit, then press “OK” button.
  6. Verify that the connection is open. If connected, General Purpose Microcontrollers IDE will look like the figure below at the Terminal view.

  7. You're ready to go

Tera Term Tutorial

Tera Term Tutorial

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.

  1. Download Tera Term from SourceForge. After the download, run the installer and then return to this webpage to continue.
  2. Download

  3. Launch Tera Term. The first time it launches, it will show you the following dialog. Select the serial option. Assuming your board is plugged in, there should be a COM port automatically populated in the list.
  4. Configure the serial port settings (using the COM port number identified earlier) to 115200 baud rate, 8 data bits, no parity and 1 stop bit. To do this, go to Setup -> Serial Port and change the settings.
  5. Verify that the connection is open. If connected, Tera Term will show something like below in it's title bar.

PuTTY Tutorial

PuTTY Tutorial

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.

  1. Download PuTTY using the button below. After the download, run the installer and then return to this webpage to continue.
  2. Download

  3. Launch PuTTY by either double clicking on the *.exe file you downloaded or from the Start menu, depending on the type of download you selected.
  4. Configure In the window that launches, select the Serial radio button and enter the COM port number that you determined earlier. Also enter the baud rate, in this case 115200.
  5. Click Open to open the serial connection. Assuming the board is connected and you entered the correct COM port, the terminal window will open. If the configuration is not correct, PuTTY will alert you.
  6. You're ready to go

LPCScrypt Tutorial

LPCScrypt Tutorial

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.

  1. Download the LPCScrypt tool using the button below, choose your platform (Windows, MAC OC X, Linux). After the download, run the installer. During the installation the DFU and VCOM drivers will be automatically installed for all platforms, also for windows users these drivers can be managed if required by running lpc_driver_installer.exe located within the Drivers subdirectory of the LPCScrypt installation
  2. Download

  3. Launch LPCScrypt by double-clicking on the “Boot LPCScrypt” file in the LPCScrypt install
    C:\ProgramData\Microsoft\Windows\Start Menu\Programs\LPCScrypt. 
  4. Configure To program an LPCXpresso v2/v3 board, first ensure that the DFULink jumper is connected. Normally DFULink can be found between the two USB; please check the information for your actual board to confirm.
    • In the LPCXpresso55S16 JP6 is the LPCXpresso DFU
  5. Connect the board to your host computer over the debug link USB connector J6, and in a command, shell run either:
    • To install CMSIS-DAP debug firmware, and call the program_CMSIS script:
    • To install JLINK debug firmware, and call the program_JLINK script:
    • Notes

      • File paths in this document use Windows directory separators, on Linux or Mac OSX these must be replaced with ‘/.’
      • For Windows users, shortcuts to these scripts are available from the LPCScrypt entry on the Start menu.
  6. Verify once you select on firmware (in this case CMSIS-DAP), LPCScrypt will show something like below in its title bar.
  7. Ready Once programming is complete, disconnect the board from the host, remove the DFULink jumper, then reconnect the board to the host computer. You should see the probe enumerate on the host’s USB system.

Support

Training

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.

Forums

Connect with other engineers and get expert advice on designing with the LPC5500 series on one of our community sites.

Training

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.

Forums

Connect with other engineers and get expert advice on designing with the LPC5500 series on one of our community sites.