A rotary encoder, also called a shaft encoder, is an electro-mechanical device that converts the angular position or motion of a shaft or axle to analog or digital output signals.

There are two main types of rotary encoder: absolute and incremental. The output of an absolute encoder indicates the current shaft position, making it an angle transducer. The output of an incremental encoder provides information about the motion of the shaft, which typically is processed elsewhere into information such as position, speed and distance.

Rotary encoders are used in a wide range of applications that require monitoring or control, or both, of mechanical systems, including industrial controls, robotics, photographic lenses, computer input devices such as optomechanical mice and trackballs, controlled stress rheometers, and rotating radar platforms.


Rotary Encoder

HS Quad Encoder

There are many different types of encoders.

cheap quad
cheap quad
Speed Sensor
Speed Sensor







By definition:

An encoder is a device, circuit, transducer, software program, algorithm or person that converts information from one format or code to another, for the purpose of standardization, speed or compression.

All closed loop systems require an output and a feedback.

Here were are going to show how to use rotary encoders.

Most rotary encoders can be defined as a Speed or Quadrature Encoders.

A speed sensor simply detects a block/no block single to count. NO position change is verified.

A quadrature encoder uses 2 sensors out of phase by 90 degrees to both detect a position change with a verifiable direction.

Both will work with the same program.

For the speed just connect one signal to pin3 ( UNO ).

For the quadrature connect the A/B to pins 2 & 3.

Reversing the connections will just change the direction as count up or down.

An additional GND reset button to Pin 0 is added.

Both the speed sensor and HS Rotary encoder work fine directly connected to the Arduino.


Operating voltage: DC5-24V


green=A phase, pin 2

white=B phase , pin 3

red=Vcc positive supply,




The cheap rotary quad encoder has internal resistors, but needs additional de-bounce circuitry :

DT - Encoder Pin B #3

CLK - Encoder Pin A #2


De-bounce circuit
De-bounce circuit



Here are some helpful tutorials on some the systems available with Scada123 to try on your own.

You can view videos at:     Youtube Channel Scada LLC

Sort through Topics on the left Menu "Tutorial Menu"

Click on one the Topic Tags that interest you.

License : All programs in the tutorial section are free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.