NXP FRDM-KW41Z

Overview

The FRDM-KW41Z is a development kit enabled by the Kinetis® W series KW41Z/31Z/21Z (KW41Z) family built on ARM® Cortex®-M0+ processor with integrated 2.4 GHz transceiver supporting Bluetooth® Smart/Bluetooth® Low Energy (BLE) v4.2, Generic FSK, IEEE® 802.15.4 and Thread.

The FRDM-KW41Z kit contains two Freedom boards that can be used as a development board or a shield to connect to a host processor. The FRDM-KW41Z is form-factor compatible with the Arduino™ R3 pin layout for more expansion options.

The FRDM-KW41Z highly-sensitive, optimized 2.4 GHz radio features a PCB F-antenna which can be bypassed to test via SMA connection, multiple power supply options, push/capacitive touch buttons, switches, LEDs and integrated sensors.

FRDM-KW41Z

Hardware

  • Can be configured as Host or Shield for connection to Host Processor

  • Supports all DC-DC configurations (Buck, Boost, Bypass)

  • PCB inverted F-type antenna

  • SMA RF Connector

  • RF regulatory certified

  • Serial Flash for OTA firmware upgrades

  • On board NXP FXOS8700CQ digital sensor, 3D Accelerometer ( ±2g/ ±4g/ ±8g) + 3D Magnetometer

  • OpenSDA and JTAG debug

For more information about the KW41Z SoC and FRDM-KW41Z board:

Supported Features

The frdm_kw41z 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

COUNTER

on-chip

rtc

GPIO

on-chip

gpio

I2C

on-chip

i2c

SPI

on-chip

spi

ADC

on-chip

adc

UART

on-chip

serial port-polling; serial port-interrupt

FLASH

on-chip

soc flash

SENSOR

off-chip

fxos8700 polling: fxos8700 trigger

PWM | on-chip | tpm

The default configuration can be found in the defconfig file:

boards/arm/frdm_kw41z/frdm_kw41z_defconfig

Other hardware features are not currently supported by the port.

Connections and IOs

The KW41Z SoC has three pairs of pinmux/gpio controllers, but only two are currently enabled (PORTA/GPIOA and PORTC/GPIOC) for the FRDM-KW41Z board.

Name

Function

Usage

PTC1

GPIO

Red LED / FXOS8700 INT1

PTA19

GPIO

Green LED

PTA18

GPIO

Blue LED

PTB2

ADC

ADC0 channel 3

PTC2

I2C1_SCL

I2C / FXOS8700

PTC3

I2C1_SDA

I2C / FXOS8700

PTC4

GPIO

SW3

PTC5

GPIO

SW4

PTC6

LPUART0_RX

UART Console

PTC7

LPUART0_TX

UART Console

PTC16

SPI0_SCK

SPI

PTC17

SPI0_SOUT

SPI

PTC18

SPI0_SIN

SPI

PTC19

SPI0_PCS0

SPI

System Clock

The KW41Z SoC is configured to use the 32 MHz external oscillator on the board with the on-chip FLL to generate a 40 MHz system clock.

Serial Port

The KW41Z SoC has one UART, which is used for the console.

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 OpenSDA DAPLink Onboard Debug Probe.

Configuring a Console

Regardless of your choice in debug probe, we will use the OpenSDA microcontroller as a usb-to-serial adapter for the serial console.

Connect a USB cable from your PC to J6.

Use the following settings with your serial terminal of choice (minicom, putty, etc.):

  • Speed: 115200

  • Data: 8 bits

  • Parity: None

  • Stop bits: 1

Flashing

Here is an example for the Hello World application.

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

Open a serial terminal, reset the board (press the SW1 button), and you should see the following message in the terminal:

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

Debugging

Here is an example for the Hello World application.

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

Open a serial terminal, 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! frdm_kw41z