Category Archives: multicopter

Uneven throttle on MultiWii

Uneven throttle is probably caused by differently calibrated ESCs. You might find strange need to trim your copter heavily.

Few tips if you have uneven throttle or strange banking or flipping when giving throttle:

– New copter: clean EEPROM (Arduino example eeprom_clear: change the value 512->1024)
– New copter:add line “#define MOTOR_STOP” to config.h
– New copter: always calibrate the ESC’s using the define ESC_CALIB_CANNOT_FLY (REMOVE PROPELLERS!)
– Now upload, run calibration, remove ESC_CALIB_CANNOT_FLY and upload again
– Use MultiWiiConf: calibrate ACC (and MAG too..)
– Check trims: ROLL, PITCH, YAW should all be 1500 when sticks in neutral
– Check functionality without propeller’s
– Remember: SimonK ESC’s CAN be calibrated to different throttle range

I’m using:
#define MINTHROTTLE 1064
#define MOTOR_STOP
#define MAXTHROTTLE 1850
#define MINCOMMAND 1000

Quadcopter MultiWii Mongoose board pin mapping

Quadcopter pins:

front left		front right
Arduino=3		Arduino=10
PD3			PB2
Mong: 3			Mong=10

rear left		rear right
Arduino=11		Arduino=9
PB3			PB1
Mong: MOSI		Mong=9

When programming pins facing forwards:

  #define GYRO_ORIENTATION(X, Y, Z) {imu.gyroADC[PITCH] = -Y; imu.gyroADC[ROLL] =  -X; imu.gyroADC[YAW] = -Z;}
  #define ACC_ORIENTATION(Y, X, Z)  {imu.accADC[PITCH]  =  Y; imu.accADC[ROLL]  =  -X; imu.accADC[YAW]  =  Z;}
  #define MAG_ORIENTATION(X, Y, Z)  {imu.magADC[PITCH]  = -X; imu.magADC[ROLL]  = Y; imu.magADC[YAW]  = -Z;}

MultiWii + Mongoose + Tricopter

If you’re using MultiWii at Mongoose-board you might wonder how to connect motors to pins.

Pinouts for tricopter:

Yaw Servo: MultiWii pin=3 = PD3 => Mongoose-pin:3
Front Left: MW=11 = PB3 => Mongoose-pin: spi-header (MOSI)
Front Right: MW=10 = PB2 => Mongoose-pin: 10
Rear: MW=9 = PB1 => Mongoose-pin: 9
RX ppm sum: mw=2 = PD2 (soldered straight to atmega328p)