Radio Calibration

Hi all,

We have just started using a pixhawk in combination with Ardusub in our BlueROV.

We have uploaded the latest Ardusub firmware to our PX4 trough the Qgroundcontrol sofware

We haven’t been able to perform the radio calibration. Looking at this forum the main solution for this problems is to disable the arm check. Disabling it seems to have no effect so the arm check is still enabled. Doen anyone have a sugestion on either completing the radio calibration or disabling the arm check.

Best regards from the Netherlands


I assume that you are not using a RPi to communicate with the Pixhawk and are communicating directly with Pixhawk over the telemetry connection with QGC?

If that is the case, we found that we had to increase the Pilot Input Gain to 100% (the default is 50%), after calibrating the gamepad joysticks with QGC, to be able to complete the R/C calibration using QGC.

We are running ArduSub on a BBBMINI and we assigned Gain Increase (42) to Button A on the XBox 360 gamepad and Gain Decrease (43) to Button X on the XBox 360 gamepad.

Hope that this might give you some clue as to the reason you are having a problem with your R/C calibration.



Thanks a lot for the input. I will give this a try today.

Any idea why I can’t disable the pre-arm check?

We are indeed running the Pixhawk directly from our Windows 7 PC.

Maybe a stupit question but how do I put the gain to 100%?

I have programmed the butons to 42 and 43 but I can imagine these only work when the unit is armed?

Which parameter should I change to 100%?

When we will use the Pixhawk via a Rasberry Pi will we still have to out the gain to 100%?

Hi Klaas,

The gain can be changed whether you are armed or not. The current gain prints in the “info window” that can be seen by clicking the horn-shaped icon in the top bar.

I believe it should be possible to disable the pre-arm check so that radio calibration is not necessary. The radio section will still show as red on the sidebar, but it should not produce any warnings. I haven’t checked this myself because I usually calibrate the radio to get the red icon to go away in QGC.


I too am having issues getting the Radio to Calibrate. Either connected via MavLink, or USB. When the joystick controls are moved, the channel monitor shows only slight movement, like maybe 25%.


Have you tried changing the gain to 100%? Even at 100%, they usually only move about 50-60% in each direction, which is normal.

For everyone, what’s the preferred way to address this?

  1. Remove radio calibration from QGroundControl for ArduSub (then you couldn’t use an RC radio in any situation).

  2. Make default gain 100% to that this is more intuitive.

  3. Implement gain in a different fashion. Right now the gain scales the raw RC inputs that are controlling the “radio” during calibration. We could instead apply the gain later. The easiest place would be in the AP_Motors library.

I’m going to post this on Gitter as well to see what all developers think.


I’m not sure what you mean by ‘gain’ I did a Parameter search for ‘gain’, and found only ‘ATC_RAT_x’ I tried to set those to 100%, but no change in the movement in the 'Radio" calibration section. With the Radio section in a Red state, I cannot adjust the Flight Modes.

Its been a bit frustrating, as I can’t get the video streamer to display on the QGC either. I see from Wireshark, the RPI is sending packets to port 5600, and I’ve seen it may be port 5000?

Thanks for all of your support so far.



Hi Ken,

I apologize for not explaining. The gain is not a parameter but rather is a variable controlled by the joystick buttons “Gain Increase” and “Gain Decrease”. The gain is like a control factor. At 50% gain, then vehicle will be slow and smooth. At 100% gain, it will be much faster and move more sharply.

To set gain to 100%, please assign a joystick button to “Gain Increase” and then press it twice to increase gain to 100%. You can view the current gain in the “Info” window by clicking on the horn icon in the top bar of QGC.

To get video displaying in QGC, the video stream needs to be sent to port 5600.

Thanks for your feedback on this. It helps us to improve the software and instructions.


Hi Rusty,

Changing the gain did the trick, I completed the RC calibration but still not possible to arm the thrusters.

The only message I still get is No GPS lock for vehicle. Any suggestions?

I tried changing various parameters that might disable the GPS but no luck.


Okay. The GPS lock should not cause an issue I think. Are there any warnings on the Info View when you press the arm button?


Hi Rusty,

The Gain did it for me too. Thanks!

Now I’m just down to getting the Aux channels (camera tilt/lights, and I’m hoping for a third channel to control the gripper) to work with the Logitech controller, and video streaming.

Baby steps…



Good! Glad that worked. We discussed and we’re going to change the code a bit so the gain change is not required in the future.


I was assuming that the arm button would appear in Qground control (I believe we saw this in an early compiled version).

I will try tomorrow to program the arm and disarm button to see if it works. Thanks for the info…


Do you have the ARMING_CHECK set to Disable?

Yes, the latest QGC daily builds no longer have the arming button graphic on the Map View.

You will also find that the default parameter category in the Parameter List is no more.




I can’t disable the ARMING_CHECK, When I apply it automatically changes to enabled.

I managed to arm the unit a few times but I get the message throttle too high at a regular basis.

We have to get the unit in the water to check if everything is ok, hope to do that tomorrow evening.

Kind regards,



I am currently testing the setup (dry) and all seems to be functioning ok. We will start the wet test hopefully today.

There is just one thing. When I disarm the system thruster number 5 starts running at full speed. The rest of the thrusters are disarmed. The only way to stop the thruster from running is to disconnect the power to the ESC’s. When I reconnect the power everything is ok again. Any suggestions what might be wrong?



That’s interesting. I haven’t seen that behavior before. Can you please check in the “MAVlink Inspector”, which can be accessed from the “Widgets” menu, and see if the servo output for channel 5 is something other than 1500? Try this before and after arming.



After a night of testing I am strugling a bit to get the controls right. Let me start from the beginning. We have our thrusters connected to the pixhawk on port 1 to 6 (thruster 1 on port 1 and so on) After calibrating the motion and gyro we have calibrated our joystick (X-box one controller) by following the images during setup. We do the same for the RC calibration but the results in the RCMAP parameters are not the same as described on the ardusub website (configuration). The following settings area applied:







looking at the MAVlink inspector channel 3 and 5 give a value of 1100 when I don’t touch the joystick.

When I try to arm the unit I get the message Throttle to high. Changing the parameters of RC channel a bit sometimes lets me arm the unit but the auto and manual control is not as it should be.

Any help would be much appreciated.

Kind regards,



According to the BR documentation the RCMAP values should be as follows:








I have my RCMAP parameters setup this way and have had no problems with the Thrusters when the ROV is not armed.

Please explain why yours are not the same.