Model rocket with active stabilization

By means of motor vectoring

Public Chat
Similar projects worth following
Model rocket with active stabilization by means of motor vectoring (no guiding).

General Features

  • Closed loop system with gyroscopes.
  • Complete system simulation in MATLAB for PID tunning.
  • Custom made PCB for control.
  • Remote emergency deployment of parachute.
  • Without fins.
  • Simple parachute deployment with commercial electronics.
  • Fiberglass body tube with wood reinforcements.
  • Two DOF motor vector system.
  • 3D printed gimbal with hobby servos.
  • Finite Element validated gimbal structure design

Active Stabilization

  • Closed loop control system.
  • Set point, zero angular velocity in rocket transverse axes (behaviour equivalent to fins).

Control PCB Features

  • Based on ATMEGA328P
  • uC running an 5V and 16 MHz
  • 3.3V for some components
  • 6.5V for servos by means of an external DC-DC buck
  • Reading servos actual position by means of two external MCP3201 12bit ADC's via SPI
  • Flight data storage in flash memory Winbond W25Q64
  • Inertial mesurement unit GY-91 with BMP280 and MU9050
  • PWM control of two servos.


  • Feasibility study by means of simulation (COMPLETED)
  • Design of the gimbal (IN PROGRESS)
    • Finite Element Analysis (COMPLETED)
    • Static testing (COMPLETED)
    • Finite Element Analysis gimbal-tube interaction
  • Control PCB (IN PROGRESS)
    • Schematic (COMPLETED)
    • PCB design (COMPLETED)
    • Manufacturing (IN PROGRESS)
    • Programming the control PCB
  • Design of the rocket (IN PROGRESS)
  • Fabrication (IN PROGRESS)
    • Gimbal (COMPLETED)
    • Fiberglass body tubes and ogive (IN PROGRESS)
    • Assembly 


Equations for converting lateral thrust forces to servo rotation angles

Adobe Portable Document Format - 120.86 kB - 12/30/2018 at 09:01



Control PCB Schematics

Adobe Portable Document Format - 55.83 kB - 12/29/2018 at 12:07


  • 1 × MPU9250 Inertial Measurement Unit
  • 1 × BMP280 Air pressure sensor / barometer
  • 1 × W25Q64 Memory ICs / FLASH Memoryf
  • 1 × ATMEGA328P-PU Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 2 × AMS-1117 Power Management ICs / Linear Voltage Regulators and LDOs

View all 9 components

  • PCB is working!

    Oriol Casamor01/13/2019 at 18:10 0 comments

    All components tested now including, ADC, MPU9250 gyros and accelerometer, voltage regulators, servo control, buttons and flash memory. I finally soldered the flash memory in the incorrect footprint by bending the legs, it took some time but it works.

    Now, it's coding time!

  • Testing the PCB...

    Oriol Casamor01/09/2019 at 22:56 6 comments

    The board is working, voltages regulators work, led is ok, .. but unfortunately the footprint of the SPI Flash was incorrect ... I have to decide if I re-do the PCB or make some kind of workaround :(

  • PCB Received!

    Oriol Casamor01/07/2019 at 20:25 0 comments

    I have just received the first iteration (and I hope the last one) of the control board for the rocket. Ordered at

  • Gimbal static load test

    Oriol Casamor01/05/2019 at 21:22 0 comments

    As I commented with @Mike Szczys , today I performed the static tests in order to ensure the structural integrity of the gimbal. The test was a success with some observations to be considered.

    • The test bench was quite improvised and low cost but worked nicely for the purpose of the test.
    • The test reached 12.2 kg without any strange noise.
    • The servos worked smoothly after the test.
    • The plastic structure recovered totally the initial shape and there is no sign of permanent deformation.
    • The inner rings had no visible deformation.
    • However, the external structure deformed significantly, but the supporting is no representative of the real conditions. I will perform finite element simulation in order to study the deformation of the body tube and make sure that deformations are reasonable and there is no risk of local buckling. Local reinforcements will be introduced to the zone if shown to be necessary.
    • Also, the bearing of the outer ring slightly moved out of the hole. I will glue it with epoxi to make sure it stays where it should. Maybe this can be avoided with some geometry changes if I ever re-design the gimbal.

  • Working on body tubes and ogive

    Oriol Casamor01/02/2019 at 23:32 0 comments

  • Motor gimbal motion test

    Oriol Casamor01/02/2019 at 11:37 0 comments

    Here you can find the motion test for the assembled gimbal with the servos :D

View all 6 project logs

Enjoy this project?



miniman064 wrote 01/04/2019 at 21:48 point

Highly recommend checking out this guy. He's doing something very similar and has had a lot of success.

  Are you sure? yes | no

bobcousins42 wrote 01/05/2019 at 13:43 point

Interesting link. Looks like he using SAMD21.  It seems to work only with slow speed launches, so the implication is that the control loop is not fast enough for higher speeds.

  Are you sure? yes | no

Oriol Casamor wrote 01/06/2019 at 11:11 point

I think is far more limiting the maximum frequency for the response of the actuation system rather than the electronics. Moving some nice motor plus casing, at a frequency of 100Hz with an amplitude of some degress is not an easy job in terms of power - torque - speed. 

  Are you sure? yes | no

bobcousins42 wrote 01/03/2019 at 22:54 point

I've made and launched a few model rockets.  I doubt this will work, but it's interesting to try.  People had better watch out at the launch site, this thing could go anywhere! :)

  Are you sure? yes | no

Oriol Casamor wrote 01/04/2019 at 07:50 point

Any suggestion or specific doubt from your experience will be appreciated. Regarding the safety, there will be an emergency early parachute deployment and separation from a remote control. 

Thanks for your interest.

  Are you sure? yes | no

bobcousins42 wrote 01/05/2019 at 13:49 point

Generally because "rocket science is hard" :)  Snagging out control loops can be quite time-consuming especially if each test involve a launch. I assume you will be logging lots of data to analyze post-flight.

It seem you have a relatively large rocket so can use low take off speeds (low for model rockets). But I would strongly recommend using 32 bit CPU, since you can get a Cortex M4 with hardware FPU for little more than an AVR, I would use that off the bat.

  Are you sure? yes | no

barry buelow wrote 01/02/2019 at 20:54 point

I'm a retired avionics engineer and know a little about autopilots and such. You will need to have LOTS of computing power and run the control loop very fast (>100Hz).  The amount of motion will be very small (under 1deg), so plan on a gear reduction, not just servo motor direct. Dead zone is a problem too. It will also depend on the moment arm from the top of the engine tube.  I strongly suggest some spin stabilization so corrections are minor. Hope you are really good with math.  (8-)

  Are you sure? yes | no

Oriol Casamor wrote 01/02/2019 at 23:30 point

Hi Barry,

As I commented to Mike, everything can go wrong and it will be difficult to achieve success at first try. However, I am trying to reduce as much as possible failure probability.

The simulation that I have performed before any detail design includes control loop frequency, a real model of the servo that includes max speed, max torque and inertia of the motor. Dead zone has not been considered but it is an error much smaller than the set point minus actual position error, which is considered. Control loop frequencies of 100Hz (or even higher) are not a problem for common electronics. At least this items should not be a problem.

I take note of the suggestion for spin stabilization in order to reduce the actuation, this should be considered in case of failure due to an excessive spin rotational speed. However, since burn time is not very long, less than 3s, I do not expect this to be an important issue, but I cannot prove it beforehand.

And yes, maths an additional very beautiful part of the project. The simulation is far more complex than the controller software that will be on board.

I really appreciate your suggestions and interest,

  Are you sure? yes | no

Laurence wrote 01/04/2019 at 09:35 point

Looking forward to seeing the results from this!

However, as someone who has been at quite a few launches of rockets this size, there is a high chance your rocket will spin. Your fins won't be perfectly aligned, and with the speed you'll be travelling that's enough to spin the tube. It'll be slow (a few Hertz at most), but probably enough to annoy lateral control systems. I've seen a few iterations of a design with active stabilisation using tilting canards. They definitely work, but you need a well tuned PID with dynamic coefficients based on airspeed (or you only enable above a certain speed/height, but for short burns this would start after your thrust vectoring was useful - perhaps for a hybrid motor this would work).

If you want an event to launch/chat to experienced model rocketeers in Europe then International Rocket Week is popular with quite a few uni teams, as well as a lot of regulars. We have a ceiling of 16,000 ft AMSL near Glasgow in Scotland, UK.

Good luck!

  Are you sure? yes | no

Oriol Casamor wrote 01/04/2019 at 12:05 point

Hi @Laurence ! I greatly appreciate your interest,

As you indicate, one of the advantages of implementing thrust vectoring instead of active fins is that it is not necessary to estimate the aerodynamic coefficients except for those of the body tube itself. Therefore, the equations are much simpler and the control less uncertain. The obvious disadvantage is that there is no control when the motor has finished burning. The mechanical design is also more complex than active fins.

Because the rocket will be uncontrolled once the motor has stopped burning, I will have to make sure that the structural integrity is no compromised due to a parachute deployment at maximum speed. This is reasonably easy to predict and assess.

I think that according to your suggestions regarding spin, I will perform a sensitivity analysis of the control with respect to the spin in the simulations, which actually does not represent a big issue in being implemented. I should have a better insight regarding this before any flight. I will add this item to the task list. However, considering that the rocket will have no fins at all, it may reduce the chances of induced spin, but also of dissipation. 

A crazy idea would be introducing short fins through an important length of the body tube so that the rotation energy is dissipated without increasing significantly longitudinal stability. But I do not really like crazy ideas...

Also, thanks for your offer regarding meeting other rocket hobbyist in Scotland. It would be a beautiful opportunity in summer. As for the moment, I am part of Tripoli's Spain Rocketry and I'm in constant contact with experienced people in the association which are helping me with the project.

I will keep you updated,

  Are you sure? yes | no

Laurence wrote 01/04/2019 at 15:05 point

Ah, sorry Oriol, I missed that it was finless, which should have been obvious!

In which case you will presumably have very little spin unless your gimbals have some offset, or the thrust is not adequately symmetrical from the motor. It might be worth simulating some small spin rotations as you say and seeing how the gimbals handle it.

Glad to hear you have some support behind you from Tripoli. It's amazing how many brilliant ideas using larger rockets never get the chance to succeed because of a silly mistake in the standard part of the rocket which was overlooked.

  Are you sure? yes | no

Mike Szczys wrote 01/02/2019 at 19:38 point

A very interesting project.

Full disclosure: I have no experience building rockets. Are you planning to mount a solid rocket engine in the gimbal? If so, I would be concerned that the jolt of force at ignition would damage the mounts/servos. Have you designed with this in mind?

  Are you sure? yes | no

Oriol Casamor wrote 01/02/2019 at 23:12 point

Hi Mike,

Yes, a solid rocket engine. Everything can go wrong and it will be difficult to achieve success at first try. Having said this, yes, I have in mind this considerations. The solid 3D printed parts should withstand the peak load, the design has been validated with finite elements analysis. The servos are not standard, but high torque with metal case aimed for more aggressive scenarios. In any case, considering that peak load is known, the system will be tested soon with an static load of this value before any launch.

Thanks for your interest,

  Are you sure? yes | no

Mike Szczys wrote 01/03/2019 at 16:07 point

I'm fascinated by this load testing. Looking forward to hearing more about how you perform those tests and how the design stands up to them!

  Are you sure? yes | no

Similar Projects

Wall plotter
Project Owner Contributor

Oberth Arm


Does this project spark your interest?

Become a member to follow this project and never miss any updates