Thrust Vectoring Control Mechanism
Thrust Vectoring Control Mechanism
I designed and built a two-axis thrust vectoring mechanism for a model rocket.
This project was my first time properly working with electronics, sensors, control software, and PCB design.
The goal was to understand how mechanical design, hardware, and firmware interact in a real system, and what it takes to make that system work reliably through iteration and testing.
Mechanical Design
I designed a two DOF gimbal capable of ±25 degrees of rotation in both pitch and yaw.
I defined the gimbal geometry, servo placement, and linkage lengths to allow smooth motion without interference across the full range of travel.
Structural components were designed to keep the motor thrust axis aligned with the gimbal’s centre of rotation, since even small misalignments caused noticeable issues during testing.
Electronics and Hardware
I designed a custom PCB in Autodesk EAGLE to centralize power distribution, signal routing, and sensor integration.
This was my first PCB design, and it required learning how component placement, grounding, connector choice, and trace routing affect reliability and noise.
The PCB integrates:
Teensy 4.1 microcontroller for real-time control
9-axis IMU (BNO055) for orientation sensing
Dedicated connectors for servos
5V external power input, and sensor interfaces
Regulated power distribution to separate logic and actuation loads
Control System and Firmware
The control system runs entirely in embedded firmware on the Teensy 4.1 in a continuous closed-loop that senses the rocket’s orientation, compares it to a reference, and commands the gimbal servos to correct any error.
At each control loop iteration, the microcontroller reads orientation data from the IMU over I2C, including angular velocity and acceleration.
The filtered orientation is compared to a reference attitude, producing pitch and yaw error signals. These errors are fed into independent PID controllers for each axis.
Each PID output is mapped to a servo angle command, with software limits enforcing mechanical travel constraints and preventing binding.
The final commands drive the gimbal servos, redirecting thrust to counteract the measured orientation error. This process repeats continuously, forming a closed-loop control system where sensor feedback directly drives mechanical correction.
Testing and Iteration
The system required multiple rounds of redesign and testing before it behaved reliably.
Early tests revealed issues such as mechanical compliance, electrical noise, and overly aggressive control gains.
Debugging was done by isolating each subsystem and testing it independently, then reintegrating it into the full system.
This process reinforced the importance of early physical testing and incremental improvement. Many problems only became obvious once the system was assembled and operating in real time.
Conclusion and Next Steps
This project represents my first complete closed-loop electromechanical system, built from the ground up.
It taught me how difficult it is to make a multi-disciplinary system work on the first attempt, and how tightly mechanical design, electronics, and control software are connected. More importantly, it showed me how to approach complex systems through structured testing, iteration, and debugging.
The next step for this project is flight testing. Future work would involve integrating the system into a rocket airframe, validating performance under real thrust and vibration, refining control gains based on flight data, and improving robustness for launch conditions.