How difficult is it to write your own four-axis flight control?

Four-axis is mainly divided into the hardware driver part, and the algorithm part, first of all, I will introduce you to the driver part, now four-axis flight control do it yourself, the general use of stm32 flight control 103 series, f4 is not necessary, the main frequency is fast, some of the waste of, on the image recognition and can not be, stm32 involved in the driver is mainly the IIC (drive the mpu6050 and the magneto as well as barometers) SPI (mainly drive nrf wireless transmission, but can also be used in the mpu6000), and then is the serial port, this is used in the gps, these are only external sensors applications, the internal device mainly use four-way accept pwm, and four-way speed control pwm, which need to use the timer, and then the eeprom this also need to be used, as well as some other parts. This is what you need to Zhang my drive part, the algorithm part of the main three, the first is the filtering technology, need to be used in the attitude data processing, ahrs algorithm to solve the attitude, and then the pid here pid generally use a double ring serial pid, single-stage shortcomings of many, try it yourself can be. In fact, you want to do this step also need to have a good foundation in C language and solid regulation of the drive ability and algorithm parameters, in addition to adjusting the pid is also and there are skills, it is recommended to take a look at adjusting the pid experience, debugging and then against other people's theories will be mastered. In a you need to do is to master the production of pcb, will use ad software, this is the pcb of the introduction, spend a few boards to practice a little, and then you can make the flight control master version. Come on, it's perfectly fine for an undergrad to be able to do it, junior year, sophomore year has done all the work, it's not hard to have a heart. I initially spent a month starting from scratch, hardware design (nothing technical okay ......), to the realization of the fixed-point hover that does not require a person to control, plus a decent ground station software, flying is not bad. However, after spending more than a year doing seemingly repetitive work, including algorithm updates, system-level design and optimization, and now graduate students are still in the pit, I now I can only say that the flight is not bad.