1
Plug It In2
Get Software3
Build, Run4
CreateSign in to save your progress. Don't have an account? Create one.
Let's take your USB-KW38 for a test drive.
Something went wrong! Please try again.
Your USB-KW38 Power green LED should stay ON when you connect the board.
Something went wrong! Please try again.
In this step, we are going to guide you through the process to get the required software to enable the USB-KW38 dongle as a Bluetooth Low Energy sniffer. You can also use the USB-KW38 as a development platform. Select the option you want to accomplish with your USB-KW38.
MCUXpresso SDK for the USB-KW38 includes all the wireless connectivity stacks required to develop your solution using Generic FSK, and Bluetooth Low Energy.
Click below to download a pre-configured SDK release for the USB-KW38 that includes all the wireless connectivity stacks for the KW38.
You can also use the online SDK Builder to create a custom SDK package for the USB-KW38 using the SDK builder.
Wireshark is an Open-source network protocol analyzer. It can show you what is being sent over the air, and is a very useful tool for debugging communication between devices.
Get Wireshark network protocol analyzer
The Kinetis Protocol Analyzer Adapter is a software program that provides a bridge between the USB-KW38 board and Wireshark. It needs to be installed so that the USB-KW38 will appear to Wireshark as a network interface that can be sniffed. Click the button below to download and install this software on your computer.
MCUXpresso SDK for the USB-KW38 includes all the wireless connectivity stacks required to develop your solution using Generic FSK, and Bluetooth Low Energy.
Click below to download a pre-configured SDK release for the USB-KW38 that includes all the wireless connectivity stacks for the KW38.
You can also use the online SDK Builder to create a custom SDK package for the USB-KW38 using the SDK builder.
NXP offers a complimentary toolchain called MCUXpresso IDE.
Want to use a different toolchain?
No problem! MCUXpresso SDK connectivity stack software also supports IAR .
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 with the CMSIS-DAP debugger loaded onto the OpenSDA circuit of your USB-KW38.
Download Driver (CMSIS DAP users only)
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.
USB-KW38 comes pre-programmed with sniffer firmware by default. To flash the OpenSDA version again to the K2x of your USB-KW38, follow the steps provided in the following guide: Flash OpenSDA.
Configure your preferred terminal to 115,200 baud rate, 8 data bits, no parity and 1 stop bit. To determine the port number of the USB-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.
Something went wrong! Please try again.
Each of the our Wireless Connectivity Stack comes with a list of demo applications and driver examples ready to be compiled and run.
Generic FSK.
The KW38 Wireless Connectivity Software package comes with a long list of demo applications for the Bluetooth Low Energy protocol. To see what's available, browse to the 'examples' folder (<connectivity_software_install_folder>\boards\usbkw38_kw38\wireless_examples\genfsk </connectivity_software_install_folder>
).
You probably want to build and debug a demo by yourself. Use the following guides to learn how to build and debug an example application from the Wireless Connectivity Stacks in the MCUXpresso IDE or IAR Embedded Workbench IDE: IAR Embedded Workbench IDE, MCUXpresso IDE.
Bluetooth Low Energy.
The KW38 Wireless Connectivity Software package comes with a long list of Bluetooth LE demo applications. To see what's available, browse to the 'examples' folder (<connectivity_software_install_folder>\boards\usbkw38_kw38\wireless_examples\bluetooth </connectivity_software_install_folder>
).
In order to use the Bluetooth Low Energy examples, the Kinetis BLE 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.
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 IAR Embedded Workbench IDE or MCUXpresso IDE.
Something went wrong! Please try again.
NXP provides a project cloner tool which allows you to copy an existing demo to use as a base for your own development, keeping the original demo app resources for reference. The cloner tool is included in your software package download. It can be found in <install_dir> \tools\wireless\ProjectCloner
.
Option A: Use the MCUXpresso IDE to clone an example project.
Note: This is an example to get the procedure. The LED SW example is not available in all SDKs.
Option B: Use the MCUXpresso Config Tool to clone an existing MCUXpresso SDK example for use with third party IDEs.
Note: This is an example to get the procedure. The LED SW example is not available in all SDKs.
Something went wrong! Please try again.
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.
PTC1
is routed as a GPIO to toggle the red LED. Let's disable PTC1
, and change the mux setting of PTA18
to use its GPIO functionality to drive the blue LEDPTC1
(Red LED) as a GPIO by clicking the PTC1
field under the GPIO column. The pin will then be disabled (pin will no longer have check in box) and thus disappear from the list PTA18
as a GPIO. First, deselect the 'Show Routed All/Pins' so that all the pins are displayed again. Then, search PTA18
in the Pins view. Finally, click the box under the GPIO column. The box will highlight in green, and a check will appear next to the pin PTB21
also appears in the Routed Pins tab and PTB22
has been removed. The pin_mux.c file has been updated to reflect the change as well C:\nxp_workspace\usbkw38_driver_examples_gpio_led_output\board
). Select Finish GPIOA
and the BOARD_LED_GPIO_PIN to '18' Something went wrong! Please try again.
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.
C:\nxp_workspace\usbkw38_driver_examples_gpio_led_output\board
). Select Finish Something went wrong! Please try again.
USB-KW38 comes pre-programmed with sniffer firmware by default. However, if you erased the pre-programmed software in the USB-KW38, you can follow the steps provided in the guide below to reprogram the USB-KW38 with the sniffer application again.
These steps show how to program USB-KW38 with the sniffer application. To enable USB-KW38 as a sniffer, you need to program both devices (K22F and KW40).
The next tools are needed to be able to program USB-KW38:
It is assumed that the user already knows how to flash USB-KW38. This means that the user already went through the "Update Software of the USB-KW38 QSG" document shown in the USB-KW38 "Getting Started" page when using this board as a development platform.
<connectivitysoftware_install_folder>\tools\wireless\binaries
C:\Program Files (x86)\SEGGER\JLink_Vxxx
)
Note: JLink_Vxxx folder name can be different this is due to the JLink software version installed. Please check the JLink_Vxxx supports KW38 device.
J6
) on the USB-KW37ZJ5
) Open JLink.exe (from the same path in step #1)
loadbin k22f_bl_crc_07132016.bin 0
loadbin sniffer_usbkw38_k22f_0x8000.bin 0x8000
J1
) on the USB-KW37ZJ5
) Open >JLink.exe (from the same path in step #1)
loadbin sniffer_usbkw38_kw37z.bin 0
These steps show how to program USB-KW38 with the sniffer application. In order to enable USB-KW38 as a sniffer, you need to program both devices (K22F and KW37).
The next tools are needed to be able to program USB-KW38:
<connectivitysoftware_install_folder>\tools\wireless\binaries
sniffer_usbkw38_kw37z.bin
in the "USB-KW37Z"
sniffer_usbkw38_k22f_0x8000.bin
in the "DAPLINKBOOT" drive
To flash the OpenSDA version again to the K22F of USB-KW37Z, follow the next steps:
k22f_usbkw37z_if_crc.bin
in the "DAPLINKBOOT" drive For futher information please refer to OpenSDA Serial and Debug Adapter.
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.
These steps show how to:
The example used below is for the Generic FSK Connectivity Test demo, but these steps can be applied to any of the Wireless Connectivity demo applications.
<install_dir>\boards\USBKW38\wireless_examples\genfsk\connectivity_test\freertos\iar
) <install_dir>\docs\wireless\GENFSK\Generic FSK Link Layer Quick Start Guide.pdf
- MKW37A/MKW38A/MKW39A/MKW37Z/MKW38Z Generic FSK Link Layer Software for more information on this demo applicationThese steps show how to:
The example used below is for the Generic FSK Connectivity Test demo, but these steps can be applied to any of the Wireless Connectivity demo applications.
The following steps will guide you through opening the GenFSK example.
<install_dir>\docs\wireless\GENFSK\Generic FSK Link Layer Quick Start Guide.pdf
- MKW37A/MKW38A/MKW39A/MKW37Z/MKW38Z Generic FSK Link Layer Software for more information on this demo applicationExplore beyond the USB-KW38 by integrating other NXP solutions and software to your project and interact with our worldwide design community.
The KW37/38/39 is an ultra low power, highly integrated single-chip device that enables Bluetooth low energy (LE) version 5.0 and Generic FSK (at 250, 500, 1000 and 2000 kbps) RF connectivity for automotive embedded systems. Find out more at KW37/38/39.
The TJA1057 is part of the Mantis family of high-speed CAN transceivers. It provides an interface between a Controller Area Network (CAN) protocol controller and the physical two-wire CAN bus. Learn more at TJA1057.
The TJA1027 is the interface between the Local Interconnect Network (LIN) leader/follower protocol controller and the physical bus in a LIN network. Learn more at TJA1027.
Connect with other engineers and get expert advice on designing with Kinetis MCUs and Wireless Connectivity software. Join the community discussion in one of our two dedicated communities: