We have just completed a flight test program of our MK-II SurVoyeur UAV System after having fitted the new Autopilot/IMU. This autopilot replaces the 32bit AVR based autopilot in our preceding UAV's, with a view to giving a big boost in performance, shorten IMU cycle times ( from 200Hz), and eliminating all the component obsolescence issues of the AVR based modules.

The autopilot is again a single module, but now contained all the video switching for up to 4 video sources, switchable from the ground station, all the DC-DC convertors for up to eight Medium size Digital servos, all the power supplies for Datalink and video transmitter modules, as well as all power conditioning for the EO-IR stabilized gimbal fitted to the MK-II system.

There are now 6 serial channels ( RS422/RS232/TTL configurable) , 11 PWM outputs, Analogue inputs for Laser Rangefinder. Ultrasonic Rangefinder, ESC/Motor Amp measurement, and for a two cylinder Gas engine CHT measurement ( using thermocouples).  External Air temp is also measured to do Static Pressure compensation for Baro Alt.

The module is also fitted the Measurement Specialities 24bit Static and Dynamic pressure sensors. In addition, a further 6 (!) digital static pressure sensors are fitted. 

These are :

MS5611  ( two fitted in different locations)





The reason for this was really to test the performance of each of these sensors, and as they cost very little, we decided to include them all on the final modules.  Since most actually all work quite well, we are implementing a redundancy selection scheme to select working sensors from failed ones, just because they are there...

The sensor we are most unhappy with is the 24bit Measurement Specialities device the MS4525HDR. It is so complex to manage, each sensor serial number is supplied with a special set of coefficients that are used in a complex set of computations to do the pressure/temperature computation. These coefficients have to be stored on-board the autopilot which means each software load has a specific module particular to that board. A config management mess...since the coefficients are not stored within the sensor by the manufacturer, but on a piece of paper supplied with the sensor. Nuts!

And then the sensor performance over the range 0 to 60deg C is not great - it varies by more than 5millibar ( 40meters!). So, on top of its complexity, we still have to do a 2nd order polynomial temp correction to get better than 0.5millbar variation over that temp range. It does not end there - it is also very susceptible to vibration - in the plot below, you can see the wild oscillation  ( blue line) as soon as the wheels start to roll, and how the pressure reading goes smooth again as the wheels lift off the ground : From vertical lines 2 up to 4. The graph is in pressure, so the graph shows reducing pressure as the plane climbs from vertical line 4. The oscillation is a peak to peak value of 0.9millibar - nearly 8 meters! Certainly cannot use this sensor to know if you have lifted off the ground! We use the LRF...

Measurement Specialties just snubs us - we are to small for them to be concerned about our 'bad' report...


The IMU is fitted with two MPU6500, each running a full IMU at 400Hz, but with different filter coefficients within the Kalman filter - this helps tremendously in the elimination of IMU bias or drift during high vibration, such as during taxi on rough ground.  An HMC5883 Magnetometer is also fitted as a separate module, able to be located in a clean environment on the A/C.

ALL sensors are fully temperature compensated from 0deg C to 65deg C

The host processor is the STM32F427, running at 140MHz.

Failsafe is managed by a separate AVR processor on the module.

We also used large connectors so that cables are more easily crimped, more reliable, and fit securely.

( see my previous blogs for info on the previous autopilots)

The test aircraft was fitted with is full payload - an EO-IR stabilised gimbal ( Sony EX11 block cam, and FLIR QUARK IR CAM), and a 16Mpixel fixed down looking stills camera, snap and focus controlled by the autopilot.

The Laserman ( Lightware) SF10 laser rangefinder is also fitted as the main landing aid sensor, as visible in the above photographs. 

Here are some photos of the autopilot module:

Top view of full board:


These are the two module in the middle, containing the inertial sensors and all the pressure sensors. They are separate , small PCB's, so that they can be easily exchange for ones fitted with newer devices, etc.


The flight test were very successful, the new autopilot performs very well, and the IMU worked as designed...

The launch and landing plots below show the Height above ground from Baro Pressure sensor and the laser Rangefinder height to ground.

This is the auto-launch plot:

The image is not very clear, but resolution on the blog post does not really allow any better...

The green is the Rangefinder, which works to 60meters, but we limit it at 40meters, since we are not interested in range above that.

The red is pressure height AGL.

The vertical delimiters are 2.4seconds apart. Wheels up are at the 4th vertical.

The 'step' in the red line at middway between 9 and 10 is where we command a change in datalink TX power from 1milliwatt to 100milliwatts which results in a short link loss period.

A nice smooth climb of the A/C. The left scale is 4meters per horizontal line.

What is very evident is the lag in pressure altitude measurement during the climb - the lag is almost a half second. The air pressure measurement is not filtered or smoothed at all, so it is purely the digital sensor internal oversampling delay.


And the Auto-landings , below, are a thing of beauty!

Red again is pressure based height AGL, green is LRF.

And again, the step middway between the 1st and 2nd verticals is the switch from 100milliwate back to 1milliwatt on the datalink , because we land about 10meters away from the ground station, and 100milliwatts saturates the RX at that range - the Xbee 868MHz modem are VERY sensitive - we get nearly 30km range at 300milliwatts with 1/2 wave dipoles.

The landing is a circle, starting at 100meters height, and spiraling down, till about 20meters AGL ( vertical line 6 approx) and then unrolling, straightening out onto track to touch down at a GPS point ahead. It is seen that the LRF and Pressure height track reasonably well, but the pressure sensor lag is still evident.

At vertical 11, we are at approx 6 meters height, and we begin final landing control, at 4 meters we kill throttle, and start the flare maneuver, which completes at 0.4meters above ground, and a smooth gentle touchdown at just after vertical 16, at about 0.5m/s sink rate. After 14 such landings the min sink rate achieved was 0.3m/s at touchdown, and the max was 0.7m/s. Windspeeds during the 14 flights varied from 4m/s up to 13m/s.

We never managed this reliably at all with pressure only landings, and with the previously fitted ultrasound sensors we often had 'hard' landings, due to the fact that the switch from pressure height to actual ultrasound height would only occur at 5meters AGL or so - the typical range of ultrasound sensors over rough ground. With laser we switch to the LRF height at 30 meters already, and are able to compensate for any pressure sensor drift in good time.

The system is now totally hands off....Push the button and go..


The NamPilot...

E-mail me when people leave their comments –

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

Join diydrones


  • Thanks you very much Mr. NamPilot......

    It is really a very sleek bird

  • Hi to all and thanks for the kind words...

    To reply to all the questions:

    Dan, there is ONE of those small connectors in the middle of the boards - its the Failsafe AVR processor programming socket - at least it does not need to be connected to when integrating the board in the aircraft!

    Vladimir - as always, Thank You...

    Paul, I have attached a few more pics - I don't have many - always flying and observing and never have a camera in my hands..

    Hein, on the pressure sensor oscillation - I doubt its and air compression phenomena, as in this test all (7) of the sensors see the same air - as can be seen from the small sub modules, they all all very close to each other ans would sense the same air basically.

    Hugues, yes, it is our own flight controller, as indicated in the blog post, with our own software. We do not use any of the APM/Pixhawk code or the Mission planner software.

    Dan, sorry, no website..We are trying very hard to remain small, and supply our 'immediate' markets, Southern Africa, except South Africa ( taken care of by the Paramount Group, our OEM there) . I do not wish to get caught up in the corporate/production/labour laws, etc scenario again...The web site was up for a few months and generated so much work we shut it quickly! Now word of mouth keeps us way busy enough!

    James-S , No , not sandwiches, but it does a damn good Croissant , with cream cheese...

    MJ !!!, nice to see you are around!  All of us beavering away in our worlds of wilderness - we are becoming more and more involved in the Desert Lion Project here, so some news on that coming soon...Re the MS sensors - I think this is a classic case of Marketing having sold the entire production run based on a nice to have sales pitch, while engineering received the development go ahead after the event, and the batch produced were sent to clients, warts and all...However, this is only relevant wrt the MS4525 absolute sensor - the other of theirs that we use on this module, the MS5611 is actually quite good. MUCH better than the MS4525, much cheaper, and easy to handle in software. It lacks the 24bit resolution of the 4525 ( has 14bits I think - must refresh brain row and column a little more often..)

    See the table at the end of the posted text for the sensors variances.

    Kenn, the sensor choices are as follows, qualified per this statement:

    Since we are trying to extract the best possible performance from the static pressure sensors, we recorded the raw pressure output, with constant pressure environment, all sensors being done at the same time. We then applied a 2nd to 3rd order polynomial correction to ALL the sensors to correct for the temp variation (from 0 to 60deg C) and obtained VERY good results from ALL the sensors. The MS4525, included, except that the raw results of the MS4525 were worst of all, and it is the most complex to manage in software, and costs 10 times any of the other sensors...

    The BOSCH BMP180 is the ONLYsensor of the lot integrated on our module, that does not really need the polynomial compensation, as can be seen from the variance of the raw output over that temp range-

    Sensors are listed best to worst-

    The variance for each sensor is as follows:  Note that this is simply the raw data max and min excursion over the temp range-in millibar

    BMP180                                      0.7mb

    MS5611 (sensor 1)                      1.5mb

    MS5611 ( sensor 2)                     1.5mb

            Note, these two are deemed 2nd best, since there curves are flat from 20deg c to 65deg C – less than                        0.12mb variation, making the correction very easy.

    MPL3115A2                                 1.2mb

    LPS331                                       3.2mb

    LPS25                                         3.4mb

    MS4525HRD                                5.8mb

    The only issue here is that the only sensor with a pressure port able to accept a pipe, connecting to , for example, a Pitot-Static tube, is the MS4525. This was not done for our tests here, but is the intention for the production installation. So we are looking at Freescale and Honeywell digital I/O sensors now...

    Thank again..

    The NamPilot

    Some more pictures of the MK-IIc for Paul..

    Aircraft on its assembly aid in the carry case


    In flight:



    The system:



  • You mentioned how you were unhappy with the MS4525HDR. What was the sensor you were happiest with?

  • I suspect I've said this before....... brilliant work Joe and Gisella. When time permits, could you prepare a post describing some of the work that this machine undertakes.  Your posts raise the tone on DIYD demonstrating working UAVs as distinct from the multitude of FPV sport fliers.

    I will not be purchasing from Measurement Specialties.

  • It's purdy. Does it also make sandwiches? 

  • Joe, do you have a website or other information on your SurVoyeur? Is the airframe available for purchase?

  • MR60

    Joe, is this your own flight controller HW and sw or your own HW running APM:plane or a for of it? 

    God like! (Or r u an alien disguised as a smart human being?)

  • The new autopilot is a thing of beauty, like everything you guys do.
  • 100KM

    Maybe it's not vibration but the compression within the fuselage as the plane rolls over small bumps?

  • Beautiful plane, would you post some additional pics pls ?

This reply was deleted.