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.

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 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.
frdm_kw41z
/
mkw41z4

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M0+ CPU1

arm,cortex-m0+

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 provider2

fixed-factor-clock

Flash controller

on-chip

NXP Kinetis Flash Memory Module A (FTFA)1

nxp,kinetis-ftfa

GPIO & Headers

on-chip

Kinetis GPIO2 1

nxp,kinetis-gpio

on-board

GPIO pins exposed on Arduino Uno (R3) headers1

arduino-header-r3

I2C

on-chip

Kinetis I2C1 1

nxp,kinetis-i2c

IEEE 802.15.4

on-chip

NXP KW41Z IEEE 802.15.4 node1

nxp,kw41z-ieee802154

Input

on-board

Group of GPIO-bound input keys1

gpio-keys

Interrupt controller

on-chip

ARMv6-M NVIC (Nested Vectored Interrupt Controller) controller1

arm,v6m-nvic

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

on-board

Group of PWM-controlled LEDs1

pwm-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 Controller3

nxp,port-pinmux

on-chip

NXP PORT Pin Controller1

nxp,port-pinctrl

PWM

on-chip

MCUX Timer/PWM Module (TPM)2 1

nxp,kinetis-tpm

RNG

on-chip

Kinetis TRNG (True Random Number Generator)1

nxp,kinetis-trng

RTC

on-chip

NXP Real Time Clock (RTC)1

nxp,rtc

Sensors

on-board

FXOS8700 6-axis accelerometer/magnetometer sensor1

nxp,fxos8700

Serial controller

on-chip

NXP LPUART1

nxp,lpuart

SPI

on-chip

NXP DSPI controller1 1

nxp,dspi

SRAM

on-chip

Generic on-chip SRAM1

mmio-sram

Timer

on-chip

ARMv6-M System Tick1

arm,armv6m-systick

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

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

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

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

Support Resources for Zephyr