All-in-one Autopilot with CM4 companion computer | Looking for suggestions

As CM4 comes with nice features like, built in wifi, mmc and small form factor,
I recently started to work on a small size all in one autopilot for Ardupilot with CM4 connection as companion computer. As I am in the beginning of the project, I am looking for your feedbacks / ideas to make the project a really cool mini autopilot with all in one logic
Board includes:
STM32H7 microcontroller to run Ardupilot
GPS ublox m8q
2.4Ghz telemetry module ZOON
CM4 connection ( note will be only for cm4 with built in MMC, doesn’t have SD card holder )

I used High dense Molex connector for Pinouts from CM4 and also Outputs from SMT32 microcontroller to connect additional pheriperials if needed.

I used additional USB connector for CM4 to upload the OS inside MMC.

2 x Camera connectors from CM4

Main goal of this project , all in one autopilot is to turn any airframe into a drone with minimum components., to remove the messy cabling, and to save space and weight.

Looking for bright ideas/ suggestions.

1 Like


You may have issue with GPS Antenna on the CM4 and close to USB3 ports !
And for better performance, consider using ublox serie 9 instead of 8

thanks for suggestions, I will definitely consider

Hi @Artem_Skorsky,

As mentioned by @khancyr. The idea to put the GPS module in the center of a rats nest of wires will give very poor GPS performance. It was already tried and abandoned that way in 2011.

APM 2.0

Hope this helps.

Cool, I guess you know that GumStick has recently released this one ?

1 Like

Yes, I have seen, my project is a little bit different, all-in- one and size is same as CM4 , Also I haven’t used Google Edge TPU ( I don’t have any experience with it)

It might be either poor GPS quality, and bad PCB design.

I will handle the engineering challenges, I have used this GPS on my many projects, works very good. this GPS designed SMT to be placed on PCB .

Problem is generally related to USB3 that generates a lot of noise in the GSM Band, I guess that CAN should be the preferred transport in this configuration.

Can do a lot of interesting stuff with TPU, only drawback is the neccessity to downgrade TensorFlow to a lesser efficient framework in order to fit into the Edge chip.

ML chip maybe on next versions, currenty complicated for me, it is BGA chip (significantly increase manufacturing cost for low volume production) and also never used,dont have any experience with it, also not sure if the google is going to produce this for a long time. We will see later how the Ardupilot community moves.

It’d be worth using the standard JST-GH connectors ( for maximum compatibility with external sensors.

Is there going to be an IMU and barometer on board?

yes it is going to have IMU , baro.

am aware of standard pix hawk connectors, but they are old standards. Also doesn’t have to much space on pcb, I have already tested these molex connectors they are super cool connectors.

Artem, are they the Pico-Clasp serie (in the affirmative are they the single or double row)?

yes , double row, 50 pins, 2x 50 pin connector, 1 connector from stm32, other from cm4 gpio

I am planning to use right angle version , I think it is more convenient to install on airframe, ( not sure)

USB connectors , I chose vertical , it think it will be more convenient to connect usb cable to autopilot

Using this connector can make great integrations, providing you use high quality siicon cables, otherwise it could end-up as a conductor for mechanical vibration that may be tricky to tune with the notch filter.

May I suggest you offer an externally connected expansion board connected to the Pico-Clasp to expose the basic PWM - Serial - I2C - RCIn so making it easier for the consumer acceptance.

extension board is a super idea, and simple to make, on the line

1 Like

Do you have any experience, suggestion for Gyro, Accel, magnetometer, and barometer?

planning to use similar on mRo control zero board:

Bosch BMI0883-axis accelerometer/gyroscope (internally vibration dampened)

Infineon DPS310 barometer (not light sensitivity)

forgot to mention, I have also added power module built in, it will be powered directly from battery 2S-6S. Also planning to make Magneto free.

Hi, looks quite nice, GPS location is ok and it works very well for wixed wing plane where compass is not required but now a days compass comes integrated in the GPS module, which is surely going to create big trouble with present design.

Ethernet port (let it be a simple 4 pin CAN line connector for the eternet without transformer module) for IP Camera is required, its used for HD FPV.

One CSI cam, you gave option for two, thats fine. Let there be three USB2.0 ports options (just use 4 pin CAN type connector, people prefer to use such connectors even for USB cams as they are very small and tight connections). One USB could be used for .h264 1080p camera + one USB port for thermal camera (Hti301 like) + one USB port for amplified USB-WiFi adapter (like Asus AC56). You have to keep the +5V of the USB’s just separate feed from switching regulator 5V, 5Amp.

other type of connectors will be on extension board , if any one want to use standard connectors.

I believe RPI camera will be better option for FPV , need work on that.

Looking cool! What EDA are you using? I’m a software developer thinking about doing some extension boards and one for CM4 is on my plans. Mine I think will be a little different (and simpler) since my main motivation is to run ArduPilot on Linux and teach myself how to design a board with kicad. Do you plan to opensource your design?