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 supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
usb_kw24d512
/
mkw24d5

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M4 CPU1

arm,cortex-m4

ADC

on-chip

Kinetis ADC161

nxp,kinetis-adc16

Clock control

on-chip

NXP Kinetis Multipurpose Clock generator (MCG) IP node1

nxp,kinetis-mcg

on-chip

Kinetis System Integration Module (SIM) IP node1

nxp,kinetis-sim

on-chip

Generic fixed factor clock provider3

fixed-factor-clock

Flash controller

on-chip

NXP Kinetis Flash Memory Module L (FTFL)1

nxp,kinetis-ftfl

GPIO & Headers

on-chip

Kinetis GPIO5

nxp,kinetis-gpio

I2C

on-chip

Kinetis I2C2

nxp,kinetis-i2c

IEEE 802.15.4

on-chip

NXP MCR20A 802.15.4 wireless transceiver1

nxp,mcr20a

Input

on-board

Group of GPIO-bound input keys1

gpio-keys

Interrupt controller

on-chip

ARMv7-M NVIC (Nested Vectored Interrupt Controller)1

arm,v7m-nvic

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

MTD

on-chip

Flash node1

soc-nv-flash

on-board

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

Pin control

on-chip

NXP PORT Pin Controller5

nxp,port-pinmux

on-chip

NXP PORT Pin Controller1

nxp,port-pinctrl

RNG

on-chip

Kinetis RNGA (Random Number Generator Accelerator)1

nxp,kinetis-rnga

Serial controller

on-chip

Kinetis UART1 2

nxp,kinetis-uart

SPI

on-chip

NXP DSPI controller1 1

nxp,dspi

SRAM

on-chip

Generic on-chip SRAM1

mmio-sram

Timer

on-chip

ARMv7-M System Tick1

arm,armv7m-systick

on-chip

NXP FlexTimer Module (FTM)3

nxp,ftm

USB

on-chip

NPX Kinetis USBFSOTG Controller in device mode1

nxp,kinetis-usbd

Watchdog

on-chip

Kinetis watchdog1

nxp,kinetis-wdog

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

The usb_kw24d512 board supports the runners and associated west commands listed below.

flash debug debugserver attach rtt
jlink ✅ (default) ✅ (default)
pyocd

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

Support Resources for Zephyr