Tropic VMU (Vehicle Management Unit) is an BSD-3 Licensed Open-Source base board designed around the Teensy 4.1 Development board.
Note
Tropic VMU is a project created by a group of passionate individuals who work on it in their free time. It's important for users to understand that Tropic might not provide the same reliability, features, or support as products from well-established companies. Using Tropic is entirely up to the user's discretion and comes with its own risks.
For a more dependable and professional VMU, we suggest looking into the NXP reference based on Dronecode Pixhawk standard V6X-RT (p/n MR-VMU-RT1176). The NXP V6X-RT offers advanced features, some level of support across multiple autopilots, and is designed towards the needs of professional users, providing a more reliable solution for their requirements.
Tropic VMU is capable of running autopilot software for unmanned vehicles such as:
- Drones
- Rovers
- Boats
- And more
The Tropic VMU 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
Tropic VMU utilizes the Teensy 4.1 consisting of:
- NXP MIMXRT1062DVJ6B MCU
- Cortex-M7 600MHz
- 1024K RAM (512 Tightly coupled)
- 8MB Flash
- 100Mbps Ethernet
- USB HS 480Mbit/s
- SD Card interface
Tropic Base board consisting of:
- Bosch BMI088 IMU
- Bosch BMM150 Magnetometer
- Bosch BMP388 Barometer
- TDK InvenSense ICM-42688-P IMU
- NXP TJA1051TK CAN Transceiver
- RGB Led
- Buzzer
- Button
With connectors for:
- 10-pin JST-GH GPS connector
- 6-pin JST-GH UART + Handshake connector
- 6-pin JST-GH AUX Multi-function connector
- UART
- Quadrature decoder
- PWM
- Crossbar trigger
- 6-pin JST-GH Power module connector
- 6-pin JST-GH Debug UART connector providing system console
- 4-pin JST-GH I2C connector
- 4-pin JST-GH CAN bus connector
- 3-pin DuPont for Digital Receiver i.e. SBUS
- 6x 3-pin DuPont PWM header (DShot capable)
- RJ45 Ethernet connector
Some of the JST-GH connectors pinout follows the DS-009 connector specification
The Tropic VMU can be powered in 2 ways
Warning
You should only power the Tropic VMU through either method 1. or 2. For example the current can flow from the power module to your usb potentially damaging your machine. You should to cut the power pad on the Teensy as a precaution if you want to use USB and the Power-module simultaneously, but by doing so you would lose the ability to power the board through USB. For more information see Teensy External Power guide.
- Through the micro-USB port on the Teensy 4.1
- Through a 6-pin JST-GH power module
Teensy Pin | Label | IMXRT Label | Peripheral | Alternative mode |
---|---|---|---|---|
35 | TX DEBUG | B1_12 | LPUART5 | |
34 | RX DEBUG | B1_13 | LPUART5 | |
17 | TX TELEM | AD_B1_06 | LPUART3 | |
16 | RX TELEM | AD_B1_07 | LPUART3 | |
41 | TELEM RTS | AD_B1_05 | LPUART3 | GPIO1_IO21 |
40 | TELEM CTS | AD_B1_04 | LPUART3 | GPIO1_IO20 |
14 | TX GPS | AD_B1_03 | LPUART2 | |
15 | RX GPS | AD_B1_02 | LPUART2 | |
8 | TX AUX | B1_00 | LPUART4 | XBAR1_XBAR_IN14 |
7 | RX AUX | B1_01 | LPUART4 | XBAR1_XBAR_IN15 |
20 | RC | AD_B1_10 | LPUART8 | |
19 | EXT_SCL | AD_B1_00 | LPI2C1 | |
18 | EXT_SDA | AD_B1_01 | LPI2C1 | |
24 | BARO_MAG_SCL | AD_B0_12 | LPI2C4 | |
25 | BARO_MAG_SDA | AD_B0_13 | LPI2C4 | |
27 | SPI2_SCK | AD_B1_15 | LPSPI3 | |
26 | SPI2_MOSI | AD_B1_14 | LPSPI3 | |
39 | SPI2_MISO | AD_B1_13 | LPSPI3 | |
38 | SPI2_CS | AD_B1_12 | LPSPI3 | GPIO1_IO28 |
28 | DRDY | EMC_32 | LPSPI3 | GPIO3_IO18 |
13 | SPI1_SCK | B0_03 | LPSPI4 | |
11 | SPI1_MOSI | B0_02 | LPSPI4 | |
12 | SPI1_MISO | B0_01 | LPSPI4 | |
10 | SPI1_CS | B0_00 | LPSPI4 | GPIO2_IO00 |
36 | SPI1_CS2 | B1_02 | LPSPI4 | GPIO2_IO18 |
23 | BMI DRDY | AD_B1_09 | LPSPI4 | GPIO1_IO25 |
6 | BMI DRDY2 | B0_10 | LPSPI4 | GPIO2_IO10 |
4 | PWM_1 | EMC_06 | FLEXPWM2_PWMA00 | FLEXIO1_FLEXIO06 |
33 | PWM_2 | EMC_07 | FLEXPWM2_PWMB00 | FLEXIO1_FLEXIO07 |
5 | PWM_3 | EMC_08 | FLEXPWM2_PWMA01 | FLEXIO1_FLEXIO08 |
9 | PWM_4 | B0_11 | FLEXPWM2_PWMB02 | FLEXIO2_FLEXIO11 |
2 | PWM_5 | EMC_04 | FLEXPWM4_PWMA02 | FLEXIO1_FLEXIO04 |
3 | PWM_6 | EMC_05 | FLEXPWM4_PWMB02 | FLEXIO1_FLEXIO05 |
0 | LED_R | AD_B0_02 | XBAR1_XBAR_IN16 | GPIO1_IO02 |
1 | LED_B | AD_B0_03 | XBAR1_XBAR_IN17 | GPIO1_IO03 |
37 | LED_G | B1_03 | FLEXPWM2_PWMB03 | GPIO2_IO19 |
29 | BUZZER | EMC_31 | FLEXPWM3_PWMA01 | GPIO4_IO31 |
32 | ARM | B0_12 | GPIO | GPIO2_IO12 |
22 | ADC_V | AD_B1_08 | ADC1_IN13 | GPIO1_IO27 |
21 | ADC_A | AD_B1_11 | ADC1_IN0 | GPIO1_IO24 |
Tropic VMU design is licensed under BSD-3 and all design files are published on this git.
The board is designed using EasyEda Std Edition, to import the project you've to create a new project in EasyEda Std edition and select File -> Open -> EasyEda and select the json files available in the zip file.
Tropic VMU rev.C EasyEda zip file
Click here for the BOM
These are the production files used for rev.C of tropic
For 3d-printed enclosures and parts checkout the Printable models/parts page
Some advanced topics regarding Ethernet, RTC and AUX port are explained here