FRDM-K66F
The FRDM-K66F is a low cost development platform for Kinetis® K66, K65, and K26 MCUs.
Overview¶
The FRDM-K66F 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-M4. The board is well sized for low-power applications, thanks to its power efficient Kinetis K66 MCU featuring an ARM® Cortex®-M4 core running up to 180MHz and embedding 2MB Flash, 256KB RAM. Features on FRDM-K66F include but not limited to audio codec, digital MEMS microphone, dual-role high-speed USB, microSD card slot, Ethernet port and headers for use with Bluetooth® and 2.4 GHz radio add-on modules. The Kinetis K66 MCU family remains fully software, hardware and development tool compatibility with other 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¶
- Kinetis MK66FN2M0VMD18 in 144BGA package
- ARM® Cortex™-M4 32-bit core, with DSP instructions
- 180 MHz max CPU frequency
- 2 MB program flash memory
- 256 KB RAM
- FlexBus external bus interface and SDRAM controller
- Multiple low-power modes
- 1x Internal Reference Clocks, 2x Crystal inputs, 1x real-time clock
- 6x UART modules including 1 low-power TX/RX
- 2x CAN modules
- 3x SPI modules
- 4x I2C modules
- 1x I2S module
- 1x USB high-speed OTG, 1x USB full-speed OTG
- 1x Ethernet MAC controller with MII/RMII interface IEEE1588 capable
- Secure Digital Host Controller
- 2x 16-bit ADC, 2x 12-bit DAC
- 11x Timers
- Low-power hardware touch sensor interface (TSI)
- Hardware random-number generator
- Hardware encryption supporting DES, AES and SHA algorithms
- Advanced flash security
Board Features¶
- Onboard Components
- FXOS8700CQ - Accelerometer and Magnetometer
- FXAS21002 - Gyroscope
- 2 user push-buttons
- RGB LED
- Connectivity
- Dual role High-speed USB interface with micro-B USB connector
- Ethernet 10/100 controller with on-board transceiver and RJ45 connector
- up to 5x UARTs, 3x SPIs, 3x I2Cs, 1xI2S and 2xCANs connected to Headers (multiplexed peripherals)
- Extensions
- Micro SD-Card Socket
- Headers compatible with Arduino R3 shields (32-pins / outter row)
- Headers for proprietary shields (32-pins / inner row)
- Optional header for add-on RF module: RF24L01+ Nordic 2.4 GHz Radio
- Optional header for add-on Bluetooth module: JY-MCU BT Board V1.05 BT
- Analog and Digital IOs (multiplexed peripherals)
- 2x ADC 16-bit resolution with 29 Analog I/O Pins connected to Headers
- up to 6x timers with 23 PWM signals accessible from Headers
- up to 13x Comparator Inputs or 2x DAC outputs
- up to 54 MCU I/O Pins connected to Headers (3.3v, 4mA each, 400mA max total)
- Audio
- Digital MEMS microphone
- Auxiliary input jack
- Headset/Analog microphone jack
- Two optional input for analogue microphone
- Board power-supply options (onboard 5 to 3.3V regulator)
- USB Debug 5V
- USB Target 5V
- 5-9V Vin on Arduino headers
- 5V PWR input
- Coin-cell 3.3V
- Integrated OpenSDA USB Debug and Programming adapter
- Several industry standard Debug interfaces (PEmicro, CMSIS-DAP, JLink)
- Drag-n-drop MSD Flash-programming
- Virtual USB to Serial Port
- Form factor: 3.2” x 2.1” / 81mm x 53mm
- Software Development Tools
- mbed HDK & SDK enabled
- Online development tools
- Easy to use C/C++ SDK
- Lots of published libraries and projects
- Alternate Offline options NXP free KDS (compiler toolchain) and KSDK library/examples
- Supplier website: http://www.nxp.com/frdm-k66f
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
Board Pinout¶
Component Pinout¶
Following figure indicates the Kinetis K66 signal connections with the board components (RGB LED, Motion Sensor) and extension connectors (microSD Card, Bluetooth and RF headers).
Arduino and NXP Header Pinout¶
Freedom board headers enable up to 64-pins and give access to most of the Kinetis K66 signals
- Outer row pins deliver right signals to meet Arduino R3 standard
- Inner row is connected to up to 32 additional Kinetis K66pins
Important Notes
Please note that on this MCU in SPI Slave mode pins labeled MOSI behave as Slave Output and pins labeled MISO behave as Slave Input. The terms MOSI (Master Out Slave In) and MISO (Master In Slave Out) only apply to Master mode.
The FRDM-K66F 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.
- Terminals - Using Terminal applications to communicate between the Host PC and the mbed Micrcontroller
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:
Debug Interface Firmware Update¶
A new interface firmware image is necessary to mbed-enable NXP FRDM boards
The latest Arm Mbed DAPLink interface firmware for FRDM-K66F is available at (click the image):
Source: https://github.com/ARMmbed/DAPLink
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 recognize the mbed Microcontroller as a standard USB drive.
Windows 7 example | Mac OS X example |
Flash a project binary¶
1. Download a (.bin) to the FRDM Platform¶
Download the appropriate "Hello World!" binary:
- NXP FRDM-K66F: HelloWorld_K66F.bin
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. 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-K66F board available on the right panel of this page or at the NXP code repositories
Create new Project¶
Follow the guide to creating your own programs using the online compiler
Technical Doc¶
FRDM-K66F Board¶
Kinetis K66F MCU¶
- Data Sheet
- Reference Manual
- Errata
- Application Note - Multiplexing Pins Between SDRAM and FLEXBUS on K65/K66
FXOS8700 Motion Sensor¶
FXAS21002 Gyroscope¶
Where to buy¶
You need to log in to post a discussion
Discussion topics
Topic | Replies | Last post |
---|---|---|
K66F, SD Card K66 SD card Clif Notes | 2 |
01 Mar 2018
by
|
Incorrect accelerometer pins listed in "Additional Peripherals" | 0 |
19 Jan 2018
by
|
D9 is connected to PTB19. | 0 |
14 Jun 2017
by
|