Hardware Design & Firmware

Autonomous Parafoil Guidance System

A custom 4-layer PCB-based GNC system engineered for precision payload recovery.

STM32H7 Altium Designer FreeRTOS EKF Fusion

Project Overview

This project involved designing, building, and validating an autonomous Airborne Guidance Unit (AGU) capable of navigating a 5kg payload to a designated GPS coordinate. The system addresses the specific challenge of recovering high-altitude scientific payloads, which frequently drift off-course during unguided descent.

The final architecture is built entirely from the ground up, featuring a custom 4-layer PCB, a high-fidelity RF/inertial sensor suite, and a robust Guidance, Navigation, and Control (GNC) algorithm operating on FreeRTOS. During the final field validation, the system successfully navigated from a 75-meter drop height, dynamically correcting for wind shear, to land within a 5-meter radius of the target coordinate.

Final Assembly

AGU Chassis & Actuation Rigging

Flight Validation

TEST_LOG: 2025-12-06 | WIND_CONDITIONS: MODERATE | DROP_ALT: 75M

// Phase 1: Autonomous Descent

Action: The AGU detects freefall via the IMU, stabilizes the payload, and begins actuating the left/right brake lines to execute calculated heading corrections against the wind vector.

// Phase 2: Precision Touchdown

Result: Final touchdown occurred < 5m from the target coordinate center. The system successfully demonstrated autonomous flaring and course lock in the final 10 meters.

Hardware Architecture

Altium 3D Render
Altium 3D Render
Routing Topology
Routing Topology
Assembled Top
Assembled (Top)
Assembled Bottom
Assembled (Bottom)

Click to inspect layout

Layer Stackup & EMI Shielding

Designed in Altium Designer utilizing a Ground-Signal-Power-Ground stackup. This configuration shields internal high-speed digital traces from external EMI, vital for the onboard RF modules. Inner layers utilize 2oz copper to easily handle high-current transients from the servo motors without severe thermal rise.

Power Distribution (Star Topology)

Implemented a Star Routing topology to isolate the noisy servo power rails from the sensitive 3.3V logic rails. This prevents inductive ground bounce and voltage sags caused by servo stall currents from resetting the STM32 core during stall flight maneuvers.

Active RF Front-End

Integrated a NEO-M9N GNSS receiver with a custom Bias-Tee circuit (27nH inductor & 100nF capacitor network). This injects clean, low-noise DC power (via an LT1764AET-3.3 LDO) into the active antenna coax while isolating the RF path back to the receiver.

Firmware & State Estimation

RTOS Architecture

The bare-metal firmware operates on an STM32H7, utilizing FreeRTOS to manage asynchronous sensor pipelines.

  • Task_IMU (100Hz): High priority. Polls BNO085 via custom SPI driver. Handles SHTP protocol fragmentation/reassembly for zero data loss.
  • Task_GPS (DMA): Parses binary UBX packets directly from UART via DMA. Extracts precise $V_{NED}$ vectors without blocking CPU cycles.

7-State Extended Kalman Filter

Designed a 7-state EKF targeting Position, Velocity, and Heading Bias. To optimize for the MCU's FPU, I implemented a Sequential Update mathematical model, processing GPS measurement scalars independently. This completely bypassed the need for expensive $7\times7$ matrix inversions during the update step.

SYSTEM_FAILSAFE

Continuous geofence and sensor-health monitoring. Breaches trigger a hard "Deadspin" interrupt, forcing servos into a rapid spiral descent to prevent fly-aways.

Control Flow Architecture

Execution Rate: 100Hz

BNO085 IMU
SPI / SHTP
NEO-M9 GPS
UART / DMA
STM32H7 Core (FreeRTOS)
EKF Fusion
State Vector Pred/Update
GNC Logic
Pathing & Actuation Math
Dual Servo Actuation
Hardware Timer PWM (TIM2)

// System Documentation