Motor mapping

Can anyone help me learn how to map the motor out puts on this apm 2.6 board....while in flight out put 3 failed for some reason and down came the copter. Done some testing and found the pin is dead so I want to remap motor 3 to a diff out put...anyone help me. Please

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

Join diydrones

Email me when people reply –


  • Solved.

    Solution is here. In lower part. Glad to say, that current PX4+IO controller files and performing very well.

    PX4FMU + PX4IO + ArduCopter firmware + some VERY useful tricks.
    Technical dairy about computers and flying toasters.
  • AFAIG we have our VQuad mixers in this file.

    In particular this place:

    }else if( _flags.frame_orientation == AP_MOTORS_V_FRAME ) {

    // V frame set-up

    add_motor(AP_MOTORS_MOT_1, 45, 0.7981f, 1);

    add_motor(AP_MOTORS_MOT_2, -135, 1.0000f, 3);

    add_motor(AP_MOTORS_MOT_3, -45, -0.7981f, 4);

    add_motor(AP_MOTORS_MOT_4, 135, -1.0000f, 2);

    as we see here:

    // add_motor using just position and yaw_factor (or prop direction)

    void add_motor(int8_t motor_num, float angle_degrees, float yaw_factor, uint8_t testing_order);

    most obvious would be changing last function parameter, 3,4 to say 4,5 (which would move both live channels one pin further , for convenience of numeration, leaving 3-d channel alone).

    At this part I'm getting pretty tangled, because AP_MOTORS_MOT_4 seems pretty redundant for channel number to me.

    HELP! :)

    ArduPlane, ArduCopter, ArduRover source. Contribute to ArduPilot/ardupilot development by creating an account on GitHub.
  • According to this guy's logic right here, all I have to do is to change output channel in code, but it's too weary to compile everything from scratch each time.

  • Good point, same situation here.

    I was testing brand new copter frame when it slightly (intended) hit the wall. Power surge (unfortunately ESC had no OPTO isolation) seems have damaged third channel (coincidence?). Channel 3 is "no go" anymore.

    I'm asking if developers could pinpoint how to remap channel 3 output to, say, channel 5.

    I have a clue that it has to do something with editing mixer files (.mix) and putting these files on SD in some specific location. It would be nice to know where to take initial file and where to put it so system will load it instead of one built in.

    My system is PX4FMU + PX4IO, and there is a skim of getting PX4FLOW airborne too.

    p.s. additional question. Which magic should I use to direct PWM to PX4FMU outputs while having PX4IO attached?

    • As soon as there is no elegant solution so far, I've decided to use standalone FMU with IO board as power source only. For that I will retain only 1-4 pins of Expansion Bus.

      There is no direct connection between PPM pin on "Multi" port and PPM pin on expansion board, so in my case I have to stick with JST Multi port which sucks because I have to use JST plugs which I'm kinda short of.

      So far we have such picture:

      3702636431?profile=originalI guess I'll have to put OSD on telemetry (UART1) port.

      Having no current sensor is rather frustrating.

      • On top of all I have ground on 1st pin of MULTI port (should be VDD_5V).

        That's a bad thing that APM got dropped out of support. This board solved everything in couple of hours instead of having headache for days.

    • Important thing. Channel failed on PX4IO module.

This reply was deleted.