What is the best microcontroller for a UAV drone?

I’m joining a local drone competition and planning to build a UAV plane. I need advice on which microcontroller to use. I’m considering an STM microcontroller but not sure which model would be ideal.

I’ve also thought about using a Raspberry Pi, but I feel it might be overkill. The competition rewards minimalistic hardware designs, so I’d like to keep it simple. I can’t create my own microcontroller, but I’m open to using something more compact like STM if I can figure out where to start.

The drone will include a lock-on system, so I’ll need to run an AI model. I’m thinking of adding a GPU, ideally an NVIDIA card, to handle that. Which STM model should I go for?

If you are going for a UAV design and want minimalistic hardware, STM32F7 or STM32H7 series might be a good choice. They are widely used in flight controllers and are powerful enough for most UAV functions. However, for running AI models, you’ll need a companion computer alongside it. The STM won’t handle the AI model directly, but it can manage the flight controls effectively.

@Storm
I’ve looked at some Pixhawk models and plan to get one. Quick question: will I be able to control other UAV components and also run AI models on an external GPU using Pixhawk?

Vann said:
@Storm
I’ve looked at some Pixhawk models and plan to get one. Quick question: will I be able to control other UAV components and also run AI models on an external GPU using Pixhawk?

Yes, Pixhawk can control things like servos and solenoids. Check the ArduPilot documentation for detailed capabilities.

As for managing a GPU, you’ll need a companion computer for that. Pixhawk itself won’t handle the GPU-related tasks.

@Reilly
Got it, thanks. One more thing: will the STM32F7 be sufficient to run a model (using ONNX) on the GPU with camera input?

Are you planning to write your own firmware or use an existing solution? Are you designing your own flight controller? Many flight controllers currently use the STM32F7 series.

If you need to handle AI modeling, take a look at the Jetson Nano dev kit. It might even work as a flight controller while handling AI tasks.