ROLE & CONTEXT:
You are an expert Aerospace Electronic Design Engineer specializing in High-Reliability Unmanned Aerial Vehicle (UAV) Flight Controller hardware.
Your task is to generate a complete, production-ready, highly modified All-In-One (AIO) Flight Controller Schematic based on the "Hades Flight Controller" architecture by Philip M. Salmony (2019).
The goal is to merge the historically separated dual-MCU architecture (FCC and NAVC) into a single-MCU High-Performance architecture for a heavy-lift multirotor drone (Hexacopter/Octocopter) capable of carrying a minimum payload of 5kg, while adding next-generation modular expansions via docking ports, an automated hardware video switcher, and collision avoidance sensor interfaces.
SYSTEM SPECIFICATIONS & DESIGN RULES:
- Target MCU: Single STM32F405RGT6 (LQFP-64). It must handle all flight calculations and peripherals.
- Form Factor: All-In-One single PCB. No external breakout boards for core functions.
- Decoupling & Signal Integrity: Every VDD/VDDA pin on every IC must have a dedicated 100nF ceramic capacitor placed as close as possible to the pin. Analog rails (VDDA) must use an additional ferrite bead (FB) filter.
- Ground Planes: Use unified GND for logic and power, but maintain strict isolation between high-current ESC paths and sensitive analog sensor traces.
===========================================================================
MODULE 1: HIGH-POWER MANAGEMENT & REGULATION (UPDATED FOR HEAVY DUTY)
- Input Power Connection:
- Add an XT60-M battery input connector (Designator: BAT1). Target voltage: up to 6S LiPo (25.2V max).
- Add a high-capacity TVS Diode (Transient Voltage Suppressor, e.g., 5.0SMDJ26A) directly parallel to the battery input pins to absorb high-voltage switching spikes from the large heavy-lift motors.
- Add a parallel electrolytic bulk capacitor array: 1x 470uF/35V Low-ESR and 1x 10uF/50V 1206 MLCC for input ripple filtration.
- Current & Voltage Sensing (Based on Hades INA219 implementation):
- Insert a 10mOhm (0.01 Ohm, 1%, 3W, 2512) high-side current shunt resistor (R_SHUNT1) inline with VBAT.
- Connect an INA219AIDCNR Current/Power Monitor IC (U_SENSE1) across R_SHUNT1.
- Connect U_SENSE1 VDD to +3.3V. Filter VDD with 100nF to GND.
- Connect U_SENSE1 SDA and SCL to the STM32 I2C2 bus via 4.7kOhm pull-up resistors to +3.3V.
- Main 5V Power Generation (Heavy-Lift Upgrade):
- Phil Salmony's design used a Micrel buck regulator. Implement the MIC26903YJL (REG1) synchronous buck regulator capable of providing 5V at up to 9A continuous output. This high current is explicitly required to power the internal logic, an external VR Video Transmitter system, and an external mechanical robotic arm module.
- Connect REG1 PVIN to the filtered VBAT rail.
- Place 2x 10uF/50V MLCC capacitors at the PVIN pins.
- Connect REG1 SW pin to a high-current 15uH power inductor (L_BUCK1, rated for >10A saturation current).
- Connect the output of L_BUCK1 to the +5V power rail. Filter the +5V rail with an output capacitor matrix: 1x 47uF/10V tantalum capacitor and 2x 10uF/10V ceramic capacitors.
- Connect the REG1 Feedback network to maintain exactly 5.0V output.
- 3.3V Microcontroller Power Generation:
- Implement a low-noise, low-dropout linear regulator (LDO) MIC5205-3.3YM5 (REG2) to generate the clean +3.3V sensor and MCU rail.
- Connect REG2 IN to the stable +5V rail. Filter IN with a 10uF ceramic capacitor.
- Connect REG2 OUT to the +3.3V rail. Filter OUT with a 10uF low-ESR ceramic capacitor and a 10nF bypass capacitor.
===========================================================================
MODULE 2: CORE PROCESSOR & MINIMAL WORKING CIRCUITRY (STM32F405RGT6)
- Connect all VSS pins (Pins 12, 18, 31, 47, 63, 60) directly to the main GND plane.
- Connect all VDD/VDD_1/VDD_2/VDD_3 pins (Pins 13, 19, 32, 48, 64) to the +3.3V rail. Each must have its own 100nF capacitor against GND.
- Connect VDDA (Pin 13) to +3.3V through a Ferrite Bead (e.g., BLM18HE601SN1D) and decouple with 1x 10nF and 1x 1uF ceramic capacitors in parallel to GND.
- Connect VCAP_1 (Pin 31) and VCAP_2 (Pin 47) to independent 2.2uF/10V ceramic stabilization capacitors connected to GND.
- External Clock (OSCILLATOR):
- Connect an 8MHz miniature crystal oscillator (X1) across Pin 5 (OSC_IN) and Pin 6 (OSC_OUT).
- Add 22pF load capacitors from Pin 5 to GND and from Pin 6 to GND.
- Add a 1MOhm damping resistor parallel to the crystal across OSC_IN and OSC_OUT.
- Reset & Boot Circuitry:
- Connect Pin 7 (NRST) to +3.3V through a 10kOhm pull-up resistor. Add a 100nF capacitor from NRST to GND. Add a small tactile push-button parallel to the capacitor for manual hardware resets.
- Connect Pin 60 (BOOT0) to GND via a 10kOhm pull-down resistor to ensure standard booting from flash memory. Add a 3-pin header (BOOT0 to Jumper selecting +3.3V or GND) for DFU flashing mode.
- USB VCP Programming Interface (Based on HadesMicro.sch):
- Connect a Micro-USB or USB-C female port connector (USB1).
- Connect USB_VBUS through a 10kOhm/20kOhm voltage divider to an STM32 VBUS detection pin (PA9) if required, or directly to ensure safe processing.
- Insert 22 Ohm inline dampening series resistors into the USB_D+ (PA12) and USB_D- (PA11) data lines.
- Add an ESD protection diode array (e.g., USBLC6-2SC6) across the USB data lines directly at the port entry.
===========================================================================
MODULE 3: PRIMARY FLUG-STABILISIERUNGS-SENSORIK (UPGRADED)
- Phil Salmony's design used the legacy BMI088. Upgrade this module to a modern, high-vibration resistant IMU: ICM-42688-P (U_IMU1).
- Connect U_IMU1 VDD to +3.3V, decoupled with a 100nF and a 1uF capacitor. Connect VDDIO to +3.3V, decoupled with 100nF.
- Communication Bus: Connect via High-Speed SPI1 Bus to the STM32F405:
- U_IMU1 SCLK (Pin 1) to STM32 Pin 21 (PA5/SPI1_SCK)
- U_IMU1 MISO/SDO (Pin 3) to STM32 Pin 22 (PA6/SPI1_MISO)
- U_IMU1 MOSI/SDIO (Pin 2) to STM32 Pin 23 (PA7/SPI1_MOSI)
- U_IMU1 CS (Pin 4) to STM32 Pin 20 (PA4/SPI1_NSS as Hardware Chip Select). Add a 10kOhm pull-up resistor on the CS line to +3.3V to prevent accidental initialization.
===========================================================================
MODULE 4: MOTOR OUTPUTS & RADIO RECEIVER INTERFACES (HEAVY LIFTER)
- ESC Control Outputs (Expanded for Multirotor Redundancy):
- Create an 8-channel pin header block (J_MOTORS) to support Hexacopter or Octocopter configurations (critical for 5kg payload safety).
- Route the following hardware timer pins from the STM32 to the ESC signal pins via 220 Ohm inline current-limiting protection resistors:
- Motor 1: Pin 24 (PA1/TIM2_CH2)
- Motor 2: Pin 25 (PA2/TIM2_CH3)
- Motor 3: Pin 26 (PA3/TIM2_CH4)
- Motor 4: Pin 37 (PC6/TIM3_CH1)
- Motor 5: Pin 38 (PC7/TIM3_CH2)
- Motor 6: Pin 39 (PC8/TIM3_CH3)
- Motor 7: Pin 40 (PC9/TIM3_CH4)
- Motor 8: Pin 56 (PB10/TIM2_CH3 alternative or TIM5)
- Primary RC Radio Link (ExpressLRS Upgrade):
- Replace old FrSky inversion telemetry circuits with a pure, high-speed, non-inverted duplex UART connection for modern ExpressLRS (ELRS) 2.4GHz receivers.
- Connect a 4-pin ultra-secure connector (J_ELRS1, pins: +5V, GND, TX, RX).
- Route J_ELRS1 RX to STM32 Pin 42 (USART1_TX / PA9).
- Route J_ELRS1 TX to STM32 Pin 43 (USART1_RX / PA10).
===========================================================================
MODULE 5: HIGH-SPEED HARDWARE VIDEO SWITCHER (CUSTOM VR FEATURE)
- To support safe payload operations during public events (e.g., weddings), implement a sub-millisecond hardware video switcher circuit. This lets the pilot toggle between a fixed flight camera and an auxiliary modular 360-degree payload camera.
- IC Component: Implement a Fairchild/Onsemi FSA3157 (U_SWITCH1) low-on-resistance SPDT analog switch.
- Connect U_SWITCH1 VCC to +5V, decouple with a 100nF ceramic capacitor.
- Video Input 0 (Default FPV Camera): Connect to a 3-pin header (J_CAM1: +5V, GND, VIDEO_IN_FPV). Route VIDEO_IN_FPV to U_SWITCH1 Pin 1 (S1).
- Video Input 1 (Auxiliary Payload/360 Camera): Route the incoming video line from the bottom docking port (Net: VIDEO_IN_DOCK) to U_SWITCH1 Pin 2 (S2).
- Video Output (To VR Transmitter): Connect U_SWITCH1 Pin 3 (D / Common Output) to a 3-pin output header dedicated to the external VR video transmitter system (J_VTX1: +5V, GND, VIDEO_OUT_TO_VR).
- Control Logic: Connect U_SWITCH1 Pin 4 (Select / IN) to STM32 Pin 56 (PB5/GPIO).
- Add a 10kOhm pull-down resistor to this line. When PB5 is driven LOW by software, the video feed default to the FPV camera. When PB5 is driven HIGH, it instantly forces a seamless switch to the payload camera feed. If the payload breaks, a software fail-safe returns the line to LOW.
===========================================================================
MODULE 6: MODULAR PAYLOAD DOCKING PORT & COLLISION AVOIDANCE
- Ultrasonic Distance Sensor Ports (Front and Downward Collision Prevention):
- Add two 4-pin connectors for HC-SR04 or industrial MaxBotix ultrasonic sensors (J_US_FRONT, J_US_DOWN). Pins: +5V, GND, TRIGGER, ECHO.
- Front Sensor: Route TRIGGER to STM32 Pin 41 (PA8). Route ECHO to STM32 Pin 44 (PA11 or discrete GPIO).
- Downward Sensor: Route TRIGGER to STM32 Pin 27 (PC4). Route ECHO to STM32 Pin 28 (PC5).
- Add 4.7kOhm pull-up resistors on both ECHO lines to +3.3V to prevent floating inputs when sensors are initializing.
- Magnetic Pogo-Pin Bottom Docking Interface:
- To securely mount and control heavy attachments (like a motorized robotic arm or a 360-degree wedding ring delivery system) without exposed wiring risks, implement a 6-pin spring-loaded magnetic Pogo-Pin connector array (J_DOCK1) on the bottom edge of the board.
- Pin 1: VBAT_DOCK (Power source for heavy servo motors). Connect directly to the main VBAT rail through a 5A self-resettable PPTC Polyfuse (F_DOCK1) to protect the main board from mechanical shorts or actuator jams in the payload arm.
- Pin 2: GND (Common Power and Signal Ground).
- Pin 3: +5V_DOCK (Logic power for the payload internal microcontroller). Connect to the main +5V rail.
- Pin 4: DOCK_TX. Route from STM32 Pin 51 (PC10/UART4_TX) to pass commands down to the robotic arm controller.
- Pin 5: DOCK_RX. Route to STM32 Pin 52 (PC11/UART4_RX) to receive diagnostic/docking data.
- Pin 6: VIDEO_IN_DOCK. Route directly to Input 2 (S2) of the FSA3157 Video Switcher IC in Module 5.
OUTPUT EXPECTATION:
Please execute this precise architectural specification. Render the full schematic connectivity tree, establishing all implicit net labels, protection resistors, filtration networks, and power-rail decouplings explicitly, matching the high-efficiency engineering intent.