MultiWii 2.2 ab sofort verfügbar

Das aller beste an einem OpenSource-Entwicklungsprojekt ist, dass es immer Leute gibt, die das ganze zum Wohle der gesamten Community weiter voran treiben. MultiWii ist ein Paradebeispiel dafür. Sei wenigen Stunden steht nun die finale Version von MultiWii 2.2 zum Download bereit.

Wie bei jedem großen Release (2.X) ist das Change-Log, welches ich unten für euch angehängt habe, wieder relativ lang. Welche Neuerungen besonders interessant sind muss dabei wohl jeder Anwender selber fü sich entscheiden, da es ganz auf den Anwendungszweck ankommt. Den Download habe ich euch ganz unten auf der Seite verlinkt.

Für mich hören sich folgende Dinge sehr, sehr gut an:

  1. introduction of HORIZON MODE: Es wurde ein neuer Steuerungsmodus eingeführt, der den Acro-Mode (also nur Gyro) und den Level-Mode (mit aktiviertem ACC) vermischt. Bei niedrigem Knüppelausschalg verhält sich der Multicopter wie im Level-Mode, bei starkem Ausschlag wird auf Acro-Mode gewechselt und es sind auch Kunststücke möglich. Dazwischen werden die Einstellungen, je nach Steuereingabe gemischt.
  2. failsafe code is more strict: Statt nur einem werden nun alle Kanäle auf Funkabbrüche gescannt, zudem aktiviert ein Kanalwert von 995 (die normale Spannweite ist 1000-2000) nun bereits den Failsafe-Modus. Kann man natürlich anpassen.
  3. HEXH6 multicopter type added (wohl ohne Kommentar verständlich)
  4. 5 hardware PWM servos avaliable with Mega boards on pins 44,45,46,11,12: Endlich mehr Servoplätze mit echtem Hardware PWM für Gimbals und Co. auf meinem MEGA-Board im Flyduspider.
  5. faster cycle time than with v2.1: Mehr Geschwindigkeit ist immer gut.

Hier nun noch das komplette Change-Log von MultiWii 2.2:

main changes since the last release 2.1


Documentation for releases should be in the official wiki at

stable and development versions can be found here:
For development versions you are on your own - good luck.
Don't try any development version if you don't follow dev evolution.
Don't forget a multirotor is something that can be dangerous.

For discussion and questions the official forum is at

Evolution of the code can be followed here:

MultiWii is not a product, nor a plug and play solution.
It is basically an open source project.
Don't expect to buy a compatible board and run it without a minimum knowledge.

***Control mode***

- introduction of HORIZON MODE.
We have now 3 modes:

ACRO mode.
This is the default one when none of the ANGLE & HORIZON BOX is activated.
The copter will continue rotating in the direction in which you tilt sticks. When you let go of sticks it will maintain that angle and not return to level

ANGLE mode
The position of the stick indicates the angle at which the copter tries to maintain. Sticks off = level. Full sticks in any direction and it will tilt at around 50 degrees. It's proportional in-between.
It maintains the angle set by the stick. Let go of sticks and it returns to level

HORIZON mode <- new It's a proportional mix of the two. Sticks off = level. Full deflection = ACRO. In between it gradually mixes from LEVEL mode to ACRO. It's a fine mix to be able to do some ACRO with the safety of ANGLE mode when you release the sticks. It allows also a more natural way of flying as the multi seems less constrained. - failsafe code is more strict. (thanks to MIS) If activated, it takes into account all the main channels and it's important to stay strictly inside the [1000-2000] range. For instance a throttle of 995 will activate the failsafe failsafe is optional and can be activated via #define FAILSAFE - Acrotrainer mode introduced by PatrikE a kind of non proportional horizon mode more info here: - SERVO_TILT_MIX introduced by Bledi and Gary corrected after to support optionally up to 2 AUX channels superposition to control the gimbal - CAM STAB: (thanks to Gary and suggested or Arne) Ability to define Cam Stab control channels used Ability to turn off Fix for AUX3 + 4 affecting tilt/roll with camstab enabled ***add-ons*** - pilotlamp integration (thanks to mr.rc-cam, jevermeister, doughboy ) via #define PILOTLAMP - LEDRING pattern was refined thanks to shikra instructions here: - variometer introduced by Hamburger enable to get audio feedback upon rising/falling copter/plane via #define VARIOMETER ***receiver & UART*** - option to use throttle PIN as the PPM PIN on mega boards thanks to MIS this way you can use the UART 1 for other purpose via #define PPM_ON_THROTTLE - every UART port on MEGA boards can be used at the same time with different baud configuration. ie, you can connect up to 4 GUI or OSD or anything using MSP simultaneously - the second UART port on promicro boards can be used at the same time with different baud configuration. - spektrum (thanks to Danal) - spektrum satellite up to 12 channels, even if only 8 are usable in multiwii - spektrum satellite BIND button, to associate a satellite without the main receiver ***PIN mapping*** - possibility to override some PIN definition in config.h (thanks to Hamburger) ***GPS*** - UBLOX GPS: the baud configuration is autodetected and the UBLOX binary protocol is automaticly set (thanks to MIS & EOSBandi) - MKT GPS can now be parsed in binary mode is possible thanks to EOSBandi made for DIYDrones MTK firmware v1.6 and v1.9 - I2C GPS: correct directionToHome (change it to the opposite direction) there is still a problem remaining when your distance to home reaches 654m: it overflows. a I2C code evolution is needed to correct this problem - a forward predictive filter was ported from the Arducopter code by EOSBandi optional and by default activated: #define GPS_LEAD_FILTER - first implementation of MSP_SET_WP with the help of Ezio app (EZ-GUI), we can now control the multi with a smartphone: set a new position on a map / follow me / follow heading see Multiwii EZ-GUI specific topic: some video about this functionality: - AP_MODE introduced by PatrikE used in GPS POS HOLD mode, outside the specified stick range the POS HOLD position is renew ***multiwii models*** - HELICOPTER and PLANE models was refined thanks to PatrickE and Hamburger multiple helicopter type HELI_120_CCPM , HELI_90_DEG servo configuration for plane, FLAP, FLAPPERON - HEXH6 multicopter type added (thanks to shikra) - Bi-Copter pitch direction setting - USE_THROTTLESERVO (for airplanes), COLLECTIVE_RANGE changed (second value not offset anymore) ***GUI & OSD & LCD*** - a RECONNECT button was added by PatrickE a file is now generated to indicate the last COM&Serial speed. The serial speed can be edited in this file to change the UART speed of GUI. - New MultiWiiConf GUI v2.2 with graphical improvements (thanks to Magnetron and doughboy) cool things like virtual horizon - optional 3 independent configurations, stick selectable settings in EEPROM (thanks to MIS) can be activated via #define MULTIPLE_CONFIGURATION_PROFILES - a RESET button was added in the GUI if you encounter any EEPROM problem or if you want to restore the default values ***LCD*** - on mega boards, it's possible to define the LCD port for LCD supporting true UART. - more parameters are tunable via LCD conf, all the one in config.h with a small (*) besides, thanks to Hamburger those parameters will be moved in the GUI later in another step, once we find the good way to do it. example: failsave.throttle , vbat tunable params , powermeter tunable params - many telemetry and LCD config enhancements (thanks to hamburger) telemetry page 3: use long boxnames telemetry page 2: show numerical values for sensor data next to bar graphs no user interaction necessary to run telemetry info upon start up set individual board name string (currently used for display; no GUI representation yet) - LCDconfig menu: with THROTTLE=High, increment is 10 times of normal - servos are moved to neutral position during calibration and lcd.configuration ***OSD*** - RSSI PIN added for OSD use (thanks to Kataventos) the RSSI output can be retrieved via a MSP message for OSD - OSD BOX added for OSD activation (thanks to Itai) - huge work made on an open source code OSD fully compatible with MultiWii (thanks to the team lead by Kataventos) ***IMU and baro*** - gyro calibration could be held until the MWC stops moving introduced by MIS, and made optional after via a specific define: #define GYROCALIBRATIONFAILSAFE - mag gain calibration is improved thanks to EOSBandi based on Fabio FreeIMU code. We won't forget you Fabio... - perfect euler angle computation in case of 9DOF (better heading) no more gimbal lock in GUI representation with a 9DOF sensor - force sensors orientation to override board specific defaults optional in config.h - default ACC LPF factor reduced from 16 (2^4), and is share with ACC LPF for alt hold - gyro/acc complementary filter value increased from 400 to 600 - gyro/mag complementary filter now set to 250 instead of 200 - gyro scale factor changed from 2380 to 2279 - accelerometer now used below 1.15G and above 0.85G instead of previous 1.4G/0.6G settings - option: SENSORS_TILT_45DEG_LEFT/RIGHT to change X/P configuration without changing board orientation - ALT HOLD is greatly improved thanks to the code of Mahowik, a little bit optimized since improved baro hold (PID) algorithm that includes the accelerometer z-axis its a real major improvement for multiwii - baro calibration and calculation is improved thanks to Sebbi baro indicates now altitude 0 when it is powered. This is the reference altitude. - calculation of barometric altitude changed to include temperature, faster update rate - new FC boards: SIRIUSGPS, SIRIUS_AIR, SIRIUS_AIR_GPS, MICROWII, GY_521, MultiWiiMega, DESQUARED6DOFV2GO, DESQUARED6DOFV4, LADYBIRD, MEGAWAP_V2_STD, MEGAWAP_V2_ADV, HK_MultiWii_SE_V2, HK_MultiWii_328P, RCNet_FC, FLYDU_ULTRA ***internal improvements*** - some default PID were changed for optimization speed in PID copmputation. The default PID should behave exactly as the previous ones. To restore your old PID settings, just a proportion is needed. - 5 hardware PWM servos avaliable with Mega boards on pins 44,45,46,11,12 (thanks to MIS) - EEPROM settings secured by checksum (thanks to MIS) - optional permanent logging to eeprom setting: LOG_PERMANENT - change LED blink frequency for acc-uncalibrated or tilt>25 from 50ms to 10ms

- rework of task scheduler code thanks to ideas from Sebbi
we have now a better computation time repartition

- optional fixate cycle time (by burning cpu time away)

- allow override of motor/servo mixing from config.h - no need to edit Output.ino

- faster cycle time than with v2.1

- many many hidden optimizations in the code

Quelle: change.txt, MultiWii 2.2 OpenSource Projekt

Ich werde in den nächsten Tagen hoffentlich die Zeit finden, das neue MultiWii 2.2 auf mindestens einem meiner Multicopter mal auszuprobieren. Obwohl ich eigentlich gerade an einem anderen Thema dran bin – Stichwort FPV, aber dazu bald mehr.

Hier gehts zum Download von MultiWii 2.2 in der Google Code Datenbank.

Nils Waldmann

Nils Waldmann

...Student des Wirtschaftsingeneurwesens und Qualitätsmanagements, leidenschaftlicher Modellbauer, Hobby-Fotograf, Motorsportfan und freier Redakteur bei dem Computer-Onlinemagazin

You may also like...

9 Responses

  1. Horst Weberpals sagt:

    Danke, Nils für die übersichtliche Zusammenfasung der Features der neuesten MultiWii V2.2
    Hab die Version sofort an meinem Quad-X ausprobiert, besonders wegen der besseren Höhenstabilisierung. Da hat sich ja anscheinend wirklich was getan.
    Ein Problem hab ich mit der GUI. Wenn ich über Aux3 oder Aux4 z.B. das GPS
    selektiere wird der ausgewählte Zustand nicht an der GUI angezeigt ;die Felder
    Home oder Position Hold werden nicht grün unterlegt, auch wenn der zugehörige Kanalwert (1000-1500-2000) sauber angezeigt wird. Hab zuerst vermutet dass die Anzeige vielleicht nur bei gültigem GPS-Signal kommt, aber auch z.B. Headadjust ist auf Aux3 oder Aux4 nicht aktivierbar, während es mit
    Aux1 und Aux2 geht. Ist das ein Bug im Code oder mach ich da was falsch?
    Beste Grüße

    • Hallo Horts!

      Gut, dass dir der Artikel geholfen hat. Ich bin immer noch nicht dazu gekommen, meine Copter zu updaten.
      Ich kenne die Problematik aber aus Version 2.1. Da ich ja nur mit 6 Kanälen fliege, habe ich nur Aux 1 und Aux 2. Bei mir hat die Software genau wie bei dir Aux 2 in den Knüppelstellungen erkannt, ich konnte aber die mit Aux 2 belegten Funktionen nicht aktivieren. Das Einzige was geholfen hat, war alle Einstellungen zurückzusetzen und mit Arduino den Code noch einmal neu aufzuspielen. Danach lief es bei mir damals. Scheint aber ein Bug zu sein, der nur unregelmäßig aufritt.

      Beste Grüße,

  2. Axel Ahnert sagt:

    habe mit großen Intresse Ihren Bericht gelesen und mir auch die Software 2.2 gezogen. Nun bin ich, in Punkto Copter, ein absoluter Anfänger.
    Besitze die DX 6i und als Bord habe ich das MultiWii Pro W/MTK.
    Nach vielem Lesen und Video anschauen ist es mir gelungen den Copter schon ein mal in die Luft zu bekommen. Da bei ist mir aufgefallen, das die Rudderbewegung nicht stimmt. Wenn ich den Stick nach rechts drücke fliegt der Copter nach links und wenn nach links fliegt er nach rechts. Sehr unangenehm.
    Jetzt habe ich in der DX 6i versucht den Kanal Rudd umzudrehen ,was der Sender auch anzeigt, aber es tut sich nichts am Copter. Es bleibt so wie es ist. Jetzt bin ich mit meinem Latein am Ende.
    Auch habe ich gedacht, das ich in der Software MultiWii Conf Änderungen vornehmen kann , ist aber bei mir nicht der Fall.Was mache ich verkehrt? Fragen über Fragen und ich hoffe jetzt, das Sie mir vielleicht darauf Antworten können.
    Habe schon in anderen Foren es versucht, aber es war nicht besonders hilfreich, da einfach zuviel mit Abkürzungen und engl. Fachbegriffe gesprochen wird. Dazu muß ich sagen das mein englisch sehr eingeschränkt ist und ich junge 70zig bin.
    Möchte noch sagen,das ich vor dem Copter nur Helis geflogen bin mit der Graupner MC 20.

    • Hallo Axel (ich hoffe das Du ist okay),

      um ehrlich zu sein, wüsste ich keine Einstellung in der MultiWii Software, die einen solchen Effekt hervorrufen könnte. Wenn dein Spektrum Empfänger ganz normal über vier Signalkabel mit deinem MultiWii Pro W/MTK Board verbunden ist, setzt der MultiWii Controller genau das um, was der Empfänger ihm mitteilt. Ich würde deshalb noch einmal die Einstellung deiner DX6i prüfen. Hier warst du auf jeden Fall auf dem richtigen Weg. Hast du bereits den Kopter einmal bei Seite gelassen und nur den Empfänger mit einem externen Akku-Pack und einem funktionierenden Servo betrieben, um zu checken, ob die Richtungsänderung in der DX6i auch einen Effekt hat? Hier würde ich beginnen. Da dein Kopter sonst fliegt, scheinen alle anderen Einstellungen auf der Seite von MultiWii zu stimmen.

      Bitte berichte, wie das kleine Experiment ausgeht. Danach versuchen wir, den Fehler weitereinzugrenzen. Wichtig wäre noch zu wissen: Hast Du mit MultiWii 2.2 begonnen, oder hattest du vorher eine funktionierende Konfiguration und erst nach dem Softwareupdate Probleme?


      • Axel Ahnert sagt:

        Hallo Nils,

        erst einmal vielen Dank für Deine Antwort undich bin Deinen Anweisungen gefolgt. Dabei habe ich festgestellt, das der Sender eine Macke hat. Ruderumstellung geht nicht. Er zeigt es zwar an ,macht es aber nicht.
        Nun habe ich ja noch eine Graupner MC 20 mit 7 Kanal Empfänger . Diese habe ich allso an das MultiWii Pro Bord angeschlossen und es läuft auch alles. Problem; der Ruderkanal liegt auf dem linkem Stick. Ich hätte ihn aber gerne auf dem rechtem Stick. Habe allso die Kabel umgesteckt am Bord und am Empfänger. Danach lief garnichts mehr.Totales Schweigen! Nun hege ich den Verdacht, das man an dem Bord nichts umstecken kann,da die Kanäle vorgegeben sind. Das heißt, das ich mich daran gewöhnen muß, das daß Ruder auf dem linken Stick liegt. Grausame Vorstellung !!!!!
        Ich benutze das MultiWii GUI 1.0.5. Habe mir aber auch die Version 2.2 herunter gezogen.
        Dort habe ich versucht die Werte darinn zuänder,was aber nicht ging. Warum weis ich nicht. Deshalb die MultiWii 1.0.5. Die Werte bei meinem Copter stimmen überhaupt nicht.
        Er steigt wunderbar nach oben ,haut dann aber immer nach rechts ab und dreht sich dabei um seine eigene Achse. Gut das ich einen kleinen Gartem habe, so das ich nicht immer „weiß Gott“ wo hin muss um den Copter aus zuprobieren.
        Allso, auf ein Neues !!!!!!!!!!!!!!!
        Grüsse aus Essen,

        • Axel Ahnert sagt:

          Hallo Nils,

          Hatte vergessen Dir mitzuteilen das ich den Copter ohne Sender aber mit Empfänger bei EBay gebraucht gekauft habe. Laut Vorbesitzer war er eingestellt und war 2X geflogen. Mit der Einstellung glaube ich dem Vorbesitzer nicht so wirklich ,denn ich habe daraun nichts verstellt.
          Dies wollte ich Dir nur kurz mitteilen.

        • Hallo Axel,
          ich gehe einmal davon aus, wir sprechen hier von der Graupner MC 20 mit 2,4 GHz, richtig? Zu erst einmal würde ich für den Kopter ein neues Fludmodellprofil im Sender anlegen. Damit sollten alle Kanaltrimmungen auf Null gestellt sein (Wichtige Ausgangsposition). Das mit den vertauschten Knüppel finde ich eigenartig. Entweder eine Fernsteuerung ist Mode 1 oder Mode 2 konfiguriert, das hat eigentlich wenig mit dem Empfänger/MultiWii zu tun. Mehr dazu hier. Ich bin darah gewöhnt das Ruder auf dem linken Stick zu haben, gemeinsam mit dem Gas. Rechts liegen Pitch und die Seitwertsneigung. Das ganze ist dann eine Mode 2 Konfiguration. Normalerweise ist die Konfig fest im Sender eingebait, bei der MC 20 kann man das aber vielleicht sogar ändern? Erstmal stellst du am besten die vorherigen Verbindungen zwischen Empfänger und MultiWii Board wieder her.

          Zu nächst einmal: Propeller ab!!! (markiere dir, welcher Prob wo gesessen hat). Ganz wictig, damit du dich nicht verletzt. Verbinde danach den AKKU mit dem Kopter und stelle sicher, dass die Verbindung zur MC 20 steht. Danach rufst du das MultiWii GUI auf (übrigens die MultiWii Version und die GUI Version stehen in keinem Zussamenhang von der Versionsnummer) und stellst eine Verbindung mit dem Board zum Computer her. Wenn du den Kopter nun scharf stellst und Gas gibst, solltest du oben in der linken Ecke vom Gui sehen, wie die Drehzahlen der einzelnen Motoren sind. Auch die Hebelausschläge werden dir darunter angezeigt. Du kannst den Kopter nun erst einmal wieder entschärfen, sodass die Motoren nicht mehr rotieren. Prüfe jetzt ganz genau, ob alle vier Kanäle in der Neutralstellung liegen (1500). Sollten Werte bei unberührten Knüppen davon abweichen, nutzt du die Trimfunktion deines Senders und stellst alle vier Kanäle so ein, dass sie bei 1500 landen (kleine Abweichungen von 1 oder 2 nach Bewegung des Knüppels und der Zurückführung in die Neutralstellung sind okay).

          Jetzt startets du die Motoren wieder und nimmst den Kopter vorsichtig hoch und schwenkst ihn in alle Richtungen. Im GUI sollte anhand der Motordrehzahlen deutlich werden, dass alle Motoren gleichmäßig angesteuert werden und versuchen den Einfluss den du auf den Kopter ausübest auszugleichen. Hierfür kann ein wenig mehr als Standgas nötig sein. War das erfolgreich, (siehe dazu auch noch einmal kannst du wieder alles zusammenbauen und einen Testflug unternehmen.

          Hoffe das hilft erst einmal weiter. Viel Erfolg!

  3. Axel Ahnert sagt:

    Hallo Nils,
    danke für Deine Antwort.
    Ich weiß,ich gehe Dir langsam aber sicher auf den Geist , aber Du bist der Einzige der nicht mit Fachbegriffe um sich schmeißt und einen das sehr gut erklären kann.
    Nun ist es mir gelungen den Copter lahm zulegen. Es geht nichts mehr. Habe die Einstellung aus einem Video übernommen und zu meinem großen Erstaunen lief……………….. nichts mehr. Meine verzweifelten Widerbelebungsversuche haben nichts gebracht. Er ist tot.
    In der MultiWii GUI zeigt er nur die Servowege an , ansonsten tut sich nicht. Habe auch schon den Resetknopf gedrückt ,in der Hoffnung das er in die Werkseinstellung geht aber wie es so aussieht macht er dies auch nicht. Die Lämpchen leuchten lustvoll vor sich hin aber wie gesagt, es tut sich nicht.
    Was nun ????????????

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

fünf × = 30

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>