Qbrain seems to be stuck in program mode

Qbrain ESC

Hi all:

I am building my first quad using RP3+Navio2. I am using the the qbrain 25A quad ESC. I am using FLYSky FS-i6 transmitter with FS-ia6b receiver. I intend to connect the PPM output of the receiver to the NAVIO2 PPM pin.

I can successfully calibrate the ESC individually just using 4 motors, the transmitter and receiver. When I include the RP3+Navio2 , I can also see that as I change the throttle on my transmitter, the navio2 scripts RCinput displays the right values.

Now for the problem. I connect all the components. I power on the transmitter with throttle at max. I connect the LiPo battery to the quadcopter. I can see RPi3 bot up fine. I start arducopter. I hear the Qbrain beep, go through the music pattern, and enter programming mode. It remains in programming mode, no matter what you do. How do I stop this and calibrate my ESCs? Any help is much appreciated. Let me know if I should provide further details.


Why do want to calibrate your ESCs again? If you did it with your transmitter and receiver, everything should be fine. After RC calibration in Ardupilot, it will use the same pwm min/max values as your transmitter.

Thank you for your response Sebastian. That is exactly what I thought. But what is happening is as follows:

  1. ESCs are calibrated with transmitter/receiver. All is fine. Motors run as I push throttle up.
  2. Without the motors or ESC connected, I calibrate the RC through Mission Planner. This seems to be fine too.
  3. After I connect ESCs, RC-receiver, to the NAVIO2 and power ON, I log in and start arducopter-quad.
  4. All I hear is the Qbrain ESC beep sequence (sequence of 8), looping over and over. The NAVIO2 LED is flashing green (single flash each second).

Not sure if I am missing any steps. Also, I tried starting arducopter-quad at boot rather than manually. No difference.

here is the manual for 20a qbrain escs;
could you be more precise with your beeping sequence according to the manual?

If you see the second page in your attachment, it shows 4 steps. The problem I am seeing is, it is stuck in Step 2. There are 8 beep sequences. It just keeps looping through all 8 irrespective, if I pull the throttle down to exit the sequence.

could you check that esc_calibration value in mission planner’s full parameters list is correct?

Yes, just checked. ESC_CALIBRATION is set to 0 (I guess, normal startup).

You should check the RC-out values. Does Arducopter send minimum pwm for output 1-4?
You will not be able to influence the calibration sequence with the throttle stick, because as long as arducopter is not armed, you have no control over the motor pwm outputs.

Where do I find these RC-out values? I checked the /sys/kernel/rcin/. These are the values I see:

status = 1
init_ok = 0
pwm = ok

I am wondering if init_ok being 0 has any clue


Sorry, I should have been more precise. You can find the values in Missionplanner. Go to the flight tab, there is a window below the HUD where you can select different screens. Select “status” and scroll through till you find rc_out. The value for output 1-4 should be the same as the min throttle pwm value from rc calibration. If it is over 1100us, something is wrong. For some ESCs it has to be lower than 1000us to make them arm.

Hi Sebastian:

Thanks. While I was about to check RC_out, I happened to check the messages in that same window, and it showed that the “accel” and “RC” was not calibratedd. I calibratedd the accel, it seems to work. So perhaps that was a problem. Still I keep getting the message “RC not calibrated” in the pre-arm check. I am looking into it now, perhaps in the morning tomorrow.


I was able to get out of the program loop and the system boots up fine and I can see everything is calibrated fine. The exception being that I still get RC not calibrated, no matter how many times I calibrate it. It remains in Disarmed state due to that. Moreover, the moment I calibrate RC, the motor run full speed irrespective whether the throttle stick changes or not.

I am still trying to figure out what’s going on.