Here a video of an autonomous flight with a Maxi Swift flying wing fully piloted by the firmware ArduPlaneNG v2.x R5 with an All In One Pro (AIOP) full IMU board.This is a porting of the ArduPlane v2 (v2.4+v2.5) firmware and special addons and improvements for the AIOP board that I have added.
The wind was 15 km/h gusting 22 km/h. The flight was very stable in spite of the gusty wind conditions.




  • IMU board: All In One Pro (AIOP) v1.0 from CRIUS,
  • GPS: Crius CN-06 (Ublox NEO-6)
  • AirSpeed sensor: MPXV5004DP (from a old ardupilot one shield)
  • firmware ArduPlaneNG V2.x R5, porting of the ArduPlane v2 + special addons for the AIOP v1 IMU board by JLN


Flying Wing: Maxi Swift from MS Composite (1m40 wingspan)

  • brushless motor Spitz 30 850 kV, 360W with a propeller GWS 10x4.5
  • Lipo: 3S EVO25 2650 mAh
  • Receiver: Turnigy 9X8C v2
  • Transmitter: Turnigy 9x with Er9x firmware


More infos at:

E-mail me when people leave their comments –

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

Join diydrones


  • Yes, I am following that  RCgroups thread too ! But the title is not that explicit, since it does not mention ArduplaneNG :-(

    By the way, is the "diff" of between JLN's ArduplaneNG and the Arduplane 2.4 available somewhere ? I would like to estimate the amount of work needed to port the newest Arduplane versions (with wind estimate, dead reckoning, etc.) to the Crius AIOP board. I am wondering if the modifications are confined to a few files only, or if they a spread almost everywhere in the code (unlikely, but...).

  • There are RCGroups thread made for ArduplaneNG... Discussion and so on. Would be great to see all ArduplaneNG users there! 

  • Opened a new discussion about this servo throw bug here

  • Sticks are mixed in STAB mode always and in AUTO modes if ENABLE_STICK_MIXING parameter is set to 1.

    In MANUAL mode no automatic control is added, only manual.

    In RTL mode manual signal is missing, so it is not mixed to automatic one.

  • I just investigated firmware sourses... Stick deflections are added to servo output a bit tricky - automatic output signal is scaled down to leave place for manual signal. It seems Ok, but the algorithm is internally limited - manual signal must not exceed +-400 ms from trimmed value. I do not know why. So, don't move sticks too much...

    I think you can ask developers about this limitation. Function stabilize() in Attitude.pde.

    In RTL mode sticks are not mixed at all.

  • The problem is still persists on my plane too.  In stabilized mode acceptable, altough a little bit agressive the reaction, but in RTL mode the plane very unstable, increasingly wobbly. If I tried reducing Nav roll PID-s, I can't seen any change (on the ground, I don't fly thence). I think next I will reduce the servo arm's lengt.

  • Я думаю так будет проще =) В режиме стабилизации:

    1)сервы пытаются выровнять самолет в более-менее адекватных количествах и точно в верных направлениях.

    2)тяну ручку элеватора на себя до упора - в ручном режиме сервы отрабатывают идеально, в режиме стабилизации они отклоняются практически до упора и даже пытаются разогнуть тяги.

    В ручном режиме самолет летает верно и стабильно, расходы зажаты 80% руль высоты, 70% элероны. Калибровки радио в Планере проводил уже после установки всех расходов.

    Спасибо за помощь!

  • Nav params are not used in Stabilize mode...

    I try to understand... Your servos go to the edge in stab mode, or they move reasonably to compensate pitch or roll, but deflections are too big, two or three times bigger than in Manual mode ? If servos try to overturn, it's possible the orientation of APM is wrong or channels are mismatched...

  • Found 2 issue reports on the same topic. One and Two.

  • Ok, decreased P values for Servo and Nav parameters gradually - nothing changed. Then I've put 0.050 value in all of them - still no results. And  - yes I didn't forget to hit 'Write Params' button. Any ideas?

This reply was deleted.