Ardupilot2/libraries/AP_HAL_ChibiOS/hwdef/ACNS-CM4Pilot/README.md
robin luo 9d0f7f2586 AP_HAL_ChibiOS/hwdef: add controller CM4Pilot
hwdef: add a new flight controller CM4Pilot
2023-07-26 18:33:43 +10:00

98 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# CM4PILOT Integrated Flight Controller
The CM4PILOT is a low-cost and compact flight controller which integrated a Raspberry Pi CM4 in the cockpit.
<div align=left><img width="600" src=CM4pilot_inshell.jpg/></div>
<div align=left><img width="500" src=CM4Pilot_structure.jpg/></div>
## Features
- Raspberry Pi CM4 + Ardupilot, Companion Computers in cockpit structure
- Small Footprint and Lightweight, 58mm X 50mm X 18mm26g(without shell)
- Broadcom BCM2711, quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
- STM32F405 microcontroller
- IMU: BMI088
- Mag: LIS3MDLTR
- Baro: BMP280
- RTC: PCF85063
- 2 2-lane MIPI CSI camera ports
- 2 microSD card slot port
- 1 power ports(Analog)
- 6 UARTs and USB ports for FMU
- 2 UARTs and 4 USB2.0 and 1 OTG for CM4
- 1 I2C port
- 1 CAN port
- 1 SBUS input and 8 PWM output (all support DShot)
- External SPI port
- Buzzer on board
- RBG LED on board
- 128M flash on board for logging
## UART Mapping
- SERIAL0 -> USB(OTG1)
- SERIAL1 -> USART1(Telem1)(DMA capable)
- SERIAL2 -> USART3 (CM4)(DMA capable)
- SERIAL3 -> UART4 (GPS)(DMA capable)
- SERIAL4 -> UART6 (GPS2)(DMA capable)
- SERIAL5 -> USART2 (SBUS)(RC input, no DMA capable)
## RC Input
RC input is configured on the SBUS pin (UART2_RX). It supports all RC protocols except serial protocols
## PWM Output
The CM4PILOT supports up to 8 PWM outputs. All outputs support DShot (No BDshot).
The PWM is in 4 groups:
- PWM 1~4 in group1
- PWM 5,6 in group2
- PWM 7,8 in group3
- Buzzer on board in group4
## GPIOs
All 8 PWM channels can be used for GPIO functions.
The pin numbers for these PWM channels in ArduPilot are shown below:
| PWM Channels | Pin | PWM Channels | Pin |
| ------------ | ---- | ------------ | ---- |
| PWM1 | 50 | PWM8 | 57 |
| PWM2 | 51 |
| PWM3 | 52 |
| PWM4 | 53 |
| PWM5 | 54 |
| PWM6 | 55 |
| PWM7 | 56 |
## Battery Monitoring
The correct battery setting parameters are set by default and are:
- BATT_MONITOR 4
- BATT_VOLT_PIN 11
- BATT_CURR_PIN 12
- BATT_VOLT_SCALE 10.1
- BATT_CURR_SCALE 17.0
## Compass
The CM4PILOT has one built-in compass LIS3MDLTR, you can also attach an external compass using I2C on the SDA and SCL pads.
## Loading Firmware
Firmware for these boards can be found at https://firmware.ardupilot.org in sub-folders labeled “ACNS-CM4PILOT”.
Initial firmware load can be done with DFU by plugging in USB with the
boot button pressed. Then you should load the "xxx_bl.hex"
firmware, using your favorite DFU loading tool.
Subsequently, you can update the firmware with Mission Planner.
## Pinout and Size
<div align=left><img width="600" src=CM4Pilot_Pinout.jpg/></div>
<div align=left><img width="500" src=CM4pilot_size.jpg/></div>