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.
rddrone_fmuk66
/
mk66f18

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M4F CPU1

arm,cortex-m4f

ADC

on-chip

Kinetis ADC162

nxp,kinetis-adc16

CAN

on-chip

NXP FlexCAN controller2

nxp,flexcan

Clock control

on-chip

NXP Kinetis Multipurpose Clock generator (MCG) IP node1

nxp,kinetis-mcg

on-chip

Kinetis System Integration Module (SIM) IP node1

nxp,kinetis-sim

on-chip

Generic fixed factor clock provider4

fixed-factor-clock

Counter

on-chip

NXP Periodic Interrupt Timer (PIT)1

nxp,pit

on-chip

Child node for the Periodic Interrupt Timer node, intended for an individual timer channel4

nxp,pit-channel

DAC

on-chip

NXP Kinetis MCUX DAC1 1

nxp,kinetis-dac

DMA

on-chip

NXP MCUX EDMA controller1

nxp,mcux-edma

Ethernet

on-chip

NXP ENET IP Module1

nxp,enet

on-chip

NXP ENET MAC/L2 Device1

nxp,enet-mac

on-board

Generic MII PHY1

ethernet-phy

on-chip

NXP ENET PTP (Precision Time Protocol) Clock1

nxp,enet-ptp-clock

Flash controller

on-chip

NXP Kinetis Flash Memory Module E (FTFE)1

nxp,kinetis-ftfe

GPIO & Headers

on-chip

Kinetis GPIO5

nxp,kinetis-gpio

I2C

on-chip

Kinetis I2C2 1

nxp,kinetis-i2c

Interrupt controller

on-chip

ARMv7-M NVIC (Nested Vectored Interrupt Controller)1

arm,v7m-nvic

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

on-board

Group of PWM-controlled LEDs1

pwm-leds

MDIO

on-chip

NXP ENET MDIO Features1

nxp,enet-mdio

MTD

on-chip

Flash node1

soc-nv-flash

on-board

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

PHY

on-board

Simple GPIO controlled CAN transceiver2

can-transceiver-gpio

Pin control

on-chip

NXP PORT Pin Controller5

nxp,port-pinmux

on-chip

NXP PORT Pin Controller1

nxp,port-pinctrl

PWM

on-chip

NXP FlexTimer Module (FTM) PWM controller2

nxp,ftm-pwm

Regulator

on-board

Fixed voltage regulators3

regulator-fixed

RNG

on-chip

Kinetis RNGA (Random Number Generator Accelerator)1

nxp,kinetis-rnga

RTC

on-chip

NXP Real Time Clock (RTC)1

nxp,rtc

Sensors

on-board

BME280 integrated environmental sensor1

bosch,bme280

on-board

Bosch BMM150 Geomagnetic sensor1

bosch,bmm150

on-board

FXOS8700 6-axis accelerometer/magnetometer sensor1

nxp,fxos8700

on-board

FXAS21002 3-axis gyroscope sensor1

nxp,fxas21002

on-chip

NXP Kinetis temperature sensor1 1

nxp,kinetis-temperature

Serial controller

on-chip

Kinetis UART4 2

nxp,kinetis-uart

on-chip

NXP LPUART1

nxp,lpuart

SPI

on-chip

NXP DSPI controller3

nxp,dspi

SRAM

on-chip

Generic on-chip SRAM1

mmio-sram

Timer

on-chip

ARMv7-M System Tick1

arm,armv7m-systick

on-chip

NXP FlexTimer Module (FTM)2

nxp,ftm

USB

on-chip

NPX Kinetis USBFSOTG Controller in device mode1

nxp,kinetis-usbd

Watchdog

on-chip

Kinetis watchdog1

nxp,kinetis-wdog

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

https://www.nxp.com/design/designs/px4-robotic-drone-vehicle-flight-management-unit-vmu-fmu-rddrone-fmuk66:RDDRONE-FMUK66

https://nxp.gitbook.io/hovergames/userguide/getting-started

https://www.nxp.com/webapp/Download?colCode=SPF-39053

https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/k-series-cortex-m4/k6x-ethernet/kinetis-k66-180-mhz-dual-high-speed-full-speed-usbs-2mb-flash-microcontrollers-mcus-based-on-arm-cortex-m4-core:K66_180

https://www.nxp.com/docs/en/data-sheet/K66P144M180SF5V2.pdf

https://www.nxp.com/webapp/Download?colCode=K66P144M180SF5RMV2