RDDRONE-FMUK66
Overview
The RDDRONE FMUK66 is an drone control board with commonly used peripheral connectors and a Kinetis K66 on board.
Comes with a J-Link Edu Mini for programming and UART console.
Hardware
MK66FN2MOVLQ18 MCU (180 MHz, 2 MB flash memory, 256 KB RAM, low-power, crystal-less USB, and 144 Low profile Quad Flat Package (LQFP))
Dual role USB interface with micro-B USB connector
RGB LED
FXOS8700CQ accelerometer and magnetometer
FXAS21002CQ gyro
BMM150 magnetometer
ML3114A2 barometer
BMP280 barometer
Connector for PWM servo/motor controls
Connector for UART GPS/GLONASS
SDHC
For more information about the K64F SoC and FRDM-K64F board:
Supported Features
The rddrone_fmuk66
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.
Type |
Location |
Description |
Compatible |
---|---|---|---|
CPU |
on-chip |
ARM Cortex-M4F CPU1 |
|
ADC |
on-chip |
Kinetis ADC162 |
|
CAN |
on-chip |
NXP FlexCAN controller2 |
|
Clock control |
on-chip |
NXP Kinetis Multipurpose Clock generator (MCG) IP node1 |
|
on-chip |
Kinetis System Integration Module (SIM) IP node1 |
||
on-chip |
Generic fixed factor clock provider4 |
||
Counter |
on-chip |
NXP Periodic Interrupt Timer (PIT)1 |
|
on-chip |
Child node for the Periodic Interrupt Timer node, intended for an individual timer channel4 |
||
DAC |
on-chip |
||
DMA |
on-chip |
NXP MCUX EDMA controller1 |
|
Ethernet |
on-chip |
NXP ENET IP Module1 |
|
on-chip |
NXP ENET MAC/L2 Device1 |
||
on-board |
Generic MII PHY1 |
||
on-chip |
NXP ENET PTP (Precision Time Protocol) Clock1 |
||
Flash controller |
on-chip |
NXP Kinetis Flash Memory Module E (FTFE)1 |
|
GPIO & Headers |
on-chip |
Kinetis GPIO5 |
|
I2C |
on-chip |
||
Interrupt controller |
on-chip |
ARMv7-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
on-board |
Group of PWM-controlled LEDs1 |
||
MDIO |
on-chip |
NXP ENET MDIO Features1 |
|
MTD |
on-chip |
Flash node1 |
|
on-board |
Fixed partitions of a flash (or other non-volatile storage) memory1 |
||
PHY |
on-board |
Simple GPIO controlled CAN transceiver2 |
|
Pin control |
on-chip |
NXP PORT Pin Controller5 |
|
on-chip |
NXP PORT Pin Controller1 |
||
PWM |
on-chip |
NXP FlexTimer Module (FTM) PWM controller2 |
|
Regulator |
on-board |
Fixed voltage regulators3 |
|
RNG |
on-chip |
Kinetis RNGA (Random Number Generator Accelerator)1 |
|
RTC |
on-chip |
NXP Real Time Clock (RTC)1 |
|
Sensors |
on-board |
BME280 integrated environmental sensor1 |
|
on-board |
Bosch BMM150 Geomagnetic sensor1 |
||
on-board |
FXOS8700 6-axis accelerometer/magnetometer sensor1 |
||
on-board |
FXAS21002 3-axis gyroscope sensor1 |
||
on-chip |
|||
Serial controller |
on-chip |
||
on-chip |
NXP LPUART1 |
||
SPI |
on-chip |
NXP DSPI controller3 |
|
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv7-M System Tick1 |
|
on-chip |
NXP FlexTimer Module (FTM)2 |
||
USB |
on-chip |
NPX Kinetis USBFSOTG Controller in device mode1 |
|
Watchdog |
on-chip |
Kinetis watchdog1 |
System Clock
The K66F SoC is configured to use the 16 MHz external oscillator on the board with the on-chip PLL to generate a 160 MHz system clock.
Serial Port
The K66F SoC has six UARTs. LPUART0 is configured for the console, UART0 is labeled Serial 2, UART2 is labeled GPS, UART4 is labeled Serial 1. Any of these UARTs may be used as the console by overlaying the board device tree.
USB
The K66F SoC has a USB OTG (USBOTG) controller that supports both device and host functions through its micro USB connector (K66F USB). Only USB device function is supported in Zephyr at the moment.
Programming and Debugging
The rddrone_fmuk66
board supports the runners and associated west commands listed below.
flash | debug | rtt | debugserver | attach | |
---|---|---|---|---|---|
jlink | ✅ (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 jlink. The board package with accessories comes with a jlink mini edu and cable specifically for this board along with a usb to uart that connects directly to the jlink mini edu. This is the expected default configuration for programming and getting a console.
# From the root of the zephyr repository
west build -b rddrone-fmuk66 samples/hello_world
Configuring a Console
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 rddrone-fmuk66 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 v2.7.0 *****
Hello World! rddrone-fmuk66
Debugging
Here is an example for the Hello World application.
# From the root of the zephyr repository
west build -b rddrone-fmuk66 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 v2.7.0 *****
Hello World! rddrone-fmuk66
Support Resources for Zephyr
MCUXpresso for VS Code, wiki documentation and Zephyr lab guides
NXP’s Zephyr landing page (including training resources)
https://nxp.gitbook.io/hovergames/userguide/getting-started
https://www.nxp.com/webapp/Download?colCode=SPF-39053
https://www.nxp.com/docs/en/data-sheet/K66P144M180SF5V2.pdf
https://www.nxp.com/webapp/Download?colCode=K66P144M180SF5RMV2