MultiWii Changelog

What's new in MultiWii 2.4

Nov 3, 2015
  • GPS:
  • The main change in this version is for sure the code brought by EOSBandi regarding navigation (supported long time as a standolone MultiWii 2.3navi B7) .
  • Thanks to this major contribution, MultiWii can now navigate trought multiple WPs in an autonomous way.
  • The documentation about all define option can be found in this post: http://www.multiwii.com/forum/viewtopic.php?viewtopic.php?f=8&t=3989
  • For the moment, only some GUIs can support this code to program a mission:
  • WinGui from EOSBandi (http://eosbandi.com/downloads )
  • EZ-GUI from Ezio (in google play apps https://play.google.com/store/apps/details?id=com.ezio.multiwii)
  • mwp mission planner from stronnag (https://github.com/stronnag/mwptools)
  • tmp note for WinGui:
  • in order to work with current dev WinGUI, the version number should be switched back to 230.
  • otherwise an error message will occur.
  • in MultiWii.h , line: #define VERSION 230
  • will be soon supported with a new WinGui release
  • No support in java GUI MultiWiiConf.
  • Do not forget to activate #define USE_MSP_WP to be able to use waypoints.
  • The overall code without GPS is much shorter. However due to the change on GPS code, it is no more compatible with a 32u4 proc.
  • The GPS code without nav might still work on 328p proc.
  • A mega proc is mandatory to benefit from all the GPS functionalities.
  • Internal code modification:
  • dissociate frame parsing & frame computation
  • I2C GPS is no more used as an extension with nav computation. It is now supported as a simple GPS device, and all computations stay in the FC, exactly like Serial GPS device.
  • GPS Serial frame parsing is now part of generic Serial decoding code
  • UBLOX GPS frame parsing improvement
  • IMU computation:
  • mostly optimization on computation time not visible for end users: less float and more 16bit integer where it's possible / some specific avr asm multiplication.
  • better accuracy InvSqrt
  • heading is computed even with no mag
  • hungry tasks has been reduced or divided in order to minimize the jitter of loop time.
  • With this improvement, a constant loop time is set a little bit higher than the average and default to 2.8ms.
  • ACC:
  • Nunchuk is no more suported
  • Baro MS561101:
  • a little bit paradoxal regarding other portion of code approach in multiwii, but float computation tooked from APM appears to be shorter and faster with a minimal approximation.
  • computation time smoothed thanks to a task split
  • #define ALTITUDE_RESET_ON_ARM option is added
  • note the baro is still always reset when doing a gyro calibration
  • I2C:
  • no more speed change on the fly: all sensors are default to 400kHz.
  • The only exception is when a legacy WMP is still used with a 100kHz speed. So no need to bother any longer about this speed if you don't own a genuine WMP.
  • In case of I2C errors at the init stage, initialization occurs up to 5 times. This should prevent some remaining I2C errors.
  • Brushed motor option:
  • brushed motors option on 32u4 proc at 8/16/32 kHz
  • brushed motors option on 328p proc at 1/4/32 kHz
  • http://www.multiwii.com/forum/viewtopic.php?viewtopic.php?f=8&t=3635&p=36883#p36877
  • RX receiver:
  • SUMD RX type introduction
  • SBUS improvement / SBUS signal scaling to match other receiver range
  • code factorization for all Serial type RX (Spektrum/SUMD/SBUS)
  • adjustable averaging sample (AVERAGING_ARRAY_LENGTH) for non Serial RX. For Serial RX, the averaging code is removed because the signal is already natively digital.
  • Serial RX should now be usable with no glitch during LCD conf
  • RSSI injection on a rc channel
  • MSP:
  • new MSP message for ACC TRIM (not used in java MultiWiiConf)
  • new MSP message for cells voltage
  • new MSP messages for GPS navigation
  • remove MSP ack for MSP_SET_RAW_RC, and only for this message
  • Sonar:
  • fix Devantech SRFxx code that was broken some time ago. But still no code integrated for alt lock using sonar.
  • Heli:
  • experimental : heli yaw precomp dependant on collective pitch
  • experimental : better tail lock tacking intoo account collective pitch
  • Voltage:
  • compute watts
  • experimental : individual cells voltage monitoring (alarm portion undone yet)
  • LCD:
  • LCD.lcd03 over serial support added
  • reference version to compile sketch:
  • MultiWii sketch: windows version of Arduino IDE 1.6.1
  • MultiWiiConf: processing 1.5.1 with modified verison of ControlP5 to remove blue triangles in value box

New in MultiWii 2.3 (Nov 11, 2013)

  • Control mode:
  • main PITCH/ROLL/YAW PID modification (r1474):
  • the sticks scaling is no more affected by PID coefficients
  • yaw rate (to the right of the PIDs in GUI) now works as stick scaling
  • default yaw rate is increased (with yaw rate at 0)
  • yaw PID principle is now different from PITCH&ROLL PID:
  • yaw ITerm windup is very high, allowing an 'elastic' direction return after a manual perturbation
  • yaw ITerm is also constrained with a windup independent limit
  • yaw PTerm is constrained in order to counter the yaw jump effect.
  • use yaw DTerm to increase this constrain (r1573)
  • yaw ITerm is canceled if the yaw stick is not centered
  • Throttle angle correction (r1374)
  • Advanced Headfree mode added (see config.h for instructions) (r1374)
  • DYNBALANCE option, individual motor can be controled via GUI, to test individual vibration http://www.multiwii.com/forum/viewtopic.php?f=7&t=3294
  • better gyro & acc calibration accuracy (r1546) http://www.multiwii.com/forum/viewtopic.php?f=7&t=3880
  • cannot arm is baro mode is on (r1550) http://www.multiwii.com/forum/viewtopic.php?f=8&t=3910
  • baro mode should be activated only when the multi is nearly Z stable
  • only one baro mode : vario around a throttle deadband (r1554)
  • magHold is reset when arm is switched on (r1553) http://www.multiwii.com/forum/viewtopic.php?f=8&t=3910
  • ONLYARMWHENFLAT option (r1587) http://www.multiwii.com/forum/viewtopic.php?f=8&t=4077&hilit=coming&start=40#p41755
  • receiver & UART:
  • RCSERIAL is now deeply integrated. If a MSP_SET_RAW_RC comes, it will just override legacy RX data. (r1420) as a consequence, RCSERIAL is no more an option
  • no RC averaging for Spektrum & SBUS (r1545)
  • SBUS center define (r1568) http://www.multiwii.com/forum/viewtopic.php?f=8&t=3957
  • FAILSAFE_DETECT_TRESHOLD configurable
  • GPS:
  • Enables sonar altitude from i2c-gps-nav board (1424)
  • navigation code will follow after 2.3
  • GUI:
  • Gui with Servosettings. (r1441 & r1450) All models with servo included.
  • GUI globalsettings (for some settings previously only in config.h)
  • do not display /dev/cu.* devices but only corresponding /dev/tty.* (r1442)
  • GUI baudrate as configurable setting
  • LCD:
  • lcd.telemtry: show max ground speed from gps data (r1398)
  • lcd.telemetry: allow separate suppression of aux2 configuration (r1456)
  • new display support 1.3" i2c OLED from digole.com (r1413)
  • config.menu: when abort, revert all values back to last saved state
  • visual feedback from servos during midpoint trim via LCD
  • IMU and baro:
  • correct GYRO_SCALE for all gyro (r1428)
  • no more small angles while shaking the board (r1579) http://www.multiwii.com/forum/viewtopic.php?f=8&t=4112
  • baro Alt based on ground temp compensation (r1570) http://www.multiwii.com/forum/viewtopic.php?f=8&t=4059
  • not I reset for FIWEDWING (r1590) http://www.multiwii.com/forum/viewtopic.php?f=7&t=2456&start=330#p42355
  • add 6DOF LSM330 sensor (r1571)
  • add ACC BMA280 sensor (r1600)
  • SERVO management:
  • warning:
  • The pins for coptertypes with servos have been changed.
  • Attaching a servo to a motor pin can quickly destroy your servo.
  • All connection diagrams out there from v2.2 or older are no longer valid for v2.3 with servos using hardware PWM. http://www.multiwii.com/wiki/index.php?title=Config.h#Servos_configuration
  • add 8 hardware PWM's for servos on MEGA boards. Servo outputs are 44,45,46,11,12,6,7,8 (r1384)
  • Allow any servo refresh rate from 20 to 400Hz on Mega hardware PWM servos. (r1386)
  • Tri servo moved to SERVO4 (pin11) on mega boards with HW PWM's. (r1392)
  • a32u4 (nanoWii, MicroWii etc) HW PWM for 4 servos; warning different pins (with lots of info and help from ronco) (r1464 & r1470)
  • add a generic way to configure servo settings : conf struct + MSP read/set messages (r1383)
  • Added general servo handler (r1421 & r1429) http://www.multiwii.com/forum/viewtopic.php?f=8&t=3498
  • allow preset of some servo stuff from config.h (r1432)
  • Gui with Servosettings. (r1441)
  • add gimbal servo stretcher usable with HW PWM's. (r1384) We can get 180 degrees servo move without servo modification.
  • note about gimbal: settings for neutral&endpoints are no more in config.h, but only in GUI
  • do not update servos during unarmed calibration of sensors which are sensitive to vibration (r1408)
  • internal improvements:
  • migration to a cpp/h code structure (r1515 & r1516) http://www.multiwii.com/forum/viewtopic.php?f=8&t=3773 http://www.multiwii.com/forum/viewtopic.php?f=8&t=2931
  • huge flash size optimization (around 1k) thanks to fine struct definitions + serialization over MSP (r1369)
  • make powermeter computation time based (again) to reduce config hassle and increase accuracy (r1375)
  • read at most one analog channel per MWii main loop cycle (r1375)
  • smoothing of RX_RSSI (r1379)
  • make faster analog reads an option with default off to increase accuracy (r1375)
  • detangle vbat & buzzer dependancy (r1375)
  • optimization : small approximation bit shift used instead of * or / number for TPA, rates, dynP, dynD and expo curb (r1376)
  • Added checking for flash content change, and reload config parameters in this case. (r1389)
  • split Serial into Serial(core UART management) & Protocol (r1548)
  • loop is globally faster
  • add-ons:
  • option to suppress defaults in mwc sketch and load via gui from file instead (r1365)
  • add OVERRIDE_PSENSORPIN option (r1375)
  • manual for using Multiwii in Eclipse environment http://www.multiwii.com/wiki/index.php?title=Developing_in_Eclipse
  • add amperage to MSP_ANALOG (r1542)
  • MY_PRIVATE_DEFAULTS (r1559) http://www.multiwii.com/forum/viewtopic.php?f=8&t=3987
  • no more than one MSP per port and per cycle should smooth the delay while requesting MSP, especially for USB port on micro

New in MultiWii R 1356 Dev (Mar 2, 2013)

  • 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 in MultiWii R 1349 Dev (Feb 22, 2013)

  • baro Alt from mahowik
  • baro calibration and some baro mods from Sebbi
  • new task scheduler for a better computation time repartition
  • better Ublox code detection
  • HORIZON mode (mix between ACRO & ANGLE)
  • ANGLE mode is the old LEVEL mode
  • every UART for everything on MEGA
  • cool GUI enhancement from magnetron
  • spektrum bind button for spektrum receiver (Danal)
  • telemetry cosmetic
  • bug correction for servos on MEGA
  • failsafe is more robust
  • variometer from Hamburger
  • mag gain calibration improvement for HMC5883L from EOSBandi
  • GPS MKT binary parser from EOSBandi
  • GPS forward predictive filter from EOSBandi
  • follow me option works now in GPS HOME&HOLD mode via a ezio app
  • RSSI added
  • reconnect button in gui (uart speed can be changed in the file .txt)
  • IMU optimization

New in MultiWii R 1317 Dev (Jan 22, 2013)

  • baro Alt from mahowik
  • baro calibration and some baro mods from Sebbi
  • new task scheduler for a better computation time repartition
  • better Ublox code detection
  • HORIZON mode (mix between ACRO & ANGLE)
  • ANGLE mode is the old LEVEL mode
  • every UART for everything on MEGA
  • cool GUI enhancement from magnetron
  • spektrum bind button for spektrum receiver (Danal)
  • telemetry cosmetic
  • bug correction for servos on MEGA
  • failsafe is more robust
  • variometer from Hamburger
  • mag gain calibration improvement for HMC5883L from EOSBandi
  • GPS MKT binary parser from EOSBandi
  • GPS forward predictive filter from EOSBandi
  • follow me option should now work in GPS HOME mode via a ezio app

New in MultiWii R 1315 Dev (Jan 16, 2013)

  • baro Alt from mahowik
  • baro calibration and some baro mods from Sebbi
  • new task scheduler for a better computation time repartition
  • better Ublox code detection
  • HORIZON mode (mix between ACRO & ANGLE)
  • ANGLE mode is the old LEVEL mode
  • every UART for everything on MEGA
  • cool GUI enhancement from magnetron
  • spektrum bind button for spektrum receiver (Danal)
  • telemetry cosmetic
  • bug correction for servos on MEGA
  • failsafe is more robust
  • variometer from Hamburger
  • mag gain calibration improvement for HMC5883L from EOSBandi
  • GPS MKT binary parser from EOSBandi
  • GPS forward predictive filter from EOSBandi
  • follow me option should now work in GPS HOME mode via a ezio app

New in MultiWii R 1311 Dev (Jan 14, 2013)

  • baro Alt from mahowik (new functions to come, noted)
  • baro calibration and some baro mods from Sebbi
  • new task scheduler for a better computation time repartition
  • better Ublox code detection
  • HORIZON mode (mix between ACRO & ANGLE)
  • ANGLE mode is the old LEVEL mode
  • every UART for everything on MEGA
  • cool GUI enhancement from magnetron
  • spektrum bind button for spektrum receiver (Danal)
  • telemetry cosmetic
  • bug correction for servos on MEGA
  • failsafe is more robust
  • variometer
  • mag gain calibration improvement for HMC5883L
  • GPS MKT binary parser
  • GPS forward predictive filter

New in MultiWii R 1240 Dev (Nov 6, 2012)

  • baro Alt from mahowik (new functions to come, noted)
  • baro calibration and some baro mods from Sebbi
  • new task scheduler for a better computation time repartition
  • better Ublox code detection
  • HORIZON mode (mix between ACRO & ANGLE)
  • ANGLE mode is the old LEVEL mode
  • every UART for everything on MEGA
  • cool GUI enhancement from magnetron
  • spektrum bind button for spektrum receiver (Danal)
  • telemetry cosmetic
  • bug correction for servos on MEGA
  • failsafe is more robust

New in MultiWii R 1143 Dev (Sep 29, 2012)

  • baro Alt from mahowik
  • better Ublox code detection
  • HORIZON mode (mix between ACRO & ANGLE)
  • ANGLE mode is the old LEVEL mode
  • every UART for everything on MEGA
  • cool GUI enhancement from magnetron
  • spektrum bind button for spektrum receiver (Danal)
  • telemetry cosmetic
  • bug correction for servos on MEGA
  • failsafe is more robust

New in MultiWii 2.1 (Jul 16, 2012)

  • WMP and NUNCHUCK are no longer auto recognized.
  • You must explicitly declare them (or just WMP) in config.h
  • Pullups are now undefined by default
  • (think about activating it if you use a WMP only conf)
  • LCD is not activated by default
  • Failsafe is not activated by default
  • VBAT monitoring is not activted by default
  • There is no more .pde files
  • You must use Arduino 1.0 or greater to compile the sketch (and open Multiwii.ino)
  • If the GUI does not work on your setup,
  • try to deactivate hardware acceleration for your display board
  • or use an alternative GUI like WinGUI
  • MultiWii is not a product, nor a plug and play solution.
  • Don't expect to buy a compatible board and run it without a minimum knowledge.
  • Receiver part
  • OpenLRS Multi board support done
  • This is a board including an OpenLRS receiver where the atmel
  • is used also to run multiwii code.
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1438
  • Multiwii Serial Protocol
  • It's a new protocol to communicate with the FC
  • It was introduced by me and tuned by Tommie
  • It's a huge change, but it should ensure a generic way to communicate with the FC
  • which is less dependant to version evolutions.
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1516
  • Now, there is no mod to multiwii code if we want to add a GUI/OSD/conf tool/...
  • Compatible GUI:
  • open source code, compatible with the new serial protocol:
  • WinGUI from EOSBandi, which is fully equivalent with the original one,
  • with a better look
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1229
  • mwGui from kos
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1791
  • Android ones via serial bluetooth:
  • adding a bluetooth module to multiwii
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=6&t=133
  • compatible apps:
  • https://play.google.com/store/apps/details?id=net.xrotor.andmultiwiiconf
  • https://play.google.com/store/apps/details?id=net.loide.games.bicopter
  • https://play.google.com/store/apps/details?id=com.naze32.configurator
  • Compatible OSD:
  • open source code, compatible with the new serial protocol
  • Rushduino:
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=922
  • mobiDrone:
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1498
  • LCD config
  • OLED display
  • thanks to contributions of howardhb and Hamburger
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=7&t=1350
  • VT100 terminal type addition
  • thanks to contribution of Hamburger
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=7&t=1096
  • A multiline option is added to allow the configuration on more than 2 lines
  • useful for displays like OLED or VT100
  • We have now a lot of possibilities regarding LCD:
  • SERIAL3W : original 2x16 line from Sparkfun
  • TEXTSTAR : Cat's Whisker LCD_TEXTSTAR Module CW-LCD-02
  • VT100 : vt100 compatible terminal
  • ETPP : Eagle Tree Power Panel LCD
  • LCD03 : an i2c LCD
  • OLED_I2C_128x64
  • New proc: ATmega32U4
  • Thanks to the work from ronco.
  • This proc can be found in the Arduino pro micro board, or Teensy 2.0
  • The Pro Micro is similar in size to the Pro Mini except it has a ATmega32U4 on board.
  • The USB transceiver inside the 32U4 allows us to add USB connectivity on-board.
  • ronco also designed a custom board named nanowii.
  • One of the smallest 6DOF Multiwii board with usb, which can be now purchased.
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=6&t=1337
  • Servo:
  • Higher refresh rate:
  • Some servo (mostly digital ones) can work with a higher frequency than 50Hz.
  • The benefit to use a higher refresh rate is a sharper response.
  • ronco adapted the code to make this frequency configurable
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1644
  • Hardware PWM output:
  • On MEGA boards, it's now possible to drive the gimbal servos with
  • a 11-bit PWM servo resolution. Thanks to ronco.
  • The hardware PWM output ensures a jitter free response.
  • LED flasher
  • A way to set a flash LED sequence from Tommie
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1505
  • Throttle expo
  • There is now another curve in the GUI to configure the Throttle expo.
  • It's a way to smooth the throttle stick response around the hover point.
  • In order to help the setting, there is a small cursor in the graph to show
  • where is the current throttle input.
  • ACC LEVEL improvement
  • The LEVE mode is improved since 2.0 thanks to new choice of
  • other complementary filter coefficients and a floating point low pass filter
  • Headfree checkbox:
  • It's possible to reset the headfree direction while flying via a checkbox.
  • thanks to Tommie
  • Sensor:
  • MPU6050: there was a bug which prevents using the gyro LPF. correted now.
  • SONAR: I2C sonar SRF0x code was added but is not currently used.
  • HMC5883 axis calibration factor was added
  • NUNCHUK is fusioned with ACC in GUI
  • many new boards was also added in config.h file
  • Internal code:
  • the Serial part uses now less RAM (thanks to Tommie first mod)
  • RX/TX buffers are smaller than before.
  • EEPROM parameters are stored in a struct, and are written in the
  • EEPROM in a single step.
  • MAG declination was added by EOSBandi, to have more accurate orientation.
  • In some countries, it's really mandatory to set this variable right,
  • otherwise it's impossible to use GPS.
  • Flag var was introduced for global boolean type variables.
  • Hamburger introduced some "copter exemple" in order to check
  • if compilation is ok. (should be a way to remove some trivial bugs)
  • code style (indentation, variable naming convention etc.) started
  • GUI requires new ControlP5 library to compile
  • interval variable activate[] is now 16 bit long
  • new config.h structure
  • GUI:
  • thanks to Danal, there is now the PIN number and the propeller direction
  • drawed in the graph representation
  • thanks to kos, we can now load and save parameters into a file
  • there is now a reset button to set all parameters to default
  • there is now a GUI visual feedback on all states (checkbox items)
  • GPS code:
  • Thanks to the work of EOSBandi, we have now a working GPS code !
  • The navigational routines are based on the works of Jason Short
  • and the Arducopter team (another great open source project).
  • EOSBandi adapted it to multiwii.
  • basically, there are 2 main options for GPS: SERIAL option and I2C option.
  • If you have a spare serial port AND an AtMega1280 or 2560 microcontroller
  • based FC, you can connect your GPS to that port and enable the serial GPS
  • code in the code.
  • Patrick introduced a way to switch automaticly between GUI message parsing
  • or NMEA message parsing on the same Serial port
  • (useful for promini because you can use the same port for GUI and GPS
  • in an exclusive mode)
  • You can use an I2C_GPS board, which contains a secondary AtMega328 processor
  • with a serial GPS and runs the GPS parsing and navigational computations.
  • This board communicates with the FC via the I2C bus.
  • more info here: http://code.google.com/p/i2c-gps-nav/downloads/list
  • and here in this huge post: http://www.multiwii.com/forum/viewtopic.php?f=8&t=649
  • There is also a specific GPS_FROM_OSD option:
  • it's a way to use the GPS device of OSD to feed Multiwii with GPS data
  • MIS OSD uses this functionality
  • ESC calibration
  • experimental
  • It's a special #define which allows to calibrate all ESCs with exaclty
  • the same signal.
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=13&t=1517
  • Telemetry
  • new telemetry manual stepping mode
  • Arming option
  • configurable TX stick combos for arm/disarm
  • this way, it's possible to arm/disarm the multi via:
  • one AUX switch like before
  • YAW stick and/or ROLL stick
  • AIRPLANE mode
  • experimental, more info here:
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=364
  • https://code.google.com/p/multiwii/wiki/MWiiAirplane
  • HELICOPTER mode
  • experimental
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1562
  • Dual & Single copter
  • experimental
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1882
  • VTAIL mode
  • motor rotation has changed:
  • Front Left & Rear Right: CCW, Front Right & Rear Left: CW , YAW_DIRECTION=1
  • An attempt to improve the documentation via wiki
  • wiki from googlecode:
  • https://code.google.com/p/multiwii/w/list
  • wiki from multiwii.com
  • http://www.multiwii.com/wiki/index.php?title=Main_Page
  • We all know the overall documentation is still to improve

New in MultiWii 2.1 RC 976 (Jul 11, 2012)

  • WMP and NUNCHUCK are no longer auto recognized.
  • You must explicitly declare them (or just WMP) in config.h
  • Pullups are now undefined by default (think about activating it if you use a WMP only conf)
  • LCD is not activated by default
  • Failsafe is not activated by default
  • There is no more .pde files
  • You must use Arduino 1.0 or greater to compile the sketch (and open Multiwii.ino)
  • If the GUI does not work on your setup,try to deactivate hardware acceleration for your display board or use an alternative GUI like WinGUI
  • MultiWii is not a product, nor a plug and play solution.
  • Don't expect to buy a compatible board and run it without a minimum knowledge.
  • Receiver part:
  • OpenLRS Multi board support done
  • This is a board including an OpenLRS receiver where the atmel
  • is used also to run multiwii code.
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1438
  • Multiwii Serial Protocol:
  • It's a new protocol to communicate with the FC
  • It was introduced by me and tuned by Tommie
  • It's a huge change, but it should ensure a generic way to communicate with the FC,
  • which is less dependant to version evolutions.
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1516
  • Now, there is no mod to the multiwii if we want to add a GUI/OSD/conf tool/...
  • Compatible GUI:
  • open source code, compatible with the new serial protocol
  • WinGUI from EOSBandi, which is fully equivalent with the original one, with a better look
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1229
  • mwGui from kos
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1791
  • Android ones via serial bluetooth:
  • - adding a bluetooth module to multiwii
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=6&t=133
  • compatible apps:
  • https://play.google.com/store/apps/details?id=net.xrotor.andmultiwiiconf
  • https://play.google.com/store/apps/details?id=net.loide.games.bicopter
  • https://play.google.com/store/apps/details?id=com.naze32.configurator
  • Compatible OSD:
  • open source code, compatible with the new serial protocol
  • Rushduino:
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=922
  • mobiDrone:
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1498
  • LCD config: OLED display:
  • thanks to contributions of howardhb and Hamburger
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=7&t=1350
  • VT100 terminal type addition:
  • thanks to contribution of Hamburger
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=7&t=1096
  • A multiline option is added to allow the configuration on more than 2 lines
  • useful for displays like OLED or VT100
  • We have now a lot of possibilities regarding LCD:
  • SERIAL3W : original 2x16 line from Sparkfun
  • TEXTSTAR : Cat's Whisker LCD_TEXTSTAR Module CW-LCD-02
  • VT100 : vt100 compatible terminal
  • ETPP : Eagle Tree Power Panel LCD
  • LCD03 : an i2c LCD
  • OLED_I2C_128x64
  • New proc: ATmega32U4:
  • Thanks to the work from ronco.
  • This proc can be found in the Arduino pro micro board, or Teensy 2.0
  • The Pro Micro is similar to the Pro Mini except with an ATmega32U4 on board.
  • The USB transceiver inside the 32U4 allows us to add USB connectivity on-board.
  • ronco also designed a custom board named nanowii.
  • One of the smallest 6DOF Multiwii board with usb, which can be now purchased.
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=6&t=1337
  • Servo:
  • Higher refresh rate:
  • Some servo (mostly digital ones) can work with a higher frequency than 50Hz.
  • The consequence is a sharper response.
  • ronco adapted the code to make this frequency configurable
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1644
  • Hardware PWM output:
  • On MEGA boards, it's now possible to drive the gimbal servos with
  • a 11-bit PWM servo resolution. Thanks to ronco.
  • The hardware PWM output ensures a jitter free response.
  • LED flasher:
  • A way to set a flash LED sequence from Tommie
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1505
  • Throttle expo:
  • There is now another curve in the GUI to configure the Throttle expo.
  • It's a way to smooth the throttle stick response around the hover point.
  • In order to help the setting, there is a small cursor in the graph to show
  • where is the current throttle input.
  • ACC LEVEL improvement:
  • The LEVE mode is improved since 2.0 thanks to new choice of
  • new complementary filter coefficients and a floating point low pass filter
  • Headfree checkbox:
  • It's possible to reset the headfree direction while flying via a checkbox.
  • thanks to Tommie
  • Sensor:
  • MPU6050: there was a bug which prevents using the gyro LPF. correted now.
  • SONAR: I2C sonar SRF0x code was added but is not currently used.
  • many new boards was also added in config.h file
  • Internal code:
  • - the Serial part uses now less RAM (thanks to Tommie first mod)
  • RX/TX buffers are smaller than before.
  • - EEPROM parameters are stored in a struct, and are written in the
  • EEPROM in a single step.
  • - MAG declination was added by EOSBandi, to have more accurate orientation.
  • In some countries, it's really mandatory to set this variable right,
  • otherwise it's impossible to use GPS.
  • - Flag var was introduced for global boolean type variables.
  • - Hamburger introduced some "copter exemple" in order to check
  • if compilation is ok. (should be a way to remove some trivial bugs)
  • - code style (indentation, variable naming convention etc.) started
  • - GUI requires new ControlP5 library to compile
  • - new config.h structure
  • GUI:
  • - thanks to Danal, there is now the PIN number and the propeller direction
  • drawed in the graph representation
  • - thanks to kos, we can now load and save parameters into a file
  • - there is now a reset button to set all parameters to default
  • - there is now a GUI visual feedback on all states (checkbox items)
  • GPS code:
  • Thanks to the work of EOSBandi, we have now a working GPS code !
  • The navigational routines are based on the works of Jason Short
  • and the Arducopter team (another great open source project).
  • EOSBandi adapted it to multiwii.
  • basically, there are 2 main options for GPS: SERIAL option and I2C option.
  • - If you have a spare serial port AND an AtMega1280 or 2560 microcontroller
  • based FC, you can connect your GPS to that port and enable the serial GPS
  • code in the code.
  • Patrick introduced a way to switch automaticly because GUI message parsing
  • or NMEA message parsing on the same Serial port
  • (useful for promini because you can use the same port for GUI and GPS
  • in an exclusive mode)
  • - You can use an I2C_GPS board, which contains a secondary AtMega328 processor
  • with a serial GPS and runs the GPS parsing and navigational computations.
  • This board communicates with the FC via the I2C bus.
  • more info here: http://code.google.com/p/i2c-gps-nav/downloads/list
  • and here in this huge post: http://www.multiwii.com/forum/viewtopic.php?f=8&t=649
  • There is also a specific GPS_FROM_OSD option:
  • it's a way to use the GPS device of OSD to feed Multiwii with GPS data
  • MIS OSD uses this functionality
  • ESC calibration:
  • experimental
  • It's a special #define which allows to calibrate all ESCs with exaclty
  • the same signal.
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=13&t=1517
  • Telemetry:
  • new telemetry manual stepping mode
  • Arming option:
  • configurable TX stick combos for arm/disarm
  • this way, it's possible to arm/disarm the multi via:
  • - one AUX switch like before
  • - YAW stick and/or ROLL stick
  • AIRPLANE mode
  • experimental, more info here:
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=364
  • https://code.google.com/p/multiwii/wiki/MWiiAirplane
  • HELICOPTER mode:
  • experimental
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1562
  • Dual & Single copter:
  • experimental
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=8&t=1882
  • An attempt to improve the documentation via wiki:
  • wiki from googlecode:
  • https://code.google.com/p/multiwii/w/list
  • wiki from multiwii.com
  • http://www.multiwii.com/wiki/index.php?title=Main_Page
  • We all know the overall documentation is still to improve.

New in MultiWii 2.1 RC 964 (Jul 7, 2012)

  • WMP and NUNCHUCK are no longer auto recognized.
  • You must explicitly declare them (or just WMP) in config.h
  • Pullups are now undefined by default(think about activating it if you use a WMP only conf)
  • LCD is not activated by default
  • Failsafe is not activated by default
  • There is no more .pde files
  • You must use Arduino 1.0 or greater to compile the sketch (and open Multiwii.ino)

New in MultiWii 2.1 RC 949 (Jul 2, 2012)

  • The exhaustive changes between 2.0 and this one will be updated in the forum.
  • This version is released in order to highlight every remaining bugs.

New in MultiWii 20120606 Dev (Jun 6, 2012)

  • GPS I2C bug correction (was not detectable in the previous dev)
  • slave MAG I2C address bug correction
  • Tommie addon (LED & Tinny GPS)
  • Added missing mag decliniation calc to heading calc in imu.ino
  • Some corrections to nanowii defines & atmega32u4's with all pins

New in MultiWii 20120528 Dev (May 29, 2012)

  • The GUI is smoother.
  • EOSBandi GPS work based on AC GPS code.

New in MultiWii 20120430 Dev (Apr 30, 2012)

  • Added throttle expo function.
  • Correction of MPU6050 LPF bug setting.