Description
TECHNICAL Details and Specifications
| Specifications | Details | ||
|---|---|---|---|
| Item | Diameter 38mm shaft 6mm type incremental rotary encoder | ||
| Resolution (p/rev) | 400ppr / Quadrature Pulse 1600ppr | ||
| Output Phase | AB Phase | ||
| Output Type | Push Pull Output | ||
| Electrical | SupplyVoltage | 5-24VDC | |
| Current Consumption | Max. 40mA | ||
| Response Frequency | Max. 20Khz | ||
| Allowable Revolution | Max. 3000 rev/min | ||
| Mechanical | Starting Torque | Max. 20gf.cm (0.002N.m) | |
| Rotor Interia | Max. 15g.cm2(1.5*10-6kg.m2) | ||
| Shaft Loading | Radial: Max. 2kgf Thrust: Max. 1kgf | ||
| Mechanical Speed | Max. 5000 rev/min | ||
| Environmental | Ambient Temperature | -10~70 (at non-freezing status), Storage:-25~85 | |
| Ambient Humidity | 35~85%RH, Storage: 35~90%RH | ||
| Protection | IP52 (IEC standard) | ||
| Vibration | 1.5mm amplitude at frequency of 10-55 Hz in each of X,Y, Z direction for 2 hours. | ||
| Shock | Max. 40G | ||
| Unit Weight | Approx: 180g | ||
| Cable Lenght | 2.0m (The cable length can be customized by request) | ||
| Approval | CE ROHS | ||
| Model | GTS06-OP-RA400A-2M | ||
| Pictures, dimensions,table data and technical drawings of this product are made with reasonable care and liability is excluded for the accuracy and correctness of this data. | |||
WIRING
Do not cut or connect circuit when power is ON, it may cause damage to the unit. When the power source is Switching Power, it may cause surge. Install a surge absorber in Power line. Wire should be shorter in order not to be influenced by noise. Do not splash water, oil etc, cover the protecting hood when necessity.
Do not pull out the wire with over 30N strength after fixing the unit and wiring the cable. If wire encoder cable with high voltage line or power cable in the same conduit, it may cause a Malfunction or mechanical problem. Please wire it separately or use separated conduit.
| Encoder Wire Colors and Signals | |||||
|---|---|---|---|---|---|
| Signal | VCC | GND | A | B | Shield |
| Color | Shield | ||||
RECOMMENDATIONS
- Vibrations: if a big impact or strong vibration applies to the product it may cause pulse errors. Be careful by installing this unit. Encoder with high resolution can be easily affected by vibration, therefore tighten fixing bracket when installing this unit.
- When you install this unit, if eccentricity and deflection angle are larger, load is applied to the shaft, it may shorten the life cycle of this unit.
- This unit consists of precision components. If you drop this unit, it may lose the function. Please treat this product carefully.
- Keep this device away from strong vibrations or it may be damaged.
- Keep this device away from strong vibrations or it may be damaged.
- Keep this device away from the place where there is a lot of flammable or corrosive gases.
- Keep this device away from strong magnet field while electric noise can occurs.
- Keep this device away from place where there is the direct ray of the sun.
- Do not use this device beyond of the rated temperature or humidity.
- Do not use this device in place where strong acids or alkali are used.
- Do not put strong impact with hammer, etc when insert coupling into shaft.
DIMENSIONS

PACKAGE Includes
- (1pcs) / GTS06-OP-RA400A-2M Encoder with 2m cable
- (3pcs) / M3 * 8mm Screws for Assembly
Example for Arduino
🔧 Using a Push-Pull Incremental Rotary Encoder with Arduino Nano
Incremental rotary encoders are great for detecting rotational position and direction, and the push-pull output version makes interfacing even easier — no need for pull-up resistors or special signal conditioning.
This tutorial walks you through connecting a push-pull incremental rotary encoder to an Arduino Nano and reading its output reliably.
What is a Push-Pull Output?
Unlike open-collector encoders (which require pull-up resistors), push-pull output encoders actively drive both high and low voltage levels. That means:
You don’t need external pull-up resistors.
Signals are cleaner and more noise-resistant.
You can connect the encoder directly to Arduino digital pins.
🛠️ What You’ll Need
Arduino Nano (or any Arduino board)
Incremental rotary encoder with push-pull output
Jumper wires
USB cable for programming
🔌 Wiring the Encoder
Assuming your encoder has these pins:
| Encoder Pin | Connect To | Description |
|---|---|---|
| VCC | 5V (on Arduino) | Power supply (usually 5V) |
| GND | GND | Ground |
| A | D2 | Signal A (channel A) |
| B | D3 | Signal B (channel B) |
🧪 Arduino Code (Simple Quadrature Decoder)
const int pinA = 2; // Encoder channel A
const int pinB = 3; // Encoder channel B
volatile int encoderPosition = 0; // Tracks encoder position
void setup() {
pinMode(pinA, INPUT);
pinMode(pinB, INPUT);
// Attach interrupt to channel A
attachInterrupt(digitalPinToInterrupt(pinA), handleEncoder, CHANGE);
Serial.begin(9600);
}
void loop() {
// Print the current encoder position
Serial.println(encoderPosition);
delay(100); // Adjust delay as needed
}
void handleEncoder() {
int a = digitalRead(pinA);
int b = digitalRead(pinB);
if (a == b) {
encoderPosition++;
} else {
encoderPosition--;
}
}
✅ How It Works
We attach an interrupt to pin
D2(channel A).On every change in channel A, we check the state of channel B to determine the rotation direction:
If A == B → Clockwise
If A != B → Counter-clockwise
We increment or decrement the
encoderPositionaccordingly.
💡 Tips and Notes
If the encoder behaves erratically or jumps values, consider adding software debouncing or using a dedicated encoder library.
For long cable runs or noisy environments, adding 0.1µF ceramic capacitors between each signal and ground can help filter noise.
📦 Optional: Encoder Library
If you want a more advanced and cleaner implementation, check out the Encoder library by Paul Stoffregen. It handles the heavy lifting and supports hardware interrupts on both channels.
🎯 Summary
Using a push-pull rotary encoder with Arduino is straightforward and clean. You don’t need extra resistors, and signal integrity is better than open-collector types. With just two pins and one interrupt, you can accurately detect rotation direction and position for countless applications — from menu navigation to motor control.




