FRDM-K64F

The Freedom-K64F is an ultra-low-cost development platform for Kinetis K64, K63, and K24 MCUs.

Overview

The Flagship FRDM-K64F has been designed by NXP in collaboration with mbed for prototyping all sorts of devices, especially those requiring optimized size and price points. The board is well sized for connected applications, thanks to its power efficient Kinetis K64F MCU featuring an ARM® Cortex®-M4 core running up to 120MHz and embedding 1024KB Flash, 256KB RAM and lots of peripherals (16-bit ADCs, DAC, Timers) and interfaces (Ethernet, USB Device Crystal-less and Serial). The Kinetis K64 MCU family remains fully software, hardware and development tool compatibility with Kinetis MCU and Freedom board families. It is packaged as a development board including extension headers compatible with Arduino R3 shields and includes a built-in USB Debug and Flash Programmer.


MCU Features


Board Features


Board Block Diagram

The graphic below gives an overview of the board features and the connection between the target MCU and the on-board components and connectors
/media/uploads/GregC/frdm-k64f_block-diagram.jpg


Board Pinout

Component Pinout

Following figure indicates the Kinetis K64F signal connections with the board components (RGB LED, Motion Sensor) and extension connectors (uSD Card, Bluetooth and RF headers).
/media/uploads/GregC/frdm-k64f_peripherals.png

Arduino and NXP Header Pinout

Freedom board headers enable up to 64-pins and give access to most of the Kinetis K64F signals

The FRDM-K64F 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


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:

Windows

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:

'''Windows''''''Mac''''''Linux'''
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*''
windowsmaclinux


Firmware Update

FirmwareUpdate

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


Get Started with mbed



First board connection

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.

/media/uploads/dan/winxp-disk.png/media/uploads/dan/mac-disk.png
Windows XP exampleMac OS X example

Connect to mbed

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.


Flash a project binary

1. Download a (.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.

K64F stuff

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. Run 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. Flash a new precompiled 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.


Open existing Project

1. Import the Program to your mbed compiler

Select Import As Program
Choose Import Name of your preference
Click on Import

Import programmbed_blinky

The example program for mbed pin-compatible platforms

2. Compile the Program

In the right panel Program Workspace Select the program you want to compile
Click on Compile in toolbar
If compilation ends successfully, you should see the comment Success! displayed in the Compile Output window available in the bottom and your web browser should download automatically the precompiled binary for the program.

3. Download a (.bin) to the FRDM Platform

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.

4. 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.

5. Run the Program

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.

Program Examples

Congratulation, you have successfully compiled your first project example, you will find more program examples for the FRDM-K64F board available on the right panel of this page or at the NXP and FRDM-K64F code repositories


Create new Project

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


Technical Doc

FRDM-K64F Board

Kinetis K64F MCU

FXOS8700 Motion Sensor


Software Materials

FRDM-K64F Interface Firmware / OpenSDA Application

K64F Freedom Sensor Libraries and Examples


Supported NXP Freedom shields


Supported Seeed Studio Grove extension modules

SEEED STUDIO has recently launched a new family called GROVE of compact Connectivity and Sensor modules, much cheaper (starting $2.90) and smaller than Arduino shields.Up to now the Seeed Grove portfolio includes more than 100 extension solutions!!

Several Grove adapters are available for the major MCU platforms of the market like Arduino, Rasbperry-Pi... to extend your MCU/MPU board with up to 16 grove analog or digital modules. To connect the Grove modules to the FRDM-K64F, we are going to use the Grove Shield v2 compatible with Arduino board pinout.

The mbed repository for the Grove modules covers today 37x Modules with Program Examples and Libraries, which should be easily ported (automatically) for the FRDM-K64F.

Please find below the list of the Program Examples tested with the FRDM-K64F

Sensors


/media/uploads/GregC/code_logo.jpg Freedom Grove Temperature and Humidity Sensor Example
Collect the Temperature and Humidity measurements and push them to the PC via the Serial interface (instructions available).

/media/uploads/GregC/code_logo.jpg Freedom Grove Light Sensor Example
Collect the Light measurements and push them to the PC via the Serial interface (instructions available).

/media/uploads/GregC/code_logo.jpg Freedom Grove Collision Sensor Example
Collect the Collision measurements and push a message to the PC via the Serial interface (instructions available).

/media/uploads/GregC/code_logo.jpg Freedom Grove PIR Sensor Example
Collect the Motion detection and push the number of detection since last reset to the PC via the Serial interface (instructions available).

/media/uploads/GregC/code_logo.jpg Freedom Grove Alcohol Sensor Example
Display in the hyperterminal the measurements of the alcohol sensor (instructions available).

User Interfaces


/media/uploads/GregC/code_logo.jpg Freedom Grove Vibration Example
Control a motor to emit vibrations (instructions available).

/media/uploads/GregC/code_logo.jpg Freedom Grove Relay Example
Control a Relay using the user push-button from the MCU board (instructions available).

/media/uploads/GregC/code_logo.jpg Freedom Grove Joystick Example
Display in the Hyperterminal the position of the Joystick (instructions available).

/media/uploads/GregC/code_logo.jpg Freedom Grove 4-digit Display Example
Display on a 4-digit screen a clock example (instructions available).


Supported Mikroelektronika Click extension modules

MIKROELEKTRONIKA introduced few years ago a new family called CLICK of compact Connectivity and Sensor modules, much cheaper (starting $5) and smaller than Arduino shields. Up to now the Mikroe Click portfolio includes more than 200 extension solutions!!

Several Click Shields are available for the major MCU platforms of the market like Arduino, Rasbperry-Pi... to extend your MCU/MPU board with up to 16 grove analog or digital modules. To connect the Click modules to the FRDM-K64F, we are going to use the Mikroe FRDM-K64F Click SHIELD compatible with Arduino board pinout.

Please find below the list of the Program Examples tested with the FRDM-K64F

User Interfaces


/media/uploads/GregC/code_logo.jpg Freedom Click Relay Example
Control two Relays using the user push-buttons from the MCU board (instructions available).

Where to buy

Online Distribution

 Buy Now


Discussion topics

TopicRepliesLast post
unable to flash Freedom K64 using the mbed enviornment 1 20 Jul 2016 by Toni Bjažić
K64F power consumption 11 08 Jun 2016 by Damien Frost
any ideas for a FRDM-K64F enclosure? 11 24 May 2016 by Kevin Braun
4-bit SDIO for microSD on K64F? 0 21 Apr 2016 by tom dunigan
PTE24/25 - Pull-ups 0 18 Apr 2016 by Craig Evans
Access to K64F Port Control Registers 1 29 Mar 2016 by Colin Hogben
16-bit SPI support 23 21 Feb 2016 by Erik Olieman
Has anyone been successful in getting SNMP to work on the FRDM-K64 board? 0 16 Feb 2016 by stan richards
K64F crypto-acceleration unit (CAU) 1 14 Jan 2016 by Julian Higginson
K64F RTC crystal frequency tests 0 27 Oct 2015 by tom dunigan
Mac-Yosemite FRDM-K64F KDS/KSDK debug setup using pyOCD and gdb 0 26 Sep 2015 by tt pp
Anyone know how to K64F Flash programming ? 13 26 Mar 2015 by -deleted-
FRDM-K64F "not consecutive sectors" everytime 11 26 Feb 2015 by Patrick Smith
mbed source code availability and bring up of inhouse developed CortexM4 board similar to FRDM-K64K 5 26 Feb 2015 by Erik Olieman
mbed-rtos on Cortex-M4F FRDM boards 3 31 Dec 2014 by Sam Grove
FRDM-K64 Lua 1 17 Dec 2014 by Patrick Pollet
Does the recently updated EthernetInterface library work on the K64F platform 33 12 Aug 2014 by Philllip Dimond
Bug: Pin names for LED_RED, LED_GREEN, LED_BLUE, LED_RED are wrong 4 24 Jun 2014 by genius gogo
About Floating Point processing unit(KL64F)? 1 06 May 2014 by Erik Olieman
DAC (2x 12bit) ? 4 26 Apr 2014 by Kyle Cassar
See more related discussion topics

Questions

See more related questions