MultiWiiConf Changelog

New in version 2.3

February 20th, 2015
  • 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
  • Advanced Headfree mode added (see config.h for instructions) (r1374)
  • DYNBALANCE option, individual motor can be controled via GUI, to test individual vibration
  • better gyro & acc calibration accuracy (r1546)
  • cannot arm is baro mode is on (r1550)
  • 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)
  • ONLYARMWHENFLAT option (r1587)
  • 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)
  • 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)
  • baro Alt based on ground temp compensation (r1570)
  • not I reset for FIWEDWING (r1590)
  • 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.
  • 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!!
  • add a generic way to configure servo settings : conf struct + MSP read/set messages (r1383)
  • Added general servo handler (r1421 & r1429)
  • 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)
  • huge flash size optimization (around 1k)
  • 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 or 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
  • add amperage to MSP_ANALOG (r1542)
  • MY_PRIVATE_DEFAULTS (r1559)
  • 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 version 2.2 (February 20th, 2015)

  • 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 25 from 50ms to 10ms
  • rework of task scheduler code
  • 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 experimental
  • faster cycle time than with v2.1
  • many many hidden optimizations in the code

New in version 2.1 (February 20th, 2015)

  • Some things everyone should be aware before upgrading to this version.
  • 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.
  • Multiwii Serial Protocol:
  • It's a new protocol to communicate with the FC
  • It's a huge change, but it should ensure a generic way to communicate with the FC which is less dependant to version evolutions.
  • 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
  • mwGui
  • Android ones via serial bluetooth:
  • adding a bluetooth module to multiwii
  • Compatible OSD:
  • open source code, compatible with the new serial protocol
  • Rushduino:
  • mobiDrone:
  • LCD config:
  • OLED display
  • VT100 terminal type addition
  • A multiline option is added to allow the configuration on more than 2 lines useful for displays like OLED or VT100
  • 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.
  • 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
  • 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:
  • the PIN number and the propeller direction drawed in the graph representation
  • 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:
  • 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.

New in version 2.0 (April 26th, 2012)

  • Board and sensors:
  • New sensor:
  • ACC MMA7544 Accelerometer.
  • MAG MAG3110
  • New boards:
  • CRIUS_SE
  • CRIUS_LIGHT
  • MONGOOSE
  • CHERRY6DOFv1_0
  • DROTEK_6DOF_MPU
  • A new processor
  • Coded by ronco based on ATMega 32U4, which can be seen
  • as an intermediate proc between 328 and 2560, allowing
  • many improvements over the 328 with nearly the same size.
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=1145
  • STM32 port
  • A nice initiative from dongs to port multiwii to a 32bit processor.
  • This code allows also to reuse some cheap FC boards and replace the
  • firmware by a multiwii one. (boards like FreeFlight FC that can be
  • found on goodluckbuy site, or specific boards designed by dongs like AfroFlight32)
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=1193
  • http://code.google.com/p/afrodevices/
  • Stable mode
  • BMA180 and BMA020 settings are now set to 8G.
  • The settings were formerly 2G. We noticed vibrations could cause ACC saturation
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=849
  • , causing a wrong ACC measurement, and causing a wrong PITCH/ROLL angle deduction.
  • This problem was probably the main cause of the “level drift” problem.
  • => level mode should be much better now with those sensors.
  • One consequence: TRUSTED ACC is now enabled by default and will probably
  • be removed in future versions.
  • The term D of the PID LEVEL settings is now used to limit the effect
  • of the level correction thanks to the suggestion of Shikra
  • (see http://www.multiwii.com/forum/viewtopic.php?f=7&t=905 ).
  • By default (D=100), the behaviour of the stable mode is unchanged.
  • With a lower D, effects are:
  • a smoothing level change
  • should prevent some wobbles of death
  • Altitude hold mode:
  • There was a lot of hit and miss about this functionality.
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=562
  • http://www.multiwii.com/forum/viewtopic.php?f=7&t=363
  • Things are not perfect, but thanks to Marcin we can see a huge
  • improvement and a working alt hold with default settings *on most setups*
  • There are still some oddities to solve.
  • ***Velocity PID is not currently used in the code***
  • GPS mode:
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=649
  • There are now 2 GPS devices supported:
  • Serial GPS
  • which should be connected on a free Serial port of the FC (MEGA boards needed)
  • Must be defined in config.h
  • #define GPS_SERIAL 2 < - a free serial port
  • #define GPS_BAUD 115200
  • GPS POSITION HOLD and GPS RETURN to HOME are both implemented with the Serial GPS option.
  • I2C Serial boards
  • EOSBandi did some code to add “a specific arduino + a Serial GPS” which
  • communicates with multiwii via I2C.
  • http://code.google.com/p/i2c-gps-nav/
  • Must be defined in config.h
  • #define I2C_GPS
  • Position of the Home is defined once the GPS receives at least 4 satellites.
  • Then there are 2 GPS mode:
  • ReturnToHome: when activated, the multi will go back to the GPS Home GPS coordinates.
  • PositionHold: when activated, the multi will stay at its position.
  • The GPS mode needs:
  • a very well calibrated MAG which is not disturbed by running motors.
  • (no current of magnetic fields influence on the MAG, otherwise,
  • the GPS won’t work fine)
  • an ACC correctly tuned for level stabilization
  • The principle is very simple for the moment: multiwii tries to lean
  • the multi in the direction of the target point, with an angle which
  • is proportional to the distance.
  • A PID setting was added in the GUI:
  • P = angle inclination proportional to target distance
  • with P=5.0 in the GUI , 1 meter = 0.5deg inclination
  • I is currently not used
  • D = max angle inclination due to the GPS correction (15 is fine to begin)
  • Nice vids with first working GPS here:
  • EOSBandi: http://www.youtube.com/watch?v=pJJKG6uWqv4
  • nhadrian: http://www.youtube.com/watch?v=YcLJfC4h90M
  • More motors/more servos/better output accuracy:
  • Thanks to ronco, the output.pde part was nearly rewritten from scratch.
  • We have now new possible combinations that were impossible before.
  • Better efficiency for hardware pwm: digitalWrite arduino function was
  • removed in order to address directly the output ports.
  • One consequence: motor order is no more easily configurable.
  • On MEGA boards: the first 6 motors are now driven by timers configured
  • in a 16 bit mode.
  • The difference is noticeable in flight for a quad.
  • It's a really nice improvement for MEGA boards running a quad for instance.
  • Extended motor range option (for use with wii-ESC; resolution 250 steps vs. 125 steps std.)
  • see http://www.multiwii.com/forum/viewtopic.php?f=13&t=516 for more info
  • On 328p based board (promini): we can now have the following configurations:
  • HEX (FLAT X, FLAT +, or Y6)
  • with a standard receiver: in this case the 2 last motors are
  • on PIN A0/A1 instead of D5&D6
  • or still with a PPM SUM receiver
  • with 2 servos for a GIMBAL mode + 1 servo for CAM TRIG:
  • with a PPM sum receiver: in this case, the 2 last motors are
  • on PIN D5&D6 and the servos are on PIN A0/A1/A2
  • with a standard receiver: in this case, the 2 last motors are
  • on PIN A0/A1 and the servos are on PIN A2/D12 (no CAM trig here)
  • OCTO config (FLAT X, FLAT +, X8):
  • with or without a standard receiver: on PINs 3,9,10,11,A0,A1,A2,12
  • no servos
  • Config schemes are documented here:
  • http://www.multiwii.com/connecting-elements
  • New config:
  • Flying wing was introduced as beta, and is now successfully tested:
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=594
  • VTAIL
  • LCD
  • The current supported LCD are now:
  • LCD_SERIAL_3W: Alex' initial variant with 3 wires serial
  • LCD from Sparkfun, using rx-pin for transmission @9600 baud fixed
  • LCD_TEXTSTAR: Cat's Whisker LCD_TEXTSTAR Module CW-LCD-02
  • (Which has 4 input keys for selecting menus)
  • LCD_VT100: vt100 compatible terminal emulation (blueterm, putty, etc.)
  • alternate GUI to any (vt-100 aware) terminal program (optionally over BT),
  • works for most tablets, smartphones, etc.
  • http://www.multiwii.com/forum/viewtopic.php?f=7&t=1096
  • LCD_ETPP: Eagle Tree Power Panel LCD, which is a i2c device (not serial)
  • LCD_LCD03: LCD03, which is a i2c device
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=1094
  • servo midpoints (default 1500) user configurable via LCD
  • (like subtrim on computer TX) for Flying Wing and TRI
  • LED
  • An I2C LED Ring device with 12 RBG LEDs is integrated as an option
  • in multiwii to give more feedback about sensor states.
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=902
  • http://www.dailymotion.com/video/xmdqa9_ledringmultiwii_tech
  • HeadFree mode
  • Something similar to MK Carefree mode was added.
  • Firstly introduced by mahowik as a “simple mode”
  • http://www.multiwii.com/forum/viewtopic.php?f=7&t=925
  • A specific check box was added in the GUI to activate this mode via a switch.
  • You need to have a magnetometer and accelerometer on the board
  • Principle: The head/front will be remembered when you turn on the engines.
  • So it means that you can turn on/off the mode during the flight.
  • Pass-through mode
  • It’s a checkbox in the GUI.
  • The purpose is to bypass the IMU for some configs like flying wings.
  • Beeper mode
  • It’s a checkbox in the GUI.
  • The purpose is to activate a beeper in case you have a buzzer
  • installed and you lost your multi in high grass for instance.
  • New stick combo
  • for magneto calibration (throttle=up yaw=right pitch=down)
  • Better magnetometer calibration
  • The calibration of the magnetometer is now more precise,
  • because it takes into account the relative strength of the magnitude
  • projection on each axis.
  • Based on a code suggested by EOSBandi:
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=1068
  • It should improve the GPS return to target point accuracy.
  • Gyro smoothing
  • There are 2 options to smooth the gyros: (mainly useful for fixed wings configs)
  • per axis based on a LPF: #define GYRO_SMOOTHING {20, 20, 3}
  • // separate averaging ranges for roll, pitch, yaw
  • for all axis, based on a moving average (from Magnetron)
  • #define MMGYRO
  • #define MMGYROVECTORLENGHT 10
  • Servo gimbal smoothing is also an option based on the same principle:
  • #define MMSERVOGIMBAL
  • #define MMSERVOGIMBALVECTORLENGHT 32
  • Inflight ACC-calibration:
  • It’s a way to calibrate the level via on flight tests.
  • Must be defined in config.h
  • #define InflightAccCalibration
  • Suggested by jevermeister
  • http://www.multiwii.com/forum/viewtopic.php?f=7&t=893
  • Coding specific improvements:
  • Less RAM memory usage via the use of PROGMEM statement
  • No more Arduino Serial function => the new serial communication is more efficient
  • Board and sensors orientation:
  • This was something that was not well coded at the beginning.
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=1259
  • This mod should not affect board definition (a remapping of axis was done)
  • About individual sensor orientation: is not the same and it’s normal,
  • there is no bug to correct here.
  • task state in the main loop to reduce the jitter time loop
  • GUI
  • I2C errors status display in the GUI
  • New AUX3/AUX4 checkboxes.
  • We can now have many more possibilities to activate/deactivate
  • a specific function (4 switch with 3 states assuming you have a 8 channels RC system)
  • The previous CAM1/CAM2 rc channels (that are now AUX3/AUX4) are still usable
  • for an assisted PITCH/ROLL gimbal system if the AUX3/AUX4 checkboxes are not used.
  • visual feedback on state of all of the auxN options
  • GUI reports the full MWC firmware version number
  • And of course, there is the nice version of WinGUI from EOSBandi
  • It is definitively more friendly than the java one,
  • allowing more features like load/write configs.
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=1229
  • OSD
  • rushduino is basically an arduino board, with OSD capabilities.
  • It's a very flexible solution, as it is open source,
  • and it plugs on the multiwii serial port to retrieve sensors info.
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=922
  • MIS OSD is also updated so that multiwii can also take GPS info from the OSD,
  • or the OSD can take GPS info from multiwii

New in version 1.9 (April 26th, 2012)

  • some factorizations between PPM sum receiver code & standard receiver code
  • EXPERIMENTAL: integration of direct SBUS receiver thanks to the contribution of Captain IxI & Zaggo
  • For this, you must use: a MEGA board, the RX1 of the Serial 1 port, have a way to invert the input signal.
  • more info here: http://www.multiwii.com/forum/viewtopic.php?f=7&t=289
  • EXPERIMENTAL: integration of SPEKTRUM satellite receiver thanks to the contribution of Danal Estes
  • For this, you must use: a MEGA board, the RX1 of the Serial 1 port.
  • It could be used also on ProMini board with some restrictions (exclusive GUI or Spektrum use) more info here: http://www.rcgroups.com/forums/showthread.php?t=1504116
  • EXPERIMENTAL: integration of direct Serial RX, to command the multi from a Bluetooth+phone Signal for instance.
  • thanks to Luis
  • many optimizations to reduce loop cycle
  • GPS main function integration
  • The code to connect and recognize a GPS with NMEA sentences is here.
  • currently calculated:
  • number of sat
  • distance to home
  • direction to home
  • There is currently no control code except a nice working GUI
  • => there is no code behind GPS HOME and GPS HOLD, in progress
  • PIN A0 and A1 instead of PIN D5 & D6 for 6 motors config and promini config
  • This mod allows the use of a standard receiver on a pro mini (no need to use a PPM sum receiver)
  • #define A0_A1_PIN_HEX
  • possibility to use PIN8 or PIN12 as the AUX2 RC input it deactivates in this case the POWER PIN (pin 12) or the BUZZER PIN (pin 8)
  • #define RCAUXPIN8 or #define RCAUXPIN12
  • thanks to Danal, integration of the Eagle Tree Power Panel LCD for configuration it's an I2C LCD that should be very convenient for the ProMini because it doesn't require the unique Serial Port
  • all in one FC:
  • QUADRINO_ZOOM board integration
  • MINIWII : Jussi's MiniWii Flight Controller
  • sensor boards:
  • SIRIUS600 // Sirius Navigator IMU using the WMP for the gyro
  • CITRUSv1_0 // CITRUSv1 from qcrc.ca
  • DROTEK_IMU10DOF
  • ATAVRSBIN1 mag direction correction (http://www.multiwii.com/forum/viewtopic.php?f=8&t=506&start=60#p4950)
  • no need to define anymore PROMINI or MEGA in the sketch:
  • this information is grabed form the board selection in Arduino IDE
  • LEVEL drift problem:
  • the root of this problem was identified (at least partly).
  • Several options to try to solve it:
  • adding a #define TRUSTED_ACCZ for those who have huge ACC Z variations when some throttle is applied
  • (it's a test you should do before tructing ACCZ)
  • //#define TRUSTED_ACCZ -> ACCZ is not taken into account in calculation for small angles
  • #define TRUSTED_ACCZ -> ACCZ is taken into account in calculation for small angles
  • BMA180 init changes to another mode: should help to filter noisy setups
  • adding a #define STAB_OLD_17 for those who still encounter problem with the stable code,
  • as the old 1.7 LEVEL code (less elaborated) doesn't seem to cause drift.
  • some flying wing code upgrade (thanks to the suggestion of Hamburger)
  • ACC added: LSM303DLx_ACC

New in version 1.8 Patch 2 (April 26th, 2012)

  • integration of SIRIUS 9DOF + baro IMU
  • debugging FREEIMUv035_MS baro code
  • adding another condition in the attitude IMU calculation to take into account the ACC should help to prevent LEVEL drift problem)

New in version 1.8 Patch 1 (April 26th, 2012)

  • MAIN SOFT: Better deadband implementation thanks to the suggestion of PeterPilot
  • http://www.multiwii.com/forum/viewtopic.php?f=7&t=608
  • MAIN SOFT: updated PIN 46 on mega boards for CAM TRIG servo (more convenient for flyduino boards)
  • MAIN SOFT: failsafe small bug correction thanks to jevermeister
  • prevent any motor glitch rearming in some conditions
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=610
  • MAIN SOFT: small bug correction about BUZZERPIN, STABLEPIN, DIGITAL_TILT_PIN in MEGA board definition
  • http://www.multiwii.com/forum/viewtopic.php?f=8&t=583&start=10#p3049
  • MAIN SOFT: OCTOP bug correction (left motor was not correctly PID mixed)
  • GUI: minor bug correction about serial protocol, detected by Hamburger
  • MAIN SOFT:
  • Correction from Fabio about the 5 Free IMU possibilities and the according orientations.

New in version 1.8 (April 26th, 2012)

  • MAIN SOFT: code modularization.
  • There are now multiple .pde files
  • The configuration should be changed only in config.h
  • The files are opened with the Arduino IDE (open one file and the remaining files will follow)
  • This change should ease more easily the extension of MultiWii project in the future
  • MAIN SOFT: due to the multiplication of multiwii hardware compatible boards
  • a first try to manage automatically in config.h the definition of (sensors, orientation, I2C address) for the moment:
  • FFIMUv1 // first 9DOF+baro board from Jussi, with HMC5843