# 0-100% Duty cycle PWM

**URL:** <https://discuss.bluerobotics.com/t/0-100-duty-cycle-pwm/22104>\
**Category:** Flight Controllers\
**Tags:** navigator\
**Created:** [December 4, 2025, 6:51pm UTC](https://discuss.bluerobotics.com/t/0-100-duty-cycle-pwm/22104 "2025-12-04T18:51:24Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![EliotBR](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/eliotbr/32/6937_2.png) [@EliotBR](https://discuss.bluerobotics.com/u/EliotBR)\
**Post date:** [December 4, 2025, 9:33pm UTC](https://discuss.bluerobotics.com/t/0-100-duty-cycle-pwm/22104/2 "2025-12-04T21:33:38Z")

</div>

Hi @k-deboer,

Assuming I’m understanding you correctly, you can change the Navigator’s output PWM frequency using the [`RC_SPEED`](https://ardupilot.org/sub/docs/parameters-Sub-stable-V4.5.6.html#rc-speed-esc-update-speed) parameter. I believe different firmware variants use different defaults, but you should be able to use up to 400 Hz or so and still be fine to work with ESCs (if this is even on a vehicle).

From there you can set up one of the outputs with relevant `SERVOn_MIN` and `SERVOn_MAX` values for the duty-cycle range you want.

As an example, if you set a frequency of 100Hz, there is one pulse sent every 10ms, so for 0-100% duty-cycle support you would need to set the minimum pulse-duration to 0µs, and maximum to 10000µs.

In terms of actually controlling that, if you want joystick button control you could use a lights or actuator servo function for the pin, and if you want on-screen buttons or a slider in Cockpit you could set the servo function to disabled and send [`DO_SET_SERVO`](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_SET_SERVO) MAVLink commands [via a Custom Action](https://discuss.bluerobotics.com/t/cockpit-slider-to-control-light-brightness/20722/2).

---

_[View the full topic](https://discuss.bluerobotics.com/t/0-100-duty-cycle-pwm/22104)._
