image not found!

Icarus is a flight controller for micro-quads.

Features:

  • STM32F405 MCU
  • IMU (gyro/accelerometer/temperature)
  • Magnetometer
  • Barometer
  • USB 2.0
  • 30.5 x 30.5 millimeter mounting pattern

Design

Below is the design documentation for the Icarus Flight Controller.

Full schematics can be viewed here: schematic

Scope

The scope of this project is to design and build an embedded system that can be used as a microquad flight controller.

PriorityItem
MustSupport control of 4 motors
MustHave motion sensing
MustInterface for remote control
ShouldHave USB 2.0 support

High-level Components

Power SupplySensorsMCURadioRotorsUSBPWR PortVoltage RegulatorIMUBarometerMagnetometerRadio BusSensor BusCorePWM    ThrottleTelemetryAccel / GyroAltitudeOrientation






















  • PWM output to drive rotors
  • An IMU can be used for motion sensing. At minimum a gyro and accelerometer would be required
  • A magnetometer is needed to prevent yaw drift
  • RC input would be require as input to the controller

Power Supply

Requirements

Voltage should be able to handle up to a 3S (11.1V) LiPo for some flexibility in battery choice.

Power Supply Inputs

The board will have two inputs for power:

  • Two pin input for direct battery connection
  • 5V input from a USB connector

Sensors

Requirements

As one of the purposes of this controller is for drones, understanding orientation in the air will be critical.

Sensor Selection

  • MPU6050 for attitude estimation
  • Magnetometer to prevent yaw drift (though not required)
  • Barometer for altitude

MCU

The MCU requirements for this project are pretty basic:

  • 4 PWM outputs
  • 1x I2C
  • USB Serial support

And ESP32-C3-MINI-1 module was selected for the following reasons:

  • Enough IO to control 4 motors
  • I2C for sensors
  • Built-in 2.4GHz radio support + antenna

Board

Image not found

Image not found

Image not found

Image not found

Appendix

DocumentItem
Schematicschematic
BOMibom
Fab Filesjlcpcb-files