As a beginner, how to configure flight control firmware

I am working on a project to make Autonomous quad copter. I want to use STM32 microcontrollers as a embedded system for my project. I will design my own flight controller board using PCB. I want to use opensource flight controller firmware for my PCB designed flight controller. Here how can I choose proper firmware for my board. Then if i choose one of them is it possible to modify them easily and set the pin peripherals or other functions right to match my own board perfectly.or should i at first find a firmware and then design my FC board according to it. Can someone show me some topic,video,weblog,anything to guide me through this problem.

This is a very complex task. The Ardupilot firmware is specifically written to support specific sensors in specific combinations on the flight controller boards it supports. The Ardupilot firmware is open source so you can look through it if you understand the code.

yeah that would be complex. there is a guy on you tube did the same thing but i think he design his FC board according to a beta-flight firmware Fury-F4 version he explained it in his video on his channel he just set the pins and other configurations according to the targit.h header file.but not i want to do.I just kinda learned how to get the source code using Bash or Eclipse and other windows based subsystems.but i couldn’t find any useful resources to solve the code puzzle yet.

Hi friend,
I’m assuming , you are capable of designing a PCB & soldering a STM 32 on it,…it is doable.

Easy way.!.. Buy a compatible board ,… tweak the code.
Sorry to be rash,. READ more, as Mike suggested
and a warm Welcome to the the community.

To add a new board on ChibiOS (the Real-time Operating-system used by Ardupilot) you only need to change a single file. Take a look at the the files on this directory: https://github.com/ArduPilot/ardupilot/tree/master/libraries/AP_HAL_ChibiOS/hwdef there is one file per supported hardware board. Theoretically there is no need for you to change other C++ source files

Thanks for the advice, I am studying electric and electronics engineering I think I have at least a basic knowledge for embedded systems. but most of them are in theory not in practical level. By choosing this project i wanted to challenge my self but as far as go i realize the university doesn’t teach me anythings besides how to calculate and putting numbers into some “useless” formulas. I wanted simply change my approach and instead of learning everything(from medical imaging , embedded systems , microwave techniques up to Antennas and Propagation etc) to learn more practical things and to build something.

1 Like

Hi, I am here again after some research.There are good resources out there for who wants to make or configure a flight controller firmware according to their needs or for any other specific purpose. I wanted to share my finding for who wants to start as a beginner like me. So basically start with a sample firmware for your project . Actually the Ardupilot is very complicated one but still there are other firmware which is meant to used by micro (or someone would call mini) drones they are the one which have simple firmware installed(flashed) in it. Actually you don’t need a lot of sensors to use for your mini drone(still they would be autonomous) that would simplify your project.and the way you would came with a lot of concepts like: PID flight control,complementary filter and other stuff.

black_tiger_61. Seems like i am going under the same situation you under went few years back. It would be great to know about your reserch about the firmware .

1 Like