The FRDM-KL25Z is an ultra-low-cost development platform for Kinetis L Series KL1x (KL14/15) and KL2x (KL24/25) MCUs built on ARM® Cortex™-M0+ processor. Features include easy access to MCU I/O, battery-ready, low-power operation, a standard-based form factor with expansion board options and a built-in debug interface for flash programming and run-control. The FRDM-KL25Z is supported by a range of NXP and third-party development software.


The FRDM-KL25Z has been designed by NXP in collaboration with mbed for prototyping all sorts of devices, especially those requiring the size and price point offered by Cortex-M0+ and the power of USB Host and Device. It is packaged as a development board with connectors to break out to strip board and breadboard, and includes a built-in USB FLASH programmer.


It is based on the NXP KL25Z, with a 32-bit ARM Cortex-M0+ core running at 48MHz. It includes 128KB FLASH, 16KB RAM and lots of interfaces including USB Host, USB Device, SPI, I2C, ADC, DAC, PWM, Touch Sensor and other I/O interfaces.


The FRDM-KL25Z is fully supported in the mbed platform, so it gets access to the free tools and SDK that provides experienced embedded developers with powerful and productive tools for building proof-of-concepts. The pinout above shows the commonly used interfaces and their locations. Note that all the numbered pins (PT_XX) can also be used as DigitalIn and DigitalOut interfaces.

Pin names




A new interface firmware image is necessary to mbed-enable NXP FRDM boards

Getting Started with mbed

1. Connect your microcontroller to a PC

Use the USB lead to connect your mbed to a PC. The status light will come on, indicating it has power. After a few seconds of activity, the PC will recognise the mbed Microcontroller as a standard USB drive.

Windows XP exampleMac OS X example

Go to the new USB Drive, and click MBED.HTM to open it in a web browser.

If you do not have an mbed account, choose "Signup", and create your mbed Account. Otherwise, log in with your normal username and password.

This will give you access to the website, tools, libraries and documentation.

PC Configuration

Your mbed Microcontroller can appear on your computer as a serial port. On Mac and Linux, this will happen by default. For Windows, you need to install a driver:


See Windows-serial-configuration for full details about setting up Windows for serial communication with your mbed Microcontroller

From a host PC to communicate with mbed you will need a terminal application. This allows the mbed Microcontroller to print to your PC screen, and for you to send characters back to your mbed.

Some terminal programs (e.g. TeraTerm) list the available serial ports by name. However, if you do need to know the identity of the serial port so that you can attach a terminal or an application to it:

Find the identity of the COM port by opening ''Device Manager''. To do this navigate ''Start -> Control Panel -> System -> Hardware -> Device Manager''.To find the device name under Mac OS X, use the command ''ls /dev/tty.usbmodem*''To find the device name under Linux, use the command ''ls /dev/ttyACM*''

Downloading A program

1. Save a program binary (.bin) to the FRDM Platform

Download the appropriate "Hello World!" binary:

Note: the source code for this program will be seen in the next section.

Save the program binary file to your mbed Microcontroller Disk, just like you would with a normal USB disk. The Status LED will flash as the PC writes the file to the Microcontroller disk.


2. Press the Reset Button

When the Reset Button in pressed, the newest program on the mbed Microcontroller Disk will be loaded in to the Microcontroller FLASH memory. The Status LED will flash as this happens.

When the program is has been loaded onto the microcontroller, it will then start it running.

3. Hello World!

The Microcontroller is now running the program; flashing LED1 forever! If you reset the Microcontroller, or disconnect and reconnect the power, the program will simply restart.

4. To download a different program

It is the newest program on the mbed Microcontroller that is run after reset. We can therefore download a new program or overwrite an existing one to update the program that will run.

Hello World!

Import programmbed_blinky

The example program for mbed pin-compatible platforms

Where Next

Follow the guide to creating your own programs using the online compiler

Technical Reference



Data Sheets

Interface Firmware

 Buy Now

Discussion topics

TopicRepliesLast post
I2C voltage limitations on KL25Z 0 19 Dec 2016 by chris stevens
Board disconnects when copying bin files in 0 30 Nov 2016 by Patrick Wong
Only get "BOOTLOADER" not "MBED" 1 26 Nov 2016 by Tracy Markham
problem with my KL25Z 7 23 Nov 2016 by Dnyaneshwar Kanade
Need firmware that does NOT put clock on A5 (PTC1) 1 20 Jul 2016 by Toni Bjažić
Error in KL25Z pinout image on /platforms/KL25Z 1 07 Jun 2016 by chris stevens
Unable to get AnalogIn on all 16 advertised ADC pins 1 11 May 2016 by Sami Kanderian
PINOUTS FOR FRDMKL25Z OF NEW NPX PAGE IS BAD 0 25 Apr 2016 by Gustavo Ramirez
Bootloader Open Sda - development programmer for kl25z - help me 0 04 Apr 2016 by Pedro Santos
Problem in UART1 / UART2 Communication with SIM908 0 01 Feb 2016 by Karthik C
KL25Z and seeed SD card 2 24 Oct 2014 by Keith 55
USB connector came out easily 0 08 May 2014 by HM Yoong
See more related discussion topics


USB Host? -deleted-
6 months, 3 weeks ago


See more related questions