Incorrect Xbox controller motor mixing in QGroundControl and Cockpit

Hi everyone,

I am having an issue with the Xbox controller configuration and motor mixing on my BlueBoat.

When I test the motors using the Xbox controller in QGroundControl, only one motor responds:

  • Moving the right joystick horizontally controls only one motor. Moving the joystick left makes this motor rotate in one direction, and moving it right makes the same motor rotate in the opposite direction.

  • The second motor does not respond at all.

  • Moving the left joystick vertically, which should make the boat move forward or backward in a straight line, does not activate either motor.

I also tried changing the vehicle frame between Boat and Rover in QGroundControl, but this does not change the behaviour.

However, when I test the controller in Cockpit, both motors are working, but the controls are not mixed correctly:

  • Moving the left joystick vertically controls only one motor.

  • Moving the right joystick horizontally controls only the other motor.

Therefore, each joystick seems to control one motor independently instead of combining both motors for forward/backward movement and differential steering.

Could this issue be related to the joystick mapping, motor output assignments, frame configuration, or the ArduRover motor mixing parameters? Which parameters or settings should I check to configure the BlueBoat correctly?

Thank you for your help.

Hi @Ellio -

That is quite strange - I expected one motor to not be connected based on the initial symptoms, but them both working in Cockpit disproves that.

Can you:

  1. Load the default parameters for the BlueBoat from the Vehicle Setup / Configure page
  2. Share a screenshot of the table view of your Cockpit joystick configuration - are you using the desktop or lite version?
  3. Share what version of QGC you’re using - Blue Robotics has not tested past 4.2.8.
  4. Share a .BIN autopilot log found under Autopilot Logs in BlueOS, created by arming the vehicle for a period, and attempting to control the motors with the joysticks.

Thanks!

Hi @tony-white

Thanks for the response,

So I loaded the default parameters from the configure page but I had a window saying that the parameters in the group are already set to the desired values.

Then here is my screenshot from cockpit, I am using the desktop version

I did some tests and the right motor only moves when assigned axis z and the left motor only when assigned axis y.

For QGC i use the 4.2.8 Version

And finally here is the .BIN file

00000022.BIN (6.8 MB)

Hope this can help, I you need any other informations feel free to tell me !

This shows that your right and left motor outputs are misconfigured as Throttle and GroundSteering - like a boat with a single propulsion motor and a rudder for steering, than a skid-steering boat with two motors like the BlueBoat.

This should have been resolved by loading the BlueBoat’s recommended parameter set[1] as Tony suggested, but you can also fix it going to BlueOS’s Vehicle Setup / PWM Outputs page, and setting the Output 1 value (in the right side table) to ThrottleRight (74) and the Output 3 value to ThrottleLeft (73).

If there are remaining parameter issues I’d recommend re-loading the recommended parameters, or (if you haven’t done firmware configuration that you want to maintain) re-enabling the BlueOS setup wizard (via the cog button at the bottom of the left sidebar) to set things up properly for a BlueBoat.


  1. Note: this is not resetting to the ArduRover firmware defaults ↩︎

Hi @EliotBR

Thanks, that worked perfectly!

Just one small question: do you know what could be causing some latency with the Xbox controller signal? Sometimes the motors respond immediately, but other times there is a delay of around 0.5 to 1 second before they react.

Are there any issues reported in the BlueOS interface? Increased control latency is most likely an issue with either communication dropouts or the autopilot firmware being starved for processing power because of thermal throttling or other services/Extensions trying to do too much at once.