Getting Started

The Redux Canandcoder is a versatile solution for measuring rotational position and velocity. The sensor measures a diametric magnet in order to calculate the absolute position and velocity of an object. The 14 bit precise position can be read over CAN, or PWM over the 10-pin IDC port to be used with a REV Spark Max Motor Controller or CTRE Talon SRX Motor Controller. Precisely computed velocity can also be read over CAN.


  • Low profile and compact design

  • Large solder pads for easy power and CAN connections

  • Wide input voltage range (4.2v ~ 16v)

  • Breakaway 10-pin 1.27mm pitch IDC Connector for 14-bit PWM output compatible with REV Spark Max and CTRE Talon SRX without adapter boards

  • Low CAN bus utilization by default (~1%)

  • Zero button for quick calibration, persistent across resets


Holding the button on the encoder for at least two seconds will zero the position of the encoder for both PWM and CAN outputs. This zero will persist across power cycles of the encoder.

The LED will flash white to indicate the angle has been set. Release the button afterwards.

Factory Default

Holding the button for fifteen seconds will factory-reset all settings on the Canandcoder. This will not change the CAN ID.


The encoder accepts 4.2-16v via its power input pad, and can also be powered over the 10 pin IDC port via the 5v output of the parent device, such as a motor controller.


The Canandcoder can be configured from the Alchemist Configuration Tool

Diagram showing what the different buttons in the Redux Alchemist configuration utility do

Note: The Display Settings button at the bottom of the Canandcoder card can be used to change the displayed units.


The vendordep is not necessary if only the encoder’s PWM output is used. However, CAN usage requires ReduxLib to be installed.

ReduxLib Canandcoder Java API reference

ReduxLib Canandcoder C++ API reference