Roboteq controller can read pulse signals that might come from RC receiver, encoders etc and use them for Motor Command, or Feedback. The following four parameters can be measured from the pulse signal:

  • Pulse width
  • Duty cycle
  • Frequency
  • Pulse count

The capture type can be configured by using Roborun+ Utility on the preferred pulse input. Please note that the same pins are used on the controller for Pulse, Analog and Digital inputs and their operation needs to be configured on the controller.

The measured value can be observed on the Pule input field of Roborun+ or queried with the PI command.

The reported values will vary depending on the capture type used. That way:

  • On Pulse width settingthe reported value will be the positive pulse width in microseconds. The working range is 1 to 2 ms (1000…2000 us)
  • At duty cycle setting, the 0…100% duty will be mapped to 0…4000
  • At frequency setting, the controller will report the signal frequency. 
  • At Pulse count setting, the controller will report the number of pulsed

At all cases frequencies from 50 Hz to a couple of KHz are supported (usually the results are accurate up to 10 KHz)

Then, the controller will convert this measured value to a motor command or feedback, depending on the setting. The minimum and maximum values of motor command and feedback will be -1000…1000.

Essentially, what the controller will do is to map the measured value to the range [-1000…1000] and then use it form motor command or feedback. The minimum value of the signal that will be take the value of -1000 can be configured by the input min parameter. The center value that will be 0 command or feedback can be configured by the input center parameter and the maximum value can be configured by the input max parameter. 

Whatever out of that range can be zero, or saturated to the limit value. This function can be determined with the Keep within Min/Max parameter.


Consider a position sensor that has a 1KHz PWM output with varying duty cycle from 10% to 90% at  its limit position. This value will be converted internally from 400 to 3600. The middle value of the sensor will be 1600. These values should be configured to the Roborun+.

The controller will map the feedback to a -1000 to 1000 value. In case that values out of this range should give a zero command, the Keep within Min/Max parameter should be set to enabled.

The pulse input can be also  auto calibrated by clicking “calibrate” and moving the pulse source to its limits.

Roboteq controllers can use any pulse sensors whose specs comply with the below table:

Signal typeAccepted rangemaximum frequency
Pulse width1 to 2 ms10 KHz
Duty cycle0 to 100%10 KHz
Frequency50 Hz to 10 KHz10 KHz
Pulse count> 1 ms10 KHz