Over a million developers have joined DZone.

The First tinyK22 Board With NXP K22FN512 ARM Cortex-M4F

DZone's Guide to

The First tinyK22 Board With NXP K22FN512 ARM Cortex-M4F

Let's set software aside with a look at this fascinating new prototype board, meant to be user-friendly, industrial grade, and with open source toolchain.

· IoT Zone ·
Free Resource

The NXP Freedom boards are very popular. Many of them are inexpensive (less than $20), include a debug interface, and can be easily extended with extra shields or boards. The FRDM-KL25Z is especially popular: I’m told because of Processor Expert and tutorials available on websites.

Unfortunately, there are no small or breadboard friendly Kinetis boards available. There is the NXP LPC800-DIP — but with no onboard debugger and without Processor Expert support. We have the tinyK20, but projects tend to use more CPU power, FLASH, and RAM space than what the tinyK20 board can provide (50 MHz, 128 KByte FLASH, 16 KByte RAM). So we ended up designing the big brother of the first tinyK20: the tinyK22 with 120 MHz, 512 KByte of FLASH, and 128 KByte of RAM.

tinyK22 Overview

tinyK22 Overview

While the Freedom boards are great, they are not ideal for wearables, breadboarding, small projects, or where low power/battery operation is required. What we need is a small board with an onboard debug interface and a capable processor, similar to the STM32 Nucleo-32 boards — both small and inexpensive. Plus, the board needs to be used with industry standard Eclipse and JTAG/SWD tools (sorry, no Arduino!).

Instead of making our own boards, we considered buying the excellent Teensy 3.5 boards. The problem with the Teensy boards is that you cannot debug it with a normal SWD/JTAG debugger, and it uses a proprietary loader. While the Teensy can be hacked (see Search Modifying the Teensy 3.5 and 3.6 for ARM SWD Debugging), it means higher costs, plus an external debug probe is needed. What we want is a user-friendly, industrial grade, and an open source toolchain and not another Arduino environment.

Similar to the tinyK20, this board is breadboard friendly. As a plus, the board can be directly soldered on a baseboard using the outside PCB solder rings. Below is the first ‘hand-produced’ prototype board:

tinyK22 top

tinyK22 top

On the board, there is an NXP K22FN512 (same device as on the FRDM-K22F). The K22FN512 (120 MHz ARM Cortex-M4F) has more FLASH (512KB) and RAM (128 KB) than the K20DX128 (50 MHz) on the tinyK20 (128 KByte FLASH and 16 KByte RAM). But main decision factor for the K22F was that it is supported by Processor Expert.

The board includes the Kinetis K20, which is loaded with the DAPLink bootloader and CMSIS-DAP debug firmware. That way, no external debug interface is needed. The K20 DAPLink device can be disconnected if needed. For your first programming of the K20 and K22, the board includes PCB top layer contact points:

SWD Debug Connections

SWD debug connections

That way, no expensive connectors are needed, and the holes in the PCB are used to align the probe and fix it from the bottom with an adapter, if needed. The picture below shows the needle adapter with the backside-fixing part. Other variants of such adapters can be found, e.g. on http://www.tag-connect.com

Debug Adapter

Debug needle adapter

As with the tinyK20 (see Data Logger with tinyK20 Board), the board has the option to add a micro-SD card socket on the PCB bottom side. If the SD card is power-hungry, an extra 3.3V regulator can be added, as the K22 can only provide about 100 mA with its internal regulator.

tinyK22 bottom

tinyK22 bottom

The first prototype is working fine, and we are going to make a small test batch in the coming weeks, followed by a larger volume, probably early next year. The target costs for around 200 boards is around or less than $20.

If there is enough interest and demand, we could consider making the design/board available outside of the university: What do you think?

Happy breadboarding!

PS: Thanks to Christian Di Battista for this great design!

processor expert ,external ,debug ,processor ,kinetis

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}