Developing a Flight Controller Board

@harith

I am building a flight controller board described here so here is my input.

First you have to decide why you want to build the flight controller. In my case I wanted to incorporate an on screen display (OSD) onto the flight controller and also to provide telemetry for an antenna tracker via the video feed. You also need to decide what sort of peripherals and Input/Output ports (IO) you will need to attach actuators and sensors and RC receivers etc.

When you have decided on the requirements, then you need to decided on what microprocessor or single board computer(SBC) you are going to use as the basis of your project. This is partly a result of what your IO requirements are. It is great to have a lot of IO but that increases the size of the PCB. The choice is also affected by your programming experience. Some find it easier to use an SBC based on Linux, while others like to program everything from the ground up. Then a microcontroller is more suitable.

There are many other choices you need to make too.

The best way to start is to look at and use some existing Flight controller boards, such as the Naze32, OpenPilot CC3D etc. Look at the schematics, if they are publicly available and look at the source code.