single

A single encoder sends a signal from the rotating encoder over a single wire to one pin on the board. The direction of spin is dictated by the motor that has this encoder’s name in its encoder attribute field.

To be able to test the encoder as you configure it, connect the encoder to your machine’s computer and power both on.

{
  "name": "<your-encoder-name>",
  "model": "single",
  "api": "rdk:component:encoder",
  "attributes": {
    "board": "<your-board-name>",
    "pins": {
      "i": "<your-pin-number-on-board>"
    }
  }
}

The following attributes are available for single encoders:

NameTypeRequired?Description
boardstringRequiredThe name of the board to which the encoder is wired.
pinsobjectRequiredA struct holding the name of the pin wired to the encoder:
  • i: Pin number of the pin to which the encoder is wired.

Viam also supports a model of encoder called "incremental" which uses two pins.

Test the encoder

Once your encoder is configured and connected, open the encoders’s TEST panel on the CONFIGURE or CONTROL tabs. The ticks count is displayed. Try moving the encoder (for example, by turning a motor it is attached to) and check whether the count increases as expected.

Encoder test panel.

If the encoder does not appear on the TEST panel, or if you notice unexpected behavior, check your machine’s LOGS tab for errors, and review the configuration.