Hill Cruiser - An RC Model Autopilot


Hello everybody,

This is my first, of hopefully a series, DIYDrone blog post.

The Hill Cruiser is the topic of my university thesis, which is to build an autopilot for an RC model plane.

Of course, I was inspired by the ArduPlane and the UAVDevBoard/MatrixPilot. Many thanks to you people for letting me see what I am capable of.

Consequently, I 'd like to start giving back to the site. I 'll start by posting a short presentation of the system I built, that I will be presenting at an EE student conferenece tomorrow. It's not very detailed, it's supposed to last 15 minutes.

I hope that I 'll be able to post the detailed multi-paged thesis document by the end of July.

This is the presentation .pdf:

Hill Cruiser - Conference Presentation


 Some things I 'd like to note:

1. I 'm waiting for a PCB from China for the main board. It will house the barometer and the pitot tube sensor and thus these are not implemented yet in the control system.

2. I know that my PID gains are off. I haven't had the time to tune them to perfection but the system operates, albeit the oscillations.

Feel free to post your questions.


E-mail me when people leave their comments –

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

Join diydrones


  • This plane has been mentioned on DIYD before... HERE.

    Build on Georacer!


  • Thanks Pete!

    I 've read all of Bill's papers and I follow his blog. He's truly very educative! I haven't digested all of them yet, but I plan to give them a good read in the future.

    I can't find where he mentions integration with magnetometer that's why I assumed it hasn't been done yet.

    I 'll keep an eye on the changelog from now on.

  • Developer


    MatrixPilot orientation is still based on the DIrection Cosine Matrix (DCM). Since the original implementation, some of theimprovments have been made by Bill are:-

    Automatically estimate the wind without necessarily having a Pitot, leading to the ability to calculate heading in strong winds; Implemented High Bandwidth Dead Reckoning (40Hz) to remove the latency of GPS position fixes (about 1.25 seconds); Implemented an algorithm to remove integral wind up with the plane is spinning at high speed (including automatic tuning of gyro gains in flight); full magnetometer support (again with ongoing calibration features during flight).

    Bill has been great at writing up most of his improvements either on DIY Drones, or in his papers which can be found in this download site by examining the PDFs. Most of our community discussion now occurs in Google Groups on uavdevboard and uavdevboard-dev.

    Best wishes, Pete

  • @ Pete Hollands

    Thank you for your correction. It is sometimes hard to keep track of the progress for projects that I 'm not actively involved with. I must have missed it. I 'll try to keep a better track of the news.

    I 'll be happy to post the code. Just give me a few weeks to finish the sensor integration and write some comments.

    Where should I read up to understand your orientation estimation system? Is it still DCM based?

  • Developer

    One small correction: MatrixPilot does not require movement in order to fix it's yaw orientation. That is only the case, if the plane only has  GPS unit and no magnetometer. But there has now been magnetometer support for a long time. You wll see that MatrixPilot did rather well in the automatic takeoff and landing competition by DIY Drones more than a year ago.

    Thanks for sharing your project, and I look forward to reviewing some of the algorithms that you use.

    Best wishes, Pete

  • I found the time to re-upload a corrected .pdf. The store.3drobotics is inaccessible from where I am, so please check if the new image is the correct one.

  • Admin


    Yes, I can see the new edited image now.

  • @Morli

    I was afraid I wouldn't be able to upload a corrected .pdf but I found out how. Thanks for the interest.

  • Admin

    Georacer  ,

    Are you trying to edit  blog post content here or the presentation PDF file ? As owner of your own blog , you should be able to edit the your blog. You cannot edit other's blog/comments. your PDF file how ever is another story.  I can try to edit it and upload if I find how else you can edit your PDF file and upload it once again with new link to renamed PDF file.  A typo is typo  and is not a shameful act!! IMO.

  • There are a few levels of DGPS correction.

    The simplest one is to use a GPS receiver compatible with the WAAS (for the USA) or EGNOS (for Europe) system. It is grabs correction data from an extra satellite and uses them to reduce the position error down to 2.5m. Drift is present, from my experience. You get measurable improvement, not accurate enough for a landing, though. Only one GPS receiver unit is required, though.

    The other option is, as you said, to use another similar GPS receiver on the base station on a known pair of coordinates. Then calculate the error of the receiver and communicate that error to the airborne unit. It requires more hardware, of course, but it can achieve sub-meter accuracy.

    For example, this very expensive GPS unit proclaims 5cm error for flying platforms.

    In the end, it's a matter of how deep your pockets can go and how much time you have to do the integration.

    I would like to do a ground-station correction test for hobby GPS receivers, like the UP501 I have.

This reply was deleted.