Anatomy of an All in One Flight Controller

Let’s have a look at the components on an All in One Flight Controller. What components are needed to make it work and how do they interact with each other?

The flight-controller we are looking at here is the CrazyBee F4 V2.0 with integrated FrSky receiver. I chose this flight-controller since it is a one PCB solution that comes with all the electronics needed to operate a quadcopter.

BB21F16G

The BB21F16G IC is an 8-bit micro-controller manufactured by silabs. It operates at 50MHz, has 16 Kbytes of flash, 2.25 Kbytes of RAM and 15 digital I/O pins.

The board has four of those, one for each Motor. When You are using the BlheliS suit to flash your ESC’s, you are actually flashing those micro controllers.

The new BLheli_32 uses 32-bit micro-controller instead of 8-bit, but I guess it will take some more time before we will see those on the all in one flight controller boards.

EGX87C

The EGX87C - technically the EG since the rest of the letters and numbers is just a code to identify manufacturing date and batch of the chip - is one N channel and one P channel mosfet in one small package.

The task of the mosfets in conjunction with their micro-controller is to convert the batteries DC voltage into AC voltage that allows the brushless motors to spin with a certain speed.

Three of those mosfets are used per Motor (one per phase) and one set of three is controlled by one BB21F16G micro-controller. Together they are the ESC (Electronic Speed Controller) for one motor.

AT7456E

The AT7456E IC is an OSD (On Screen Display) generator with integrated EEPROM. This chip provides the OSD functionality and is responsible for drawing all the nice stats on the video signal coming in from the camera.

The integrated EEPROM allows to store up to 256 of user defined pictograms. It can be reprogrammed in circuit via SPI - this is what happens when you change the font of the OSD in the Betaflight configurator.

It can display up to 16 Rows of 30 characters each and can handle PAL and NTSC signals.

CC2500

The CC2500 IC by Texas Instruments is 2.4 GHz RF transceiver. Transceiver means that it is a receiver and transmitter in one tiny chip. Together with the antenna, this chip is responsible for receiving the RC signal and transmitting the telemetry data back to the transmitter.

This chip is very versatile and is also widely used in many wireless keyboards/mouse/game controllers and other wireless consumer electronics.

The FlySky version of this all in one flight-controller uses the A7105 chip instead, which provides very similar functionality, difference being, that it works with FlySky transmitters.

The DSM version uses some serial transceiver module - I am not sure which one it is exactly - if you know, let me know in the comments down below.

3070TI911

The 3070TI911 IC is an adjustable DC-DC buck converter. In case of our flight-controller it is used to convert the Battery Voltage down to 5V in order to power all the chips and peripherals we want to attach, like FPV camera and video transmitter.

This is also the part that likes to fry on the Crazybee boards.

It takes a supply voltages from 2V - 16V and converts it to an adjustable voltage from 2.5 to 9V. In case of this flight-controller - 5V.

Be aware that I am not sure if the used IC actually is the one that I am linking to - if not, it is one that is very similar to the linked one. You should definitely be able to use the linked one as a drop in replacement - should you try it, let me know down in the comments.

Located next to this chip there is also an inductor, it is needed for the DC-DC conversion.

MPU-6000

The MPU-6000 IC is a six axis motion tracking sensor. Three gyroscope axes and three accelerometer axes. This sensor communicates the current position of the quadcopter in 3D space to the main processor. It can be interfaced via I2C or SPI.

This chip is a very popular choice for motion detection and is used in a plethora of devices - it is very likely that your smartphone uses one of them.

Advertising
Advertising

STM32F411CEU6

The STM32F411CEU6 micor-controller is what we refer to as F4 - the brain of the operation, - this is the part you interact with when you attach the flight-controller to the Betaflight configurator.

It is a 32-bit ARM Cortex micro-controller manufactured by STMicroelectronics. It has 512 Kbytes of flash, 128 Kbytes of SRAM and it provides its own USB 2.0 OTG full speed interface. Other than that it has a plethora of communication interfaces like SPI, I2C and UART.


The CC2500 for example is interfaced via SPI. The UARTS we might use to control our FPV camera via SmartAudio.

After the F1, and F3, F4 is the next iteration in this family of micro-controllers at least in regards to the one we use in the quadcopter world. After the F4, the F7 will be the next big thing and the update should be relatively easy, since they are pin compatible - which means, that it should be possible to use the F7 as drop in replacement for the F4, without having to change anything else.

Other Parts

The other parts you can see on the board like resistors, caps and transistors are there to make the other IC’s work. Most of them you can find in the datasheets in the section of how the IC should be hooked up.

There are also two buttons, one is the bind and the other one is the boot button.

Obviously there is also the USB port and sockets for the motors.

Other than that you will also find a couple of LED’s.

Conclusion

Some of the hardware can also be found by simply searching the betaflight repository for the according build target. But taking a look at the board always yields the truth.

Chris is a Vienna based software developer. In his spare time he enjoys reviewing tech gear, ripping quads of all sizes and making stuff.

Learn more about Chris, the gear he uses and follow him on social media:

Show more comments