1.. zephyr:board:: rddrone_fmuk66
2
3Overview
4********
5
6The RDDRONE FMUK66 is an drone control board with commonly used peripheral
7connectors and a Kinetis K66 on board.
8
9- Comes with a J-Link Edu Mini for programming and UART console.
10
11Hardware
12********
13
14- MK66FN2MOVLQ18 MCU (180 MHz, 2 MB flash memory, 256 KB RAM, low-power,
15  crystal-less USB, and 144 Low profile Quad Flat Package (LQFP))
16- Dual role USB interface with micro-B USB connector
17- RGB LED
18- FXOS8700CQ accelerometer and magnetometer
19- FXAS21002CQ gyro
20- BMM150 magnetometer
21- ML3114A2 barometer
22- BMP280 barometer
23- Connector for PWM servo/motor controls
24- Connector for UART GPS/GLONASS
25- SDHC
26
27For more information about the K64F SoC and FRDM-K64F board:
28
29- `K66F Website`_
30- `K66F Datasheet`_
31- `K66F Reference Manual`_
32- `RDDRONE-FMUK66 Website`_
33- `RDDRONE-FMUK66 User Guide`_
34- `RDDRONE-FMUK66 Schematics`_
35
36Supported Features
37==================
38
39The rddrone-fmuk66 board configuration supports the following hardware features:
40
41+-----------+------------+-------------------------------------+
42| Interface | Controller | Driver/Component                    |
43+===========+============+=====================================+
44| NVIC      | on-chip    | nested vector interrupt controller  |
45+-----------+------------+-------------------------------------+
46| SYSTICK   | on-chip    | systick                             |
47+-----------+------------+-------------------------------------+
48| PINMUX    | on-chip    | pinmux                              |
49+-----------+------------+-------------------------------------+
50| GPIO      | on-chip    | gpio                                |
51+-----------+------------+-------------------------------------+
52| I2C       | on-chip    | i2c                                 |
53+-----------+------------+-------------------------------------+
54| SPI       | on-chip    | spi                                 |
55+-----------+------------+-------------------------------------+
56| WATCHDOG  | on-chip    | watchdog                            |
57+-----------+------------+-------------------------------------+
58| ADC       | on-chip    | adc                                 |
59+-----------+------------+-------------------------------------+
60| DAC       | on-chip    | dac                                 |
61+-----------+------------+-------------------------------------+
62| PWM       | on-chip    | pwm                                 |
63+-----------+------------+-------------------------------------+
64| ETHERNET  | on-chip    | ethernet                            |
65+-----------+------------+-------------------------------------+
66| UART      | on-chip    | serial port-polling;                |
67|           |            | serial port-interrupt               |
68+-----------+------------+-------------------------------------+
69| FLASH     | on-chip    | soc flash                           |
70+-----------+------------+-------------------------------------+
71| USB       | on-chip    | USB device                          |
72+-----------+------------+-------------------------------------+
73| CAN       | on-chip    | can                                 |
74+-----------+------------+-------------------------------------+
75| RTC       | on-chip    | rtc                                 |
76+-----------+------------+-------------------------------------+
77| DMA       | on-chip    | dma                                 |
78+-----------+------------+-------------------------------------+
79
80The default configuration can be found in
81:zephyr_file:`boards/nxp/rddrone_fmuk66/rddrone_fmuk66_defconfig`
82
83Other hardware features are not currently supported by the port.
84
85System Clock
86============
87
88The K66F SoC is configured to use the 16 MHz external oscillator on the board
89with the on-chip PLL to generate a 160 MHz system clock.
90
91Serial Port
92===========
93
94The K66F SoC has six UARTs. LPUART0 is configured for the console, UART0 is labeled Serial 2,
95UART2 is labeled GPS, UART4 is labeled Serial 1. Any of these UARTs may be used as the console by
96overlaying the board device tree.
97
98USB
99===
100
101The K66F SoC has a USB OTG (USBOTG) controller that supports both
102device and host functions through its micro USB connector (K66F USB).
103Only USB device function is supported in Zephyr at the moment.
104
105Programming and Debugging
106*************************
107
108Build and flash applications as usual (see :ref:`build_an_application` and
109:ref:`application_run` for more details).
110
111Configuring a Debug Probe
112=========================
113
114A debug probe is used for both flashing and debugging the board. This board is
115configured by default to use jlink. The board package
116with accessories comes with a jlink mini edu and cable specifically for this board
117along with a usb to uart that connects directly to the jlink mini edu. This is the expected
118default configuration for programming and getting a console.
119
120.. zephyr-app-commands::
121   :zephyr-app: samples/hello_world
122   :board: rddrone-fmuk66
123   :gen-args:
124   :goals: build
125
126Configuring a Console
127=====================
128
129Use the following settings with your serial terminal of choice (minicom, putty,
130etc.):
131
132- Speed: 115200
133- Data: 8 bits
134- Parity: None
135- Stop bits: 1
136
137Flashing
138========
139
140Here is an example for the :zephyr:code-sample:`hello_world` application.
141
142.. zephyr-app-commands::
143   :zephyr-app: samples/hello_world
144   :board: rddrone-fmuk66
145   :goals: flash
146
147Open a serial terminal, reset the board (press the SW1 button), and you should
148see the following message in the terminal:
149
150.. code-block:: console
151
152   ***** Booting Zephyr OS v2.7.0 *****
153   Hello World! rddrone-fmuk66
154
155Debugging
156=========
157
158Here is an example for the :zephyr:code-sample:`hello_world` application.
159
160.. zephyr-app-commands::
161   :zephyr-app: samples/hello_world
162   :board: rddrone-fmuk66
163   :goals: debug
164
165Open a serial terminal, step through the application in your debugger, and you
166should see the following message in the terminal:
167
168.. code-block:: console
169
170   ***** Booting Zephyr OS v2.7.0 *****
171   Hello World! rddrone-fmuk66
172
173.. _RDDRONE-FMUK66 Website:
174
175https://www.nxp.com/design/designs/px4-robotic-drone-vehicle-flight-management-unit-vmu-fmu-rddrone-fmuk66:RDDRONE-FMUK66
176
177.. _RDDRONE-FMUK66 User Guide:
178
179https://nxp.gitbook.io/hovergames/userguide/getting-started
180
181.. _RDDRONE-FMUK66 Schematics:
182
183https://www.nxp.com/webapp/Download?colCode=SPF-39053
184
185.. _K66F Website:
186
187https://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
188
189.. _K66F Datasheet:
190
191https://www.nxp.com/docs/en/data-sheet/K66P144M180SF5V2.pdf
192
193.. _K66F Reference Manual:
194
195https://www.nxp.com/webapp/Download?colCode=K66P144M180SF5RMV2
196