Fly-Pig: Quadrotor Flight Control Starting from PCB

  • PCB Design and Hardware Subsystem Construction: Selecting appropriate components and integrating them into a unified board design.
  • RTOS Migration (uCOSII to CM4 Kernel): Migrating the RTOS from uCOSII to the CM4 kernel, which includes bootloader development, task scheduling, and context switching. Assembly language is used to manipulate registers, enabling efficient context switching.
  • Peripheral Driver Development: Creating drivers for peripherals such as I2C, USART, ADC, TIM, SPI, and sensor interfaces.
  • Algorithm Implementation: Developing and optimizing algorithms for IMU bias analysis and elimination, data filtering, pose estimation (using EKF, Madgwick Orientation Filter, and Mahony Orientation Filter), and PID control.

    Code