Skip to content

Repository files navigation

MR-VMU-Tropic

MR-VMU-Tropic (Vehicle Management Unit) is an Open-Source FMU base board designed around the NXP i.MX RT1064 MCU.

AKA Drone FMU (Flight Management Unit), but is applicable to many vehicle types.

MR-VMU-Tropic Side view MR-VMU-Tropic Top view

MR-VMU-Tropic is capable of running autopilot software for unmanned vehicles such as:

  • Drones
  • Rovers
  • Boats
  • And more

Drone Test flight Video

MR-VMU-Tropic Flight

Software

The MR-VMU-Tropic supports multiple Autopilots, please check the individual guide below

Tropic VMU also supports Zephyr RTOS with most of it's peripherals enabled.

Note

We're still in the process of upstreaming code please check the open pull requests in the corresponding projects

Hardware

MR-VMU-Tropic design is based around the NXP MIMXRT1064DVJ6B which provides:

  • Cortex-M7 600MHz
  • 1024K RAM (512 Tightly coupled)
  • 4MB Flash
  • 100Mbps Ethernet
  • USB HS 480Mbit/s
  • SD Card interface

MR-VMU-Tropic board consisting of:

  • Bosch BMI088 IMU
  • Bosch BMM350 Magnetometer
  • Bosch BMP390 Barometer
  • TDK InvenSense ICM-45686 IMU
  • CAN-FD with a NXP TJA1462ATK CAN Transceiver
  • 100BASE-T1 Ethernet using the TJA1103
  • RGB Led

Schematics and Production Files

Hardware design files for different MR-VMU-Tropic board revisions:

Revision Schematics Production files
rev.C download -
rev.D download download
rev.F download download

Board overview

All pin data below comes from the rev F schematic SPF-94468_F.pdf. The photos show a rev C board; the connector positions are the same.

Each card shows three things per pin: the function, the net name in the schematic and the i.MX RT1064 pad the signal ends up on. Parts in between, such as the CAN transceiver and the Ethernet PHY, are shown too. Pin 1 is the square pad.

MR-VMU-Tropic top view with connector labels

Not visible here: J1 USB (bottom view) · J12 PWM_B (bottom view) · J13 PWM_A (bottom view) · CN1 MICROSD (bottom view)

Bottom side, with the two ESC headers, the USB-C port and the microSD slot:

MR-VMU-Tropic bottom view with connector labels

Connector index

Ref Function Connector Details
Main CN1 MICROSD microSD card slot microSD push-push, 8 pins plus card detect Four-bit SD interface on the first SD host of the chip, used for logging. The card detect switch goes to a separate chip pin.
Main J1 USB USB 2.0 Type-C device port USB Type-C receptacle (USB4110-GF-A) Serial download port of the i.MX RT1064 boot ROM, and the port used for flashing. The board is always a USB device. VBUS can also power the board through protection switch U13.
Main P1 ETH 100BASE-T1 single pair Ethernet JST-GH 1x2, top entry
Main J2 POWER Power module input, 5 V plus battery monitor I2C Molex Clik-Mate 1x6 (5024430670)
Main J3 DEBUG SWD debug and console, DS-009 debug full layout JST-SH 1x10
Main J4 GPS GPS module with compass, safety switch and buzzer JST-GH 1x10 (BM10B-GHS-TBT), top entry
Main J5 CAN CAN FD (TJA1462) JST-GH 1x4, top entry
Main J6 SPI (OSD) External SPI port, meant for an on-screen display board JST-GH 1x8 (BM08B-GHS-TBT), top entry
Main J7 AUX Spare serial port with handshake lines JST-GH 1x6 (BM06B-GHS-TBT), top entry
Main J8 TELEM1 Telemetry serial port 1 with flow control JST-GH 1x6 (BM06B-GHS-TBT), top entry
Main J9 TELEM2 Telemetry serial port 2 with flow control JST-GH 1x6, top entry
Main J10 I2C External I2C bus JST-GH 1x4, top entry
Main J11 RC Serial radio control receiver port JST-GH 1x4, top entry
Main J12 PWM_B Motor outputs 5 to 8 (ESC header) JST-SH 1x8
Main J13 PWM_A Motor outputs 1 to 4 (ESC header) JST-SH 1x8

Power and debug

Main J2 POWER

Main J2 POWER pinout

This is the main supply of the board. The power module feeds 5 V into pins 1 and 2, and the board makes its own 3.3 V and 1.8 V from it. Pins 3 and 4 are an I2C bus that reads voltage and current from the power module.

Warning

Feed only 5 V into pins 1 and 2. A higher voltage damages the board, because there is no regulator behind this connector.

Main J3 DEBUG

Main J3 DEBUG pinout

Pin 1 is a 3.3 V reference output for the debug probe, fed. Pins 2 and 3 are the serial console. Pins 4, 5 and 6 are the SWD lines of the i.MX RT1064. Pin 9 is the reset line of the chip, which is also pulled up on the board.

Warning

Pin 1 is an output at 3.3 V, not a supply input. Use a debug probe that works at 3.3 V and never drive this pin.

Serial ports

Main J8 TELEM1

Main J8 TELEM1 pinout

Standard DS-009 telemetry layout: 5 V, TX, RX, CTS, RTS, ground. Pin 1 gives 5 V out through ferrite FL3.

Warning

Pin 1 is a 5 V output. Never feed power into it.

Main J9 TELEM2

Main J9 TELEM2 pinout

Same layout and same circuit as TELEM1, on a second serial port of the chip. Pin 1 gives 5 V out.

Warning

Pin 1 is a 5 V output. Never feed power into it.

Main J7 AUX

Main J7 AUX pinout

Pin 1 gives 5 V out. Pins 2 and 3 are LPUART4, the AUX serial port (/dev/ttyS3 in PX4). Pins 4 and 5 are called CTS and RTS in the schematic but are free pins. The chips on this connector can do more than a serial port, see the pad functions on each pin: PWM on pins 2 and 3 (FlexPWM1 module 3, A and B), a quadrature encoder or a trigger through the crossbar (XBAR1) on all four signal pins, and a second CAN bus on pins 4 and 5 (FlexCAN2, needs an external transceiver).

Warning

Pin 1 is a 5 V output. Never feed power into it.

Main J11 RC

Main J11 RC pinout

Serial port for a digital receiver such as ELRS or CRSF. Pin 1 gives 5 V out through a resettable fuse, so a shorted receiver cannot pull down the board supply.

Warning

Pin 1 is a 5 V output. Never feed power into it.

GPS, I2C and CAN

Main J4 GPS

Main J4 GPS pinout

Pin 1 gives 5 V to the GPS module and pin 8 gives 3.3 V. Both are outputs. Pins 2 to 5 are the GPS serial port and the shared I2C bus, the same bus as on the I2C connector J10. Pin 6 reads the safety switch and pin 7 drives its LED. Pin 9 is the buzzer, switched to ground by FET Q1, so the board only pulls this pin low.

Warning

Pins 1 and 8 are power outputs. Never feed power into them.

Main J10 I2C

Main J10 I2C pinout

The same bus as pins 4 and 5 of the GPS connector, so devices here share those addresses. Pin 1 gives 5 V out.

Warning

Pin 1 is a 5 V output. Never feed power into it.

Main J5 CAN

Main J5 CAN pinout

The TJA1462 transceiver runs from 5 V and talks to the chip at 3.3 V. CANH and CANL together form the differential bus, TXD and RXD are the logic lines to the i.MX RT1064. The 120 Ω termination is fitted, so this port is one end of the bus.

Warning

Pin 1 is a 5 V output. Never feed power into it.

Motors

Main J13 PWM_A

Main J13 PWM_A pinout

Four motor signals for a four-in-one ESC. They carry normal PWM or DShot. The same pads are also FlexIO1 pins, so DShot or other protocols can be bit-banged by FlexIO. Pin 4 is the ESC telemetry line, shared with the other ESC header. The ESCs send their UART telemetry (voltage, current, RPM, temperature) on this one wire, and the chip receives it on LPUART7 in single-wire mode. It is receive only; the chip never transmits here. Pins 1 and 3 are not connected on rev F.

Note

This header has no 5 V pin. Many ESCs have a BEC that powers the flight controller, but this board does not use it. It gets its 5 V from the power module on J2 POWER.

Main J12 PWM_B

Main J12 PWM_B pinout

Same circuit as PWM_A, for motors 5 to 8. The signals carry normal PWM or DShot. The same pads are also FlexIO1 pins, so DShot or other protocols can be bit-banged by FlexIO. Pin 4 is the same shared ESC telemetry line: LPUART7 in single-wire mode, receive only. Pins 1 and 3 are not connected on rev F.

Note

This header has no 5 V pin. Many ESCs have a BEC that powers the flight controller, but this board does not use it. It gets its 5 V from the power module on J2 POWER.

SPI and Ethernet

Main J6 SPI (OSD)

Main J6 SPI (OSD) pinout

Pin 1 gives 5 V to the add-on board, the signal lines work at 3.3 V. Pin 6 is a data-ready input and pin 7 a reset output. This port is separate from the SPI bus of the on-board sensors.

Warning

Pin 1 is a 5 V output. Never feed power into it.

Main P1 ETH

Main P1 ETH pinout

Two wires carry send and receive at 100 Mbit/s. The TJA1103 does the physical layer and talks to the chip over RMII, so there is no direct link between these pins and a chip pad. Use a twisted pair and keep both wires the same length. The other end needs a 100BASE-T1 device or a media converter.

Main other connectors

Ref Function Connector Notes
J1 USB USB 2.0 Type-C device port USB Type-C receptacle (USB4110-GF-A) Serial download port of the i.MX RT1064 boot ROM, and the port used for flashing. The board is always a USB device. VBUS can also power the board through protection switch U13.
CN1 MICROSD microSD card slot microSD push-push, 8 pins plus card detect Four-bit SD interface on the first SD host of the chip, used for logging. The card detect switch goes to a separate chip pin.

Buttons and switches

Ref Board Function Type Notes
SW2 BOOT Main Boot mode button Push button (NANOT 240 AS) Holding this button while the board powers up pulls boot mode 0 high and starts the serial downloader over the USB port. The second boot mode pin is tied low on the board.

Notes

  • The connectors marked DS-009 on their card (TELEM1, TELEM2, GPS, I2C, CAN and the debug port) follow the Dronecode DS-009 connector standard, so standard cables fit.
  • The board runs from 5 V on the power module connector J2, or from USB. Every other 5 V pin is an output.

Warning

Never feed power into the 5 V pin of a JST-GH connector. Power the board through J2 or USB only.

Downloads

This reference as an A4 PDF, and all cards on one A4 landscape sheet: cheat sheet PDF.

NXP and the NXP logo are registered trademarks of NXP B.V. This document is maintained by the community and is not an official NXP publication.

About

Preview of TROPIC VMU single board RT106X

Resources

Stars

12 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors