← Back to Projects

Design and Implementation of Thrust Vector Control in Rockets

A miniature rocket system capable of stabilizing itself during flight by actively adjusting the direction of thrust — combining embedded control, sensor fusion, and 3D design to mimic real aerospace control systems. Design, build, and test a self-stabilizing rocket using a custom flight computer and control algorithms.

ESP32 MATLAB PID Fusion 360
SCROLL
01 / Project overview
Program
Bachelor's thesis — Bachelor's in Mechatronics
Tools used
ESP32 (WROOM 32), MPU6050, BMP280, Micro Servos, Apogee E16, Arduino/PlatformIO, MATLAB/Simulink, Fusion 360, 3D Printing (Bambu Lab A1 Mini, PLA)
Domain
Aerospace · Control systems
Status
Completed

The project focuses on building a miniature rocket system capable of stabilizing itself during flight by actively adjusting the direction of thrust. The entire setup combines embedded control, sensor fusion, and 3D design to mimic real aerospace control systems on a smaller scale. Overall the idea was to design, build, and test a self-stabilizing rocket using a custom flight computer and control algorithms.

Goals included improving rocket flight stability using active thrust vector control; integrating sensors and control logic for real-time attitude correction; building a fully functional prototype — from electronics to mechanical design — using 3D printing and embedded systems; and testing the control accuracy and responsiveness through simulation and live launches.

02 / Technical breakdown
1

Concept and system design

Defined the control objective: stabilize pitch and yaw during thrust. Modeled the control loop using MATLAB/Simulink or similar tools. Designed a lightweight 3D-printed thrust mount for servo-driven nozzle movement.

2

Hardware integration

Built a custom flight computer using ESP WROOM 32 (for processing and data logging). Integrated MPU6050 (gyro + accelerometer) for orientation and BMP280 for altitude sensing. Used micro servos to control the nozzle's angular position.

3

Control algorithm and validation

Implemented a PID controller, tuned with the Ziegler–Nichols method. Applied a Kalman filter for sensor fusion and noise reduction. Programmed real-time data collection and servo control in C++ using Arduino IDE / PlatformIO. The system was first validated through stability simulations to fine-tune PID parameters before flight. Static ground tests were then performed to analyze servo response and verify control stability. Finally, live flight tests using an Apogee E16 motor confirmed the system's performance — demonstrating stable flight, reduced oscillations, and precise attitude correction. The integration of sensor fusion improved response accuracy, while PID tuning effectively minimized overshoot.

03 / Challenges & learnings

Challenges

Stabilizing pitch and yaw during thrust with a lightweight, real-time control system.

Sensor fusion and noise reduction for reliable attitude estimation (Kalman filter, PID tuning).

Validating control accuracy and responsiveness through simulation, ground tests, and live launches.

Results & learnings

Live flight tests with Apogee E16 motor demonstrated stable flight, reduced oscillations, and precise attitude correction.

The integration of sensor fusion improved response accuracy; PID tuning effectively minimized overshoot.

Fully functional prototype from electronics to mechanical design, using 3D printing (Bambu Lab A1 Mini, PLA) and embedded systems.

04 / Status & next steps

The system was developed through concept and system design, hardware integration, control algorithm implementation, and simulation, testing, and validation. Control methods: PID control, Kalman filter, Ziegler–Nichols tuning. Manufacturing: 3D printing (Bambu Lab A1 Mini, PLA material).

The integration of sensor fusion improved response accuracy, while PID tuning effectively minimized overshoot.

Future work could include different motor classes, additional sensors, or post-flight data analysis tooling.

Next Project → Chirp