Getting Started with KW47-EVK

Last Modified: Dec 21, 2025 new Supports KW47-EVK

Contents of this document

  • 1

    Plug It In
  • 2

    Get Software
  • 3

    Build and Run
  • 4

    Create
  • 5

    MCUXpresso Developer Experience

1. Plug It In

Let's take your KW47-EVK board for a test drive. In following the steps, you may either watch the sequence in a short video, or following the detailed actions listed below.

1.1 Get Familiar with the Board

The KW47-EVK board is preprogrammed with a wireless demo. This serves as a sanity check to verify that the device is working as expected, right out of the box.

Get familiar with the board

Get familiar with the board

1.2 Plug In the Board

Connect a type-C USB cable from the connector J14 to a host computer or power supply to power up the board and run the demo program. This demo can be tested with the NXP's IoT Toolbox app. For the out-of-the-box experience, please download the NXP's IoT Toolbox app on your smartphone from your device's app store.

Plug in the board

Plug in the board

1.3 Run the Out-of-Box Demo

NXP’s IoT Toolbox is a versatile mobile application designed to support wireless connectivity demonstrations and testing. It provides an intuitive interface to interact with NXP development platforms.

Get started by installing the IoT Toolbox on your smartphone:

Get it on Google Play

IoT Toolbox Icon

Open the NXP IoT Toolbox app on your smartphone. Select the wireless universal asynchronous receiver/transmitter (UART) icon. Select the wireless UART LED device. At this point, you should see your device's status as 'Connected' both on the IoT Toolbox app and the serial terminal. Send a number from 0 to 4 to change the LED configuration.

Run the out-of-box demo Run the out-of-box demo 2

2. Get Software

Watch the video below for directions on how to get the software.

2.1 Install Your Toolchain

NXP offers a toolchain called MCUXpresso for VS Code. Please download MCUXpresso for VS Code v25.09 or newer.

MCUXpresso IDE

Get VS Code

Learn how to install VS Code for your host PC with the following tutorial.

2.2 Jump Start Your Design with the MCUXpresso SDK

The MCUXpresso 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. You may install the MCUXpresso SDK directly form the MCUXpresso SDK website . Click on the button below to open this board's SDK builder.

    MCUXPRESSO-SDK-TN

    Get SDK for KW47-EVK

2.3 MCUXpresso Config Tools

The MCUXpresso Config Tool is an integrated suite of configuration tools that guides users in creating new MCUXpresso SDK projects, and also provides pin and clock tools to generate initialization C code for custom board support. It is fully integrated as a part of MCUXpresso integrated development environment (IDE), but also as a separate tool when using a different IDE. Click the Get MCUXpresso Config Tools button below to get the Config Tools installer.

MCUXpresso Config Tools

Get MCUXpresso Config Tools

2.4 Programming and Provisioning Tools

The MCUXpresso Secure Provisioning (SEC) Tool is a graphical user interface (GUI)-based application provided to simplify the generation and provisioning of bootable executables on NXP microcontroller unit (MCU) devices. We recommend all users to begin with the MCUXpresso Secure Provisioning (SEC) tool for trial run and mass production use. This supports secure programming and device provisioning on NXP's microcontrollers at the production stage.

After downloading the tool, find the user guide under the ‘Help’ tab. Then follow the instructions for your board in the ‘Processor-specific workflow’ chapter.

SEC

SEC Installation

3. Build and Run

If one or more of the demo applications or driver examples sounds interesting, you're probably wanting to know how you can build and debug yourself. The Getting Started with MCUXpresso SDK guide provides easy, step-by-step instructions on how to configure, build, and debug demos for all toolchains supported by the SDK.

3.1 Updating NBU for Wireless Examples

Caution. It is necessary to work with the matching NBU image for the SDK version of the application you are working with. This means that when you download your SDK, prior to loading any wireless SDK example, update your NBU image with the provided binaries in the following folder of the SDK: ../middleware/wireless/ble-controller/bin. Here you will find the image for the NBU firmware:

Updating NBU for wireless examples - step 1

To update the NBU, you may use the LinkFlash tool

  1. Open the path to LinkFlash tool. Usually, this path would be:
    C:\nxp\LinkServer_xx.x.xx
  2. Updating NBU for wireless examples - step 2
  3. Select KW47B42ZB7xxxA:KW47-EVK as device, SWD as protocol and 0x48800000 as address. Check the 'Mass erase before programming' checkbox
  4. Select 'kw47_nbu_ble_all_hosted.bin' as image file. Press the 'Program' button and wait for the flash operation to be completed
  5. Updating NBU for wireless examples - step 3

3.2 Build and Flash Application using MCUXpresso for VS Code IDE

The following steps will guide you through the wireless_uart demo application using MCUXpresso for VS Code IDE for the Cortex-M33 application. The MCUXpresso for VS Code IDE installation and the SDK for the KW47 can be found at the section Get Software of this Getting Started guide.

  1. Click the MCUXpresso for VS Code icon on the left side of VS Code to open the Activity Bar. Then, click the Projects tab
  2. Build and flash application using MCUXpresso for VS Code IDE - step 1
  3. Click the Import example from Repository option
  4. Build and flash application using MCUXpresso for VS Code IDE - step 2
  5. Click the Repository dropdown arrow to choose your previously downloaded KW47-EVK SDK
  6. Build and flash application using MCUXpresso for VS Code IDE - step 3
  7. Click the Toolchain dropdown arrow to select the latest version of the Arm GNU Toolchain. Then, from the Board dropdown list, choose the KW47-EVK option to select a template application compatible with that board
  8. Build and flash application using MCUXpresso for VS Code IDE - step 4
  9. Click the Template dropdown arrow and select wireless_examples/bluetooth/w_uart/bm//wireless_uart_bm. Then, click the Import button
  10. Build and flash application using MCUXpresso for VS Code IDE - step 5
  11. Expand the Projects tab located under the Activity Bar. Right-click your previously created project and select Build Project. You can also click the Build Project icon next to the project's name
  12. Build and flash application using MCUXpresso for VS Code IDE - step 6
  13. The project should build without any errors or warnings in the console
  14. Build and flash application using MCUXpresso for VS Code IDE - step 7
  15. Connect the board to your computer with the micro USB to J14 ‘MCU-LINK’ port
  16. Build and Flash Application using MCUXpresso for VS Code IDE - step 8
  17. Right-click your previously created project and select Debug. You can also click the Debug icon next to the project's name. This will download the application to your board
  18. Build and flash application using MCUXpresso for VS Code IDE - step 8
  19. VS Code supports a native serial terminal that you can use to view your application's output. Click the Serial Monitor option in the Panel. Then, select COMx - MCU-Link VCom Port as the Port, and set the Baud rate to 115200. Finally, click Start Monitoring
  20. Build and flash application using MCUXpresso for VS Code IDE - step 9
  21. Run the application by clicking the Continue icon. Press the View the output in the Serial Monitor. Press SW3 button to switch the BLE role to peripheral. Then press SW2 to start BLE Advertising. You should see the messages printed on the terminal
  22. Build and flash application using MCUXpresso for VS Code IDE - step 10 Build and flash application using MCUXpresso for VS Code IDE - step 11
  23. Open your NXP's IoT Toolbox app in your smartphone. Select the wireless UART icon. Select the wireless UART device. At this point, you should see your device's status as 'Connected' both on the IoT Toolbox app and the serial terminal
  24. Build and flash application using MCUXpresso for VS Code IDE - step 12 Build and flash application using MCUXpresso for VS Code IDE - step 13 Build and flash application using MCUXpresso for VS Code IDE - step 14
  25. Type and send any message on the NXP's IoT Toolbox app. See it displayed on the serial terminal
  26. Build and flash application using MCUXpresso for VS Code IDE - step 15 Build and flash application using MCUXpresso for VS Code IDE - step 16
  27. Type and send any message on the serial terminal. See it displayed on the NXP's IoT Toolbox app
  28. Build and flash application using MCUXpresso for VS Code IDE - step 17 Build and flash application using MCUXpresso for VS Code IDE - step 18

3.3 Build and Flash Application with Alternative Toolchains

MCUXpresso for VS Code provides an optimized embedded developer experience for code editing and development. Learn how to build and flash an application with VS Code.

Using a different toolchain?

Demos are also available for IAR and KEIL.

4. Create

4.1 Clone an Example Project from MCUXpresso for VS Code IDE

The following steps will guide you through the manipulation of the general-purpose outputs. The example sets up a TPM to generate a PWM signal and change the RGB LED brightness.

  1. Expand the Imported Repositories tab, then right-click your previously downloaded KW47-EVK SDK. Next, select Import Example Application from an imported Repository
  2. Clone an Example Project from MCUXpresso for VS Code IDE - step -1
  3. Click the Board dropdown list, then choose the KW47-EVK option to select a template application compatible with that board
  4. Clone an Example Project from MCUXpresso for VS Code IDE - step -2
  5. Click the Template dropdown arrow and select driver_examples/tpm/tpm_pwm_twochannel_cm33_core0. Then, click the Import button
  6. Clone an Example Project from MCUXpresso for VS Code IDE - step -3
  7. Right-click your previously created project and select Debug. You can also click the Debug icon next to the project's name. This will download the application to your board
  8. Clone an Example Project from MCUXpresso for VS Code IDE - step -4
  9. VS Code includes a native serial terminal that you can use to view your application's output. Click the Serial Monitor option in the Panel. Then, select COMx - MCU-Link VCom Port as the Port, and set the Baud rate to 115200. Finally, click Start Monitoring
  10. Clone an Example Project from MCUXpresso for VS Code IDE - step -5
  11. Run the application by clicking the Continue icon. View the output in the Serial Monitor. The application will prompt you to enter a number between 0 and 9. This number adjusts the RGB LED brightness by modifying its duty cycle
  12. Clone an Example Project from MCUXpresso for VS Code IDE - step -6

4.2 Clone an Example Project using MCUXpresso Config Tool for 3rd Party IDE

The following steps will guide you through the manipulation of the general-purpose outputs. The example sets up a TPM to generate a PWM signal and change the RGB LED brightness.

  1. Expand the Projects tab located under the Activity Bar. Right-click your previously created project and select Open with MCUXpresso Config Tools
  2. Use MCUXpresso config tools - step 1
  3. In the wizard that comes up, select the “Open an existing configuration” button and click on Next. If your imported project does not contain a configuration .mex file, just click on Cancel
  4. Use MCUXpresso config tools - step 2
  5. On the next screen, select the Import Source option from the Import Wizard. After this, click on the Next button
  6. Use MCUXpresso config tools - step 3
  7. On the next screen, click on the Browse option. After this, search for the pin_mux.c source file to import. This file can be found on the following path: \mcuxsdk\examples\_boards\kw47evk\driver_examples\tpm\pwm_twochannel. Click on the Finish button
  8. Use MCUXpresso config tools - step 4
  9. After source file is imported, MCUXpresso Config Tools interface should display project's pin configuration
  10. Use MCUXpresso config tools - step 5

4.3 Use the Pins Tools to Modify the LED Routed Pin

We’ll use MCUXpresso Config tools for the rest of the instructions. In the Pins view deselect “Show dedicated pins” and “Show no routed pins” checkboxes to see only the routed pins. Routed pins have a check in a green box next to the pin name.

  1. The functions selected for each routed pin are highlighted in green
  2. Use the pins tools to modify the LED routed pin - step 1
  3. In the current configuration, PTA20 and PTA21 are routed as the outputs of the TPM. Let’s add the pin configuration to enable the GREEN LED
  4. Select “Show no routed pins” to see the other options. To enable the GREEN LED, search for PTA19 and select TPM0_CH2, under the TPM column
  5. Use the pins tools to modify the LED routed pin - step 2
  6. Now it’s time to implement these changes into the project by exporting the new updated pin_mux.c and pin_mux.h files that are generated by the Pins tool. If configuration file (.mex file) is not saved on disk, save it using the File menu option. After this, click on Update Project in the menu bar
  7. Use the pins tools to modify the LED routed pin - step 3
  8. The screen that pops up will show the files that are changing and you can click on “diff” to see the difference between the current file and the new file generated by the Pins tool. Click on “OK” to overwrite the new files into your project
  9. Use the pins tools to modify the LED routed pin - step 4
  10. After this, Config tools should have generated the corresponding pin configuration source code. Source code is generated on the board folder; located on the same directory as your configuration file (.mex). Search for the generated pin_mux.c and pin_mux.h source files. Replace the project's source files located on \mcuxsdk\examples\_boards\kw47evk\driver_examples\tpm\pwm_twochannel with the newly generated source files
  11. Use the pins tools to modify the LED routed pin - step 5
  12. Add the macro to enable the use of the TPM0 channel 2 in the app.h source file
  13. Use the pins tools to modify the LED routed pin - step 6
  14. Let's add the neccessary code to enable TPM0 Channel 2. Edit the tpm_pwm_twochannel.c code, use the following images as reference
  15. Use the pins tools to modify the LED routed pin - step 7 Use the pins tools to modify the LED routed pin - step 8
  16. Build and download the project as done in the previous section
  17. Run the application. You should now see White colored RGB LED. Use the serial monitor to adjust brightness
  18. Terminate the debug session

5. MCUXpresso Developer Experience

Check out each of the following sections to learn about the ecosystem provided for flexible protyping and development. In the video below, we will introduce you to the FRDM platform, the full-featured EVK and the compatible shields for extended capabilities. In addition we will walk you through our Application Code Hub portal where we provide numerous application examples through NXP's Github.

5.1 FRDM Platform, Full Feature EVK and Shields

For quick prototyping platforms, we offer both the low-cost FRDM platform and the full-featured EVK.

FRDM development boards come with standard form factor and headers, easy access to MCU I/Os, on-board MCU-Link debugger and a USB-C cable. Our full featured evaluation kits include extended I/O and interface access, extendibility with WiFi and additional MCU-Link features. There are also many compatible Click Boards and/or Arduino shields. For those that are supported with an Open CMSIS Pack examples may be available on ACH, but if not, many of them are easy to use via serial interface like I2C, SPI and UART, for which we provide drivers with examples in the MCUXpresso SDK.

5.2 Application Code Hub

The Application Code Hub further enhances our MCUXpresso Developer Experience by giving developers an interactive dashboard to quickly locate software. Visit the ACH  today to start exploring or discover additional details and benefits of the new interactive Application Code Hub.

Software accessible from Application Code Hub is located in NXP’s GitHub repository  so it can be easily accessed and cloned from that location directly.

5.3 Demo Walkthrough

The following demo walks us through importing a project from ACH using a system based on the FRDM platform with a motor control shield and a low cost LCD. Although your evaluation board may differ from this system, the following steps can be replicated and used for all supported platforms.