This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

NXP USB-KW24D512

Overview

The USB-KW24D512 is an evaluation board in a convenient USB dongle form factor based on the NXP MKW24D512 System-in-Package (SiP) device (KW2xD wireless MCU series). MKW24D512 wireless MCU provides a low-power, compact device with integrated IEEE 802.15.4 radio. The board can be used as a packet sniffer, network node, border router or as a development board.

Hardware

  • Kinetis KW2xD-2.4 GHz 802.15.4 Wireless Radio Microcontroller (50 MHz, 512 KB flash memory, 64 KB RAM, low-power, crystal-less USB)

  • USB Type A Connector

  • Two blue LEDs

  • One user push button

  • One reset button

  • Integrated PCB Folded F-type antenna

  • 10-pin (0.05”) JTAG debug port for target MCU

For more information about the KW2xD SiP and USB-KW24D512 board:

Supported Features

The USB-KW24D512 board configuration supports the following hardware features:

Interface

Controller

Driver/Component

NVIC

on-chip

nested vector interrupt controller

SYSTICK

on-chip

systick

PINMUX

on-chip

pinmux

GPIO

on-chip

gpio

I2C

on-chip

i2c

SPI

on-chip

spi

WATCHDOG

on-chip

watchdog

UART

on-chip

serial port-polling; serial port-interrupt

FLASH

on-chip

soc flash

USB

on-chip

USB device

The default configuration can be found in the defconfig file:

boards/arm/usb_kw24d512/usb_kw24d512_defconfig

Other hardware features are not currently supported by the port.

Connections and IOs

The KW2xD SoC has five pairs of pinmux/gpio controllers.

Name

Function

Usage

PTA1

UART0_RX

UART Console

PTA2

UART0_TX

UART Console

PTC4

GPIO

SW1

PTD4

GPIO

Blue LED (D2)

PTD5

GPIO

Blue LED (D3)

PTB10

SPI1_PCS0

internal connected to MCR20A

PTB11

SPI1_SCK

internal connected to MCR20A

PTB16

SPI1_SOUT

internal connected to MCR20A

PTB17

SPI1_SIN

internal connected to MCR20A

PTB19

GPIO

internal connected to MCR20A (Reset)

PTB3

GPIO

internal connected to MCR20A (IRQ_B)

PTC0

GPIO

internal connected to MCR20A (GPIO5)

System Clock

USB-KW24D512 contains 32 MHz oscillator crystal, which is connected to the clock pins of the radio transceiver. The MCU is configured to use the 4 MHz external clock from the transceiver with the on-chip PLL to generate a 48 MHz system clock.

Serial Port

The KW2xD SoC has three UARTs. One is configured and can be used for the console, but it uses the same pins as the JTAG interface and is only accessible via the JTAG SWD connector.

USB

The KW2xD SoC has a USB OTG (USBOTG) controller that supports both device and host functions. Only USB device function is supported in Zephyr at the moment. The USB-KW24D512 board has a USB Type A connector and can only be used in device mode.

Programming and Debugging

Build and flash applications as usual (see Building an Application and Run an Application for more details).

Configuring a Debug Probe

A debug probe is used for both flashing and debugging the board. This board is configured by default to use the J-Link External Debug Probe.

Configuring a Console

The console is available using Segger RTT.

Connect a USB cable from your PC to J5.

Once you have started a debug session, run telnet:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
SEGGER J-Link V6.44 - Real time terminal output
SEGGER J-Link ARM V10.1, SN=600111924
Process: JLinkGDBServerCLExe

Flashing

Here is an example for the Hello World application.

# From the root of the zephyr repository
west build -b usb_kw24d512 samples/hello_world
west flash

The Segger RTT console is only available during a debug session. Use attach to start one:

# From the root of the zephyr repository
west build -b usb_kw24d512 samples/hello_world
west attach

Run telnet as shown earlier, and you should see the following message in the terminal:

***** Booting Zephyr OS v1.14.0-rc1 *****
Hello World! usb_kw24d512

Debugging

Here is an example for the Hello World application.

# From the root of the zephyr repository
west build -b usb_kw24d512 samples/hello_world
west debug

Run telnet as shown earlier, step through the application in your debugger, and you should see the following message in the terminal:

***** Booting Zephyr OS v1.14.0-rc1 *****
Hello World! usb_kw24d512