Getting Started with the FRDM-KW38

Last Modified: 2020-04-16 14:24:43Supports FRDM Development Kit for KW39/38/37 MCUs

1. Plug It In

Let's take your FRDM-KW38 for a test drive! You have the choice of watching the sequence in a short video or following the detailed actions list below.

1.1 Get Started with the FRDM-KW38 Development Board

1.2 Attach the USB Cable

FRDM-KW38 Evaluation Board – top

1.3 Run the Out-of-Box Demo

Your FRDM-KW38 comes loaded with a demo that flashes the multi-colored LEDs when you connect the board.

FRDM-KW38-LED-COLORS

Bluetooth Low Energy (LE) Beacon

The Bluetooth LE Beacon application demonstrates the beacon functionality. The beacons are non-connectable advertising packets that are sent on the three advertising channels. The latter contains the following fields.

  • Company Identifier (2 bytes): 0x0025 (NXP ID as defined by the Bluetooth SIG)
  • Beacon Identifier (1 byte): 0xBC (Allows identifying an NXP Beacon alongside with the Company Identifier)
  • UUID (16 bytes): Beacon sensor unique identifier
  • A (2 bytes): Beacon application data
  • B (2 bytes): Beacon application data
  • C (2 bytes): Beacon application data
  • RSSI at 1 m (1 byte): Allows distance-based applications

By default, the UUID value is a random value based on the unique identifier of the board.

Application Usage

In order to see the beacons, please, download and install the NXP IoT Toolbox mobile application on a smartphone supporting Bluetooth LE.

Get it on Google Play

Once the NXP IoT Toolbox is installed. Open the application. Then, open the "Beacons" demo and the FRDM-KW38 Beacon will be displayed.

FRDMKW38-BEACON-APP-COMPLETE

The IoT Toolbox can also perform actions once the beacon is identified, as an example, with this demo the IoT Toolbox can show a message when the beacon is detected. You can enable the action by performing the next steps:

  1. Click in the beacon shown by the IoT Toolbox
  2. In the "Action" panel change the None option to Message
  3. Select the message to display when beacon is found. By default, it shows "Thank you for choosing NXP BLE solutions"
  4. Click on the check mark located in the top right corner
  5. Now, once the beacon is found, it will also display the preconfigured message
IOT-TOOLBOX-APP-IMG2 IOT-TOOLBOX-APP-IMG3

Finally, user can also turn off or deactivate the beacons by holding the SW2 button for about 2-3 seconds in the FRDM-KW38. If the user wants to activate the beacons again, just press SW2 button.

2. Get Software

2.1 Installing Software for the FRDM-KW38

2.2 Download MCUXpresso SDK with Connectivity Software

MCUXpresso SDK for the FRDM-KW38 includes all the wireless connectivity stacks required to develop your solution using Generic FSK, and Bluetooth Low Energy.

Click below to download a preconfigured SDK release for the FRDM-KW38 that includes all the wireless connectivity stacks for the KW38.

MCUXPRESSO-SDK-TN

Get MCUXpresso SDK

You can also use the online SDK Builder  to create a custom SDK package for the FRDM-KW38.

2.3 Install Your Toolchain

NXP offers a complimentary toolchain called MCUXpresso IDE.

MCUXpresso IDE

Get MCUXpresso IDE

Want to use a different toolchain?

No problem! MCUXpresso SDK connectivity stack software also supports IAR .

IAR

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

Get MCUXpresso Config Tools

To learn more about the basic interactions between the tools while 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 PC Configuration

Many of the example applications output data over the MCU UART so you'll want to make sure that the driver for the board's virtual COM port is installed. Before you run the driver installer, you MUST have the board plugged in to your PC.

Download Driver

FRDM-K64F-GS-configuration

With the serial port driver installed, run your favorite terminal application to view the serial output from the MCU's UART. Configure the terminal to 115,200 baud rate, 8 data bits, no parity and 1 stop bit. To determine the port number of the FRDM-KW38's virtual COM port, open the device manager and look under the "Ports" group.

Not sure how to use a terminal application? Try one of these tutorials: Tera Term Tutorial, PuTTY Tutorial.

3. Build, Run

The FRDM-KW38 Wireless Connectivity software comes with a list of demo applications and driver examples ready to be compiled and run for each connectivity stack.

3.1 Gen FSK

Build and Run Connectivity Demos on the FRDM-KW38

3.2 Explore the Connectivity Example Code

Generic FSK

The KW38 Wireless Connectivity Software package comes with the Connectivity Test demo application for Generic FSK protocol. To see what's available, browse to the 'examples' folder: \boards\frdmkw38\wireless_examples\genfsk.

3.3 Build, Run and Debug Wireless Connectivity Examples

You probably want to build and debug a demo by yourself. Use the guide below to learn how to build and debug an example application from the Wireless Connectivity Stacks in the MCUXpresso IDE or IAR Embedded Workbench IDE.

3.4 Bluetooth LE

Build and Run Connectivity Demos on the FRDM-KW38

3.5 Explore the Connectivity Example Codes

Bluetooth Low Energy

The KW38 Wireless Connectivity Software package comes with a long list of demo applications for Bluetooth Low Energy protocol. To see what's available, browse to the 'examples' folder: \boards\frdmkw38\wireless_examples\bluetooth.

3.6 Download the NXP IoT Toolbox for your Smartphone

In order to use the Bluetooth Low Energy and Hybrid examples, the NXP IoT Toolbox needs to be installed on a smartphone. This application provides several examples that can be used in conjunction with the connectivity stack to connect your phone to the development board over Bluetooth LE.

Get it on Google Play

3.7 Build, Run and Debug Wireless Connectivity Examples

You probably want to build and debug a demo by yourself. Use the guide below to learn how to build and debug an example application from the Wireless Connectivity Stacks in the MCUXpresso IDE or IAR Embedded Workbench IDE.

3.8 Hybrid (Gen FSK + Bluetooth LE)

Build and Run Connectivity Demos on the FRDM-KW38

3.9 Explore the Connectivity Example Codes

Hybrid (Gen FSK + Bluetooth LE)

The KW38 Wireless Connectivity Software package comes with a hybrid demo application (Gen FSK + Bluetooth LE). To see the hybrid demo application, browse to the 'examples' folder: \boards\frdmkw38\wireless_examples\hybrid.

3.10 Download the NXP IoT Toolbox for your Smartphone

In order to use the Bluetooth Low Energy and Hybrid examples, the NXP IoT Toolbox needs to be installed on a smartphone. This application provides several examples that can be used in conjunction with the connectivity stack to connect your phone to the development board over BLE.

Get it on Google Play

3.11 Build, Run and Debug Wireless Connectivity Examples

You probably want to build and debug a demo by yourself. Use the guide below to learn how to build and debug an example application from the Wireless Connectivity Stacks in the MCUXpresso IDE or IAR Embedded Workbench IDE.

4. Create an Application for the FRDM-KW38

4.1 Clone an example project from MCUXpresso SDK

Option A: Use the MCUXpresso IDE to clone an example project.

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

4.2 Use the Pins Tool

Now, let's use the Pins tool that is part of the MCUXpresso 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 MCUXpresso Config Tools to change the clock settings and change the rate that the LED blinks.

4.4 Success

With the application modified, you will see the FRDM-KW38's blue LED slowly blinking. You can also view terminal output using the terminal program.

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. DownloadTera 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. Tera-Term-Connection
  5. Configure the serial port settings (using the COM port number identified earlier) to 115,200 baud rate, 8 data bits, no parity and 1 stop bit. To do this, go to Setup → Serial Port and change the settings
  6. Verify that the connection is open. If connected, Tera Term will show something like below in its title bar
  7. Tera-Term-Console
  8. You're ready to go

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. 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 115,200
  5. PUTTY-Configuration
  6. 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
  7. You're ready to go

Security and Integrity

Security and Integrity

Documents and Videos Description
AN4507 Using the Kinetis Security and Flash Protection Features Using the system security and flash protection features on Kinetis MCUs to protect code and data from unauthorized access or modification.

Wired Communications

Wired Communications

The FRDM-KW38 includes an NXP TJA1057 CAN transceiver and an NXP TJA1027 LIN transceiver.

Documents and Videos Description
AN12377 Tuning I²C Timing in Target Mode How to configure the I²C timing of a responder device to meet application needs, which apply to Kinetis parts that contain I²C IP instead of LPI2C.
AN12948 Using LIN or CAN Bus to Upgrade Image on the KW36/38 How to use the LIN or CAN nodes, which have OTAP capability to upgrade the nodes, which have no OTAP capability, by LIN or CAN bus.

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.

Bubble Demo (I²C example)

Demonstrates basic usage of the onboard accelerometer to implement a bubble level. A bubble level utilizes two axes to visually show deviation from a level plane (0 degrees) on a given axis.

Path: <SDK_PATH>/boards/frdmkw38/demo_apps/bubble

LIN Demo

Demonstrates signal transfer between controller and responder nodes using the LIN stack driver built on Low Power UART.

Path: <SDK_PATH>/boards/frdmkw38/demo_apps/lin_stack

Shell Demo (UART example)

Demonstrates how to implement a command line shell application.

Path: <SDK_PATH>/boards/frdmkw38/demo_apps/shell

Driver Examples

A number of driver examples exist within the SDK including I²C, DSPI, FLEXCAN and Low Power UART.

Path: <SDK_PATH>/boards/frdmkw38/driver_examples

Wireless Connectivity

Wireless Connectivity

Documents and Videos Description
AN12561 Kinetis KW38 Bluetooth Low Energy 5.0 Advertising Extension Enablement in Legacy Bluetooth Low Energy Examples Provides instructions on how to enable new Bluetooth Low Energy 5.0 Advertising extension features in a legacy Bluetooth Low Energy example.
AN2731 Compact Planar Antennas for 2.4 GHz Communication This document focuses on helping customers understand enough board layout and antenna basics to select a correct antenna type for their application and avoid typical layout mistakes that cause performance issues. Several popular antennas are presented as possible solutions for IEEE 802.15.4 and Bluetooth low energy applications.
AN12872 Anti-relay Attack Using GFSK This document introduces the anti-relay attack using GFSK, focusing on the multi-link monitoring concepts and applications. It proposes a system implementation using KW36 or KW38 Wireless MCU.
AN12977 KW38/KW36 Localization Based on RSSI Ranging Provides an introduction to localization based on the Bluetooth LE RSSI ranging. It implements a simple trilateral localization system using the Kinetis KW38 wireless MCU.
AN12517 FRDM-KW38 Co-existence with RF System Evaluation Report for Bluetooth Low Energy Application Provides the RF evaluation test results of the FRDM-KW38 for Bluetooth LE applications (2FSK modulation). It includes the test setup description and the tools used to perform the tests on your own.
AN12272 Use of Unique 40-bit MAC Address in Kinetis Wireless Microcontrollers Describes how IEEE MAC addresses are handled in the Bluetooth low energy (BLE) and IEEE 802.15.4.
FRDM-KW38 Radio Certification Documents FRDM-KW38 platforms have passed the CE RED and RCC radio certification. Find information on the certification documents and test reports here.
KW37/38/39 Bluetooth LE Range Performance Provides information on distance measurements depending on the Bluetooth LE data rate using the FRDM-KW38 board.

MCUXpresso SDK Examples

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

Bluetooth Low Energy Demos

How to use the Bluetooth Low Energy protocol.

Path: <SDK_PATH>/boards/frdmkw38/wireless_examples/bluetooth

Generic FSK Demos

How to use the Generic FSK.

Path: <SDK_PATH>/boards/frdmkw38/wireless_examples/genfsk

Hybrid Bluetooth LE and GenFSK Demo

How to use the Bluetooth Low Energy protocol and Generic FSK in a single application.

Path: <SDK_PATH>/boards/frdmkw38/wireless_examples/hybrid

Power Management

Power Management

Documents and Videos Description
AN4503 Power Management for Kinetis MCUs When and how to use Kinetis low-power modes.
AN12459 Kinetis KW38 Power Consumption Analysis Provides information about the power consumption of Kinetis KW39/38/37 wireless MCU when using BLE protocol and how the software and hardware are configured to achieve best low-power operation.
AN5025 MKW4xZ/3xZ/3xA/2xZ DC-DC Power Management Describes the usage and operation of the DC-DC switching Power Supply converter for the MKW4xZ/3xZ/3xA/2Xz families.
Configuration for Unused pins/GPIOs on Kinetis Best practices to configure a GPIO if the pin is not used.

MCUXpresso SDK Examples

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

Power Mode Switch Demo

Demonstrates the use of power modes in the SDK.

Path: <SDK_PATH>/boards/frdmkw38/demo_apps/power_mode_switch

Power Manager Demo

How to change power modes in the SDK.

Path: <SDK_PATH>/boards/frdmkw38/demo_apps/power_manager

ADC Low Power Demo

Demonstrates the usage of the ADC peripheral while in a low power mode.

Path: <SDK_PATH>/boards/frdmkw38/demo_apps/adc16_low_power

Bluetooth LE Responder Low Power Demo

Demonstrates the usage of low power mode on a Bluetooth LE responder device.

Path: <SDK_PATH>/boards/frdmkw38/reference_design/bluetooth/lp

Bluetooth LE Controller Low Power Demo

Demonstrates the usage of low power mode on a Bluetooth LE controller device.

Path: <SDK_PATH>/reference_design/bluetooth/lp_master

Device Management and Secure OTA

Device Management and Secure OTA

Documents and Videos Description Download
AN4282 Using the Kinetis Family Enhanced EEPROM Functionality Explains the features and usage of the Enhanced EEPROM functionality. -
FRDM-KW38 OpenSDA Bootloader and Application Webpage Provides information about the power consumption of Kinetis KW39/38/37 wireless MCU when using BLE protocol and how the software and hardware are configured to achieve best low-power operation. -
AN12979 KW38 Integrating the OTAP Client Service into a Bluetooth LE Peripheral Device Describes the integration of the Over The Air Profile into Bluetooth LE peripheral examples. Download
AN12980 KW38 Integrating the OTAP Client Service into a Bluetooth LE Central Device Describes the integration of the Over The Air Profile into Bluetooth LE examples. Download
Reprogramming a KW38 device using the OTAP Client Software This document guides to load a new software image in a KW38 device through (Over The Air Programming) OTAP Bluetooth LE service. -

MCUXpresso SDK Examples

Several examples, demos and drivers are available within the SDK to help you get started. Some common examples for device management and secure OTA are listed below.

Bluetooth Low Energy Demos

How to use the Bluetooth Low Energy protocol.

Path: <SDK_PATH>/boards/frdmkw38/wireless_examples/bluetooth

Flash Examples

Demonstrate flash driver usage in the SDK environment.

Path: <SDK_PATH>/boards/frdmkw38/driver_examples/flash

Generic FSK Demos

How to use the Generic FSK.

Path: <SDK_PATH>/boards/frdmkw38/wireless_examples/genfsk

Hybrid Bluetooth LE and GenFSK Demo

How to use the Bluetooth Low Energy protocol and Generic FSK in a single application.

Path: <SDK_PATH>/boards/frdmkw38/wireless_examples/hybrid

Support

Trainings

Want to learn more about using the FRDM-KW38? Check out our selection of training offerings ranging from online mini tech sessions to hands-on deep-dive training for help.

Documents and Videos Description
Basic Application Development Using MCUXpresso IDE and MCUXpresso Config Tools This three-part video series covers the basic interactions between the MCUXpresso IDE and Config Tools when working with either an imported SDK example project or creating a new one.
AN12518 Hardware Design Considerations for MK39A/38A/37A/38Z/37Z Bluetooth LE Devices Describes Printed Circuit Board (PCB) design considerations for the MKW39A/38A/37A/38Z/37Z 48-pin QFN (HVQFN-7 x 7 Pitch 0.5 mm) wettable flank package. Included are layouts of the component copper layer, solder mask and solder paste stencil.
The Best Way to Build Your PCB Right the First Time Using the KW38 All of the important documents in one place concerning radio performance, low power and radio certification.
KW38 KW39 KW37 Hardware Board PCB Design-in Checklist Describes the usage and operation of the DC-DC switching Power Supply converter for the MKW4xZ/3xZ/3xA/2Xz families.
Unlocking the Future of Project CHIP In this session, we'll take a closer look at Project CHIP and illustrate how NXP's portfolio is uniquely positioned to support Project CHIP-based designs.

Forums

Connect with other engineers and get expert advice on designing with the FRDM-KW38 on one of our community sites.