How to add my hardware to the PX4 project?

Hi all
I design a new hardware for the PX4,the “coolfly” system.
The main MCU is not the STM32 ,but the SOC made by the chinese.
now , I have test the modules, on the MC, FW, VTOL. it works well.
I fork the V1.8.2, and port the PX4 to my coolfly system.
Now I want to add the hardware to the PX4 as a new hardware,how to do it ?
The new IC include a baseband and a H.264 encoder in it.


AR8020 intro

AR8020, Wireless HD Video Stream Transceiver and Drone Remote Controller,maked by Artosyn(酷芯微电子)


The AR8020 is a highly integrated wireless HD video stream transmitter/receiver and drone controller with remote control function.

  • A low latency dual-way video encoder is integrated in this chip, which can support both one single way video input and simultaneous two way 720p@30fps video input through MIPI interface or BT-1120 digital parallel ports.
  • A high performance bi-directional MIMO baseband modem is also integrated.
  • The uplink serves for remote control and the downlink serves for high definition image transmission.
  • The AES crypto coprocessor is also provided in AR8020 to secure the wireless communication. AR8020 supports two RF 2x2 transceivers named AR8003, respectively.
  • Two dedicated ARM cortex-M7 CPU with large data TCM and instruction TCM are used for drone control.
  • Abundant peripherals such as UART, I2C, SPI, timer with PWM, watchdog timer, RTC, SD/MMC interface, GPIO and CAN bus controller are provided to facilitate the building of a powerful drone control platform.
  • Two USB OTG ports are provided for various applications.
  • One additional ARM cortex-M7 CPU is used to configure the video encoder and baseband modem.
  • A 16MByte SDRAM component chip is integrated with AR8020 in SiP (System-in-Package) form. So there is no need to use external memory chip. AR8020 is available in 441-pin BGA package.


  • CPU core
    • ARM Cortex CPU cores, two running at 250MHz
    • Thumb-2 instruction set
    • 16Kbytes of I cache and 16Kbytes of D cache
    • Single-precision HW FPU
    • Embedded Trace Module (ETM) with Trace Port Interface Unit
    • Memory Protection Unit with 8 zones
  • Memory
    • Large DTCM/ITCM size: 512KByte DTCM/512KByte ITCM for one CPU core.
    • 16M-Byte SDRAM component in SiP form. A high efficient 32-bit SDRAM controller is integrated in AR8020.
    • QUAD SPI flash interface. The quad SPI flash controller can support up to 16Mbyte external quad SPI flash
    • MicroSD Card interface
    • 4Kbyte backup SRAM
    • 80bit backup register
  • Peripherals
    • 8 UARTs
    • 10 timers with PWM output and another 10 timers without PWM output
    • 4 CAN bus interface
    • 4 I2C interfaces. The I2C controller can be configured as either I2C master or I2C slave
    • 7 SPI master interface
    • 117 GPIO input/output ports. Shared with other peripherals input/output pins.
    • One general DMA controller with two AHB master interfaces. There are 8 channels in each DMA controller. DMA interrupt is provided to implement a software handshake between DMA source and DMA destination.
    • USB 2.0 OTG controller and PHY. Two external USB 2.0 ports are available. A dedicated DMA controller is included inside the USB controller for better performance
  • Video coding
    • support 1080p@30fps, 720p@60fps and simultaneous two way 720p@30fps
    • Configurable bit rate control algorithm support both VBR and CBR
    • Two BT-1120 digital parallel video input ports
    • One MIPI RX interface. 2 lanes are presented in this MIPI receiver
  • Wireless baseband modem
    • Support 2T4R with 10MHz/20MHz bandwidth
    • Support BPSK/QPSK/16QAM/64QAM modulation
    • Support LDPC encoder with 1/2, 2/3, 3/4 code rate
    • Support max downlink throughput to 40Mbps
    • Hardware AES crypto for both video stream and remote control signal
    • Maximum throughput of video transmission up to about 40Mbps
  • Analog
    • one 10bit-precision SAR ADC at 2MHz sample rate
the firmware is on the gitee for now.
just bucause github is very very very slow in china.

the English version has been prepared