Rohan Bandaru

Model Rocket Guidance System

I submitted this to the science fair — view the original project board ↗

For my science-fair project I built a fully self-contained guidance, navigation, and control (GNC) system for an F-class model rocket. Instead of relying on fins alone, the rocket steers itself with four actuated canards: it estimates its own attitude and altitude in flight and deflects the canards to hold orientation and correct its apogee. I worked on it from September 2021 to June 2022 and presented it at the 2022 American Junior Academy of Science conference.

Mechanical — the Canard Actuation System

The control surfaces are four canards driven by a custom Canard Actuation System (CAS) that went through many revisions, each optimizing weight, torque, and canard geometry. I calculated the linkage geometry to maximize torque at the reaction speed I needed across the full range of motion — using linkages rather than direct drive let me run lighter servos and a smaller battery while shielding them from launch shock loads. Critically, the canard pivots sit above the rocket's center of pressure, so if the GNC system ever fails the canards passively turn into the airstream and keep the vehicle stable. I characterized canard torque response with CFD (checking for control reversal) and used OpenRocket to dial in aerodynamic stability, then fabricated parts with CAD, 3D printing, and CNC milling. A small Python GUI helped me visualize candidate linkage geometries.

Mechanical design: rocket CAD, the Canard Actuation System assembly and canard prototypes, CFD streamlines, and a linkage-geometry GUI.
Mechanical design and the Canard Actuation System.

Electrical — a custom flight computer

I designed a custom flight-computer PCB in KiCad around an 84 MHz STM32 Arm microcontroller. On board: a 6-axis IMU (gyroscope + accelerometer) for orientation and position, a barometer (with temperature and humidity) for altitude, a flash chip for data logging, LEDs and a buzzer for state indication, and several buttons for adjustments on the pad. The board went through many revisions to add features and shrink it. I built it with through-hole parts since I didn't have a hot-air station or reflow oven, and mounted components on swappable breakout boards via pin headers — easy to repair or upgrade, and it let me tuck parts underneath. A 1S 600 mAh LiPo keeps weight down while giving roughly 40 minutes of runtime, enough for long pad idles and recovery. (A surface-mount version got shelved thanks to the chip shortage.)

Custom KiCad flight-computer PCB: schematic, board layout, and assembled through-hole boards with STM32, IMU, and barometer.
The custom KiCad flight computer — schematic, layout, and assembled boards.

Software — estimation and control

The firmware is written in Arduino via PlatformIO and STM32duino. An Extended Kalman Filter fuses the IMU's short-term precision with the barometer's long-term accuracy to produce a solid altitude estimate; the other axes drift, but they don't matter for apogee correction. Orientation is tracked with quaternions (computationally cheap) and converted to Euler angles for the controller. A PID controller on each body-frame axis — roll, pitch, and yaw — outputs a desired torque to drive the rocket toward its target orientation. Because a canard's torque depends on angle of attack and airspeed, the firmware estimates those per canard and converts the desired torque into a servo PWM signal. The system also runs a real-time apogee prediction from a kinematic model. I validated orientation tracking on the bench, tethered to my computer, and explored the dynamics in a Simulink simulation.

Control scheme: EKF pose estimation, quaternion orientation tracking, per-axis PID controllers, apogee prediction, and bench testing.
The estimation and control pipeline, and bench-testing orientation tracking.

Results and team experiments

The project taught me an enormous amount about control theory, robotics, and aerospace — and it did well: 1st place at the MIT MassJAS Symposium 2021, 1st place at MSEF (the Massachusetts science fair) 2021, and TARC national finalists with my team in 2021.

After co-founding the LHS Aerospace Club, I brought on teammates to push further with some unconventional experiments: an Electric Ducted Fan (EDF) nose cone for correction on both ascent and descent under parachute (its launch ended in a RUD — rapid unscheduled disassembly); deployable wings for a tube-launched glide rocket alongside a thrust-vector-control mount (still in the design phase); and an airbrake that reuses parts of the fuselage as drag surfaces, which ended up working very well.

Project overview and team rocket experiments: EDF nose cone, deployable-wing glide rocket with TVC mount, and a fuselage airbrake.
Overview, awards, and the team's later rocket experiments.

Back to all projects