Back to Projects
All Purpose Rocket Avionics (APRA) Flight Computer
MechanicalAerospace

All Purpose Rocket Avionics (APRA) Flight Computer

August 2024 – December 2024

Cresskill, NJ

Overview

I started getting into hobby rocketry after stumbling onto the BPS Space YouTube channel, and before long my entire recommended feed became a rabbit hole of active guidance systems, thrust vectoring, and amateur rockets flying like they had no right to. Naturally, that got me wanting to build something myself. I started small with a basic rocket modeled in OpenRocket, designed the fin can and nose cone in SolidWorks, bought a G-class motor, and threw it all together.

Unfortunately, I live directly under the approach path for Newark Airport — not exactly ideal rocket-launching territory — and the nearest hobby launch site is a five-hour drive away. But the itch to build something more advanced wouldn't go away. I wanted to make a rocket with real avionics: guidance, active control, staging, payload deployment… the works. And the core of all of that is the flight computer.

The problem? I knew absolutely nothing about PCB design. So I decided to learn.

I downloaded KiCad, opened a blank schematic, and started diving through documentation, tutorials, forums — anything I could learn from. My goal was ambitious for a first board: something general-purpose, modular, and capable of handling active fin control, thrust vectoring, multistage sequencing, high-altitude payload release… basically, a "do everything" flight computer.

To support all that, I needed a microcontroller with plenty of pins and decent horsepower, so I settled on a version of an STM32 with enough pins. Once I had the core circuitry built, I moved on to power management. I wanted both 3.3V and 5V rails, a regulated and safe USB interface for programming and testing, and a clean way to distribute power across all the subsystems. After that, I added an SD card slot for storing flight programs and logging data.

The fun part was integrating the sensors and avionics. I included a barometric pressure sensor for altitude, dual IMUs for redundancy, and a magnetometer for orientation. I gave myself pinouts for six servos — enough for thrust vectoring, active fins, or even a yawing camera mount. I added four pyro channels to handle parachute deployment, stage separation, or whatever wild ideas I come up with later. I built in support for GPS, an external telemetry radio, Bluetooth, an LED status indicator, and a buzzer for feedback. By the time the schematic was complete, the board was shaping up to be a genuinely capable flight computer.

As expected, my dream board turned out to be fairly expensive to manufacture — at least for now. Even though I haven't gotten it fabricated yet, the process taught me far more than I expected. I learned the basics of PCB design, component selection, reading datasheets, power routing, communication buses, and how to turn a messy idea into an electrically coherent system.

One day, this board will absolutely fly — though realistically, it will probably need a redesign once I learn more about the finer details of PCB layout. But this project pushed me completely out of my comfort zone and into a part of engineering I'd never touched before. And even without a physical board in hand, it's still one of the projects I'm most proud of starting.

Technologies & Tools

PCB DesignSTM32 MicrocontrollerInertial Measurement Units (IMU)BarometerMagnetometerGPSBluetoothServo ControlPyro ChannelsThrust VectoringActive Fin ControlAvionicsRocketry

Gallery

Project media 1