Navigator+Pi4 Change PWM Outputs from 400Hz to 50Hz

I’m using the Navigator+Pi4 PWM Output pins to control an ESC + brushless DC motor.
I’m using a 50Hz ESC, so it wants a 20ms period, and 1-2ms pulse widths (for low and high command).

Using an Oscilloscope I see the output frequency for the Navigator boards PWM pins is around 463 Hz, so the period is around 2.1ms. The pulse widths are in the correct range, 1.1-1.9ms, but the signal frequency is to fast.

Is there a parameter in BlueOS or QGroundControl where I can update the PWM frequency to 50Hz/20ms period?

Thank you!

Hi @north,

If it’s possible (/implemented) it will be via either the RC_SPEED and/or the SERVO_RATE parameter (I’ve linked to the ArduCopter docs, since I believe that’s what you’re using).

BlueOS does not currently support changing the firmware parameters, so you’ll need to use QGroundControl (or some other control station software) to try changing it.

Thanks for the quick reply Eliot. This worked! I changed the RC_SPEED parameter from 490Hz to 50Hz and now I’m getting nice control over the motor/ESC.

Also, tip for anyone trying to set up RC motor control with the PWM pins. In order to control PWM pin 1 on the Navigator, I had to change the SERVO1_FUNCTION parameter from Motor1 to RCIN1.

Thanks again Eliot!

1 Like