Hello to everyone on here!  You guys can thank Monroe for getting me involved with this project, he and I have been friends for quite a while now and we think a lot alike.  To make a long story short, we are working on a guided rocket project and the option that made the most sense was to use the APM hardware as the main flight controller since it was essentially usable as-is off the shelf.  However, the code leaves something to be desired.

I have only been working with it for about a week, but I have created what is essentially a pared-down version of ArduPlane 2.50 with large chunks of unnecessary code removed.  Mainly we are interested in active stabilization and simple guidance (as in fly straight up).  Eventually for something like a suborbital or orbital space shot we would need logic to fly a programmed flight path.  However, that still leaves a lot of the Arduplane code as unnecessary, stuff like:

-throttle control


-failsafe logic (how are you going to have a rocket circle or return to the launch site?)

I got to the point where the remaining code actually compiles without errors.  The really big gaps in the code are now the pitch and roll controllers.  The existing airplane based code is not suitable for rocket applications at all.  I'm trying to find Jon Challinger's new routines but I'm not sure where to start looking.  I'm aware that due to the wide speed range inherent in rocket flight none of the existing control routines may be suitable, leaving us with developing our own.  It's been a while since I took my control systems theory courses but I'm prepared to do that if necessary.

The hardware we are planning on building will be a modification to an existing high power rocket (G-H-I power) to add a guidance section in the payload bay at the nose.  The guidance section will contain the APM, RC receiver, standard rocket altimeter/parachute deployment controller, 2M APRS tracker, cameras, and two servos with canard fins.  Essentially to the APM it will be elevon mode, with the control directions reversed since the fins will be in front of the CG.  The rocket will have passive stability and the purpose of the guidance is just to make sure it goes absolutely straight up regardless of winds.  This is a common problem with rockets and becomes particularly acute with higher performance flights.  A small initial deviation from vertical grows over time.  For things like (A) setting altitude records and (B) not chasing rockets for miles downrange, it's advantageous to ensure it will always go straight up.  The APM will also provide a whole bunch of useful functions, some of which are available in current technology rocket flight computers and some of which aren't.  Things like data logging of accelerometer and GPS data can be done with currently available off the shelf parts, but none of them provide real time telemetry with a ground station.

The long term capability exists for ArduRocket to become its own full-featured vehicle platform for amateur and even professional rocketry.  Currently, rocket hobbyists have to buy a melange of altimeters, timers, radios, trackers and other hardware to get capabilities that could easily be exceeded by what one APM can do.  Also, the possibility of being able to do active stabilization is tantalizing, since there are many full-scale rockets that aren't passively stable and can't be done as a scale model without doing things like adding transparent fins as a crutch.

For anyone who's interested in helping, we will be open sourcing the code.  I have lots of experience coding in general but I'm still trying to get up to speed on the APM hardware and ArduPlane software.  Immediately, the main thing standing in the way of having usable code that we can start ground testing is the lack of the pitch and roll control functions.


You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • We plan to add a guidance section with APM, RC receiver, altimeter, APRS tracker, cameras, and canard fins. Long-term, we aim to create ArduRocket, a versatile platform for rocketry. We'll open-source the code and welcome collaboration. To proceed, we'll research rocket control algorithms, review control systems theory, test algorithms, and seek advice from experts in the field. Here's a study
    How Many Hours of Video Games is Healthy?
    Determine the appropriate amount of time for teens to spend playing video games and strike a healthy balance.
  • Welcome to the guided rocket project! We're using APM hardware for active stabilization and guidance. Existing code has been streamlined, but the challenge lies in developing suitable pitch and roll controllers. The goal is to ensure the rocket always flies straight up, vital for altitude records and preventing long-distance travel. You can look it up here
    Looking for a deliciously brutal gaming experience? Look no further than GoreBox, the physics-based sandbox game that puts the "extreme" in extreme v…
  • An inevitable offshoot of some of the cool autonomous robotics (plane, copter, boat and more...) comes an project to create and provide open source telemetry incuding controlling a GUIDED rocket with controlled canard fins.
    Only Up!
    Only Up! is a captivating platform-climbing game that features a boy as he jumps on various surfaces to reach higher places and discover the surreal…
  • Howdy, Men! I realise this was posted in 2012 and has already received responses, but I'm interested in rocketry and would like to achieve the same thing. I've successfully launched my rocket to a high height in New Mexico, but the wind is a problem.
    Wordle Today
    Break up a boring morning with Wordle Today, the newest simple word game developed by Josh Wardle that offers players six attempts to guess a five-le…
  • Hi Guys, i know this was written and responded to in 2012, but i am into rocketry and would like to accomplish the same thing, I've gotten my rocket high in altitude in New Mexico but wind is a factor plus it would be cool to use maybe the Arducopter FW to bring in back like SpaceX , what do you guys think ?

  • Developer

    In some places at least, adding guidance to an amateur rocket is illegal. ( as it goes from legally being a hobby device, to legally being a guided missile ) ... you don't need to have on-board explosives ( or any other deadly nasties) for it to be classified as a missile, just being guided and being rocket/impulse powered is enough.   I know of a man in NZ who had built a large (guided) pulse-jet rocket, and had the authorities involved in a bad way.*   Please check with your local authorities , or at  least do a *very* careful read of your local, state, and federal legislation before proceeding with this.

    Oh, and good luck, and have fun.   We want to see a video, preferably from on-board!



    Cruise Missile
    A low-cost cruise missile project with a budget of just $5,000
  • Developer

    Hi Stewart,
    What are you going to do about the accelerometers during the initial takeoff? I suspect the rocket will saturate them. That will throw off the attitude estimate from DCM.
    You'll also need quite different code for the speed. I suspect the barometer is your best bet. That will need to be fed into the speed scaling used for the surfaces.
    Cheers, Tridge

  • Developer

    You could also base your stuff on ArduCopter instead of ArduPlane...that's what I would do although it's mostly because i'm more familiar with the ArduCopter code.  One small advantage is that it's got the AP_Motors class which could be helpful in that it separates the mixing of the output to the servos from the main code base.


    Guided rockets!  wow.  If you're too successful you will definitely make some people nervous.

This reply was deleted.