Omron E6A2-CW3C Rotary Encoder Wiring, Quadrature, and Signal

James Nishida14 min read
OmronSensor IntegrationTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Omron E6A2-CW3C Rotary Encoder: Wiring, Quadrature, and Signal Verification

The Omron E6A2-CW3C is a compact 25 mm diameter incremental rotary encoder intended for low-speed machine feedback, conveyor indexing, and discrete position sensing on industrial controls. This reference consolidates the official Omron E6A2-C lineup data, the E6A2-C datasheet, and field experience capturing the encoder's quadrature output on a Siglent SDS1000CML oscilloscope. The goal is to give controls engineers a single document for wiring, decoding, and verifying the encoder so that the integration into a PLC high-speed counter (HSC) or microcontroller quadrature input is predictable the first time.

Identification note. The E6A2-C family ships under the Omron brand. Some distributor catalogs and third-party resellers (including SparkFun listings) reference the same part as "Yumo E6A2-CW3C" because the underlying manufacturer of record is Yumo, but the official datasheet, dimensional drawings, electrical ratings, and model code are all maintained by Omron. Treat any Yumo-branded marking as a private-label SKU of the same Omron design and refer to the Omron datasheet for ratings.

1. Series Overview and Model Code

The E6A2-C is a 25 mm incremental rotary encoder in Omron's compact encoder family. The suffix code identifies mechanical and electrical options:

Omron E6A2-C model suffix decoding
Position Code Meaning
1 CW Shaft style: CW = solid shaft, standard
2 3 Output configuration: 3 = voltage output (push-pull, NPN open-collector variants available)
3 C Connection: C = pre-wired cable exit (radial)
4 100P/R Resolution (pulses per revolution) selected by suffix or example code
5 0.5M Cable length: 0.5 m pigtail standard

The example call-out in the Omron lineup page is E6A2-CW3C 100P/R 0.5M, which resolves to a 100 pulse-per-revolution (PPR) encoder with a 0.5 m cable. Common PPR options in the family include 10, 20, 60, 100, 200, 300, 360, 400, 500, 600, 720, 800, 1,000, 1,024, 1,200, 1,500, 1,800, and 2,000 P/R. The E6A2-CW3C you most often encounter in hobby and lab contexts is the 100 P/R build.

2. Electrical and Mechanical Specifications

The values below are reproduced and summarized from the official E6A2-C datasheet. Verify against the datasheet revision you have on hand; ratings are subject to change without notice.

E6A2-CW3C key specifications
Parameter Value Notes
Supply voltage (Vcc) 12 to 24 VDC ± 10% (ripple p-p ≤ 5%) Some 5 V variants exist on the secondary market; confirm before substituting
Current consumption 50 mA max At 24 VDC
Output configuration Voltage output (push-pull) Capable of sourcing and sinking
Output logic A and B in quadrature, 90° phase shift Direction resolved by lead/lag of B relative to A
Resolution (CW3C example) 100 P/R (400 counts/rev in 4x decode) Counts are quadrature-decoded upstream
Maximum response frequency 20 kHz (electrical) Equals (RPM × PPR) / 60
Maximum mechanical RPM 5,000 min-1 Derate above 3,000 RPM for service life
Shaft loading Radial 10 N, thrust 5 N Use a flexible coupling
Starting torque 1 mN·m typical Light finger-pressure rotation
Shaft diameter 4 mm Standard for 25 mm series
Protection class IP50 Dust-protected; no water/oil protection — install inside enclosure
Ambient temperature −10 to +55 °C operating; −25 to +80 °C storage Non-condensing
Vibration resistance 10 to 500 Hz, 150 m/s² (approx. 15 g), 3 axes Per Omron test method
Shock resistance 500 m/s² (approx. 50 g), 3 axes, 3 times each Per Omron test method
Cable 4-conductor, oil-resistant PVC, 0.5 m pigtail Brown/Blue/Black/White standard color code
No water/oil protection. The datasheet is explicit: "No protection is provided against water or oil." Mount the E6A2-CW3C inside an enclosure or behind a splash shield if the machine environment is wet or has cutting-fluid mist. Failure to do so voids any practical service-life expectation.

2.1 Deriving the Maximum RPM from Response Frequency

The maximum shaft speed is set by the electrical response frequency rather than by mechanical bearing limits. Use the relationship:

RPM_max = (F_max × 60) / PPR

For the E6A2-CW3C at 100 PPR with Fmax = 20 kHz:

RPM_max = (20,000 × 60) / 100 = 12,000 RPM

The mechanical bearing limit (5,000 RPM) is the binding constraint. Operate below 3,000 RPM for continuous duty and reserve 5,000 RPM for short transients only.

3. Wiring and Pinout

The pre-wired E6A2-CW3C pigtail uses a four-wire color code that is not the same as a typical quadrature cable you would build yourself. Verify with a multimeter before applying power.

E6A2-CW3C wire color and function
Wire color Function Typical termination
Brown Vcc (12 to 24 VDC) PLC 24 V supply or DIN-rail PSU; fuse at 0.5 A
Blue GND (0 V) Common ground tied to PLC and PSU
Black Output A (phase) PLC HSC input (e.g., D2 on Arduino, X0 on Mitsubishi FX, I0 on Allen-Bradley MicroLogix)
White Output B (phase) PLC HSC input B (e.g., D3 on Arduino, X1 on Mitsubishi FX)

The encoder has no Z (index) channel on the 4-wire version. If your application needs a once-per-turn reference pulse, you must step up to an E6A2-C variant with the Z output or to a larger E6B2/E6C2 series encoder.

3.1 Pull-Down Considerations

The voltage-output (push-pull) driver in the E6A2-C actively drives both high and low, so external pull-ups or pull-downs are normally not required. However, in long-cable installations or where the input is wired to a high-impedance FET, install a 10 kΩ pull-down at the receiver to guarantee a defined low during power-up transitions and to suppress induced noise on the rising edge.

3.2 Cable Length and Shielding

The standard 0.5 m pigtail is intended for an enclosure-mounted installation where the encoder is wired directly to a nearby terminal block. If you must extend the run:

  • Keep total cable length below 10 m to limit capacitance-induced edge rounding.
  • Use shielded twisted pair (STP) with the shield bonded to ground at one end only (typically the PLC/PSU end).
  • Avoid routing parallel to VFD output cables; cross at 90° when unavoidable.
  • Twist the A/B pair at ≥ 5 turns per meter to maximize common-mode rejection.

4. Quadrature Theory for the CW3C

The CW3C's 100 P/R raw output becomes 400 counts per revolution after 4x quadrature decoding. The integer position after N counts is:

Position_counts = Σ (Direction_n) where Direction_n = +1 or -1

Mechanical degrees per count at 4x decode:

θ = 360° / (4 × PPR) = 360° / 400 = 0.9° per count

This resolution is adequate for conveyor indexing, fill-level cam timing, and similar non-precision applications. For closed-loop servo position control, expect the E6A2-C to be a feedback indicator, not a precision reference.

4.1 Quadrature Direction Logic

Direction decode truth table (CW3C rotation convention)
A (black) B (white) Edge of A Direction
0 0 rising +1 if B = 0, −1 if B = 1
0 1 rising +1 if B = 0, −1 if B = 1
1 1 falling +1 if B = 1, −1 if B = 0
1 0 falling +1 if B = 1, −1 if B = 0

Rotating the shaft clockwise when viewed from the front face (the side with the encoder body label) causes A to lead B; counter-clockwise reverses the lead/lag relationship. Confirm the direction against your application's coordinate system before commissioning.

5. Signal Verification with an Oscilloscope

The most reliable way to confirm the encoder is alive and producing clean quadrature is to capture one full revolution on a two-channel scope. The original field capture was performed on a Siglent SDS1000CML scope, with the captured waveform saved as a native .DAV file. The proprietary Siglent .DAV format opens with the Siglent EasyScopeX utility, which requires the NI-VISA runtime (the full NI-VISA driver install is not necessary — the runtime package alone is sufficient).

5.1 Recommended Test Setup

  1. Power the encoder from a 24 VDC bench supply capable of at least 100 mA; current-limit at 0.2 A for protection.
  2. Connect Channel 1 scope probe to the Black wire (Output A); set the probe to 1x and the scope channel to 1x (match attenuation).
  3. Connect Channel 2 scope probe to the White wire (Output B); set the probe to 1x and the scope channel to 1x (match attenuation).
  4. Set the scope time base to 5 ms/div and trigger on Channel 1 rising edge at 6 V.
  5. Rotate the shaft slowly by hand at roughly 60 RPM; at 100 PPR this produces an A-period of 10 ms, easily captured on the 5 ms/div range.
  6. Save a screen capture plus a CSV export plus the native .DAV file for post-processing.

5.2 Expected Waveform

At 24 V supply, the high level should sit between 22 V and 24 V (Vcc minus output transistor saturation) and the low level should sit below 0.5 V. The A and B waveforms should be clean square waves with a 90° (electrical) phase offset and approximately 50% duty cycle.

5.3 The 0.5 V Channel Offset Pitfall

Critical pitfall: Mismatched probe and scope attenuation settings produce a phantom DC offset in the captured waveform. If the probe is set to 1x while the scope channel is left at 10x, the scope applies an incorrect scaling factor and the "low" portion of a 0 to 24 V square wave can be displayed as approximately 2.4 V instead of 0 V. The reverse condition — a 10x probe on a 1x scope channel — produces a similar but inverted error.

The original capture of the E6A2-CW3C showed Channel 2 sitting at about 0.5 V during the low portion of its cycle while Channel 1 sat cleanly at 0 V. Investigation traced the offset to Channel 2 having never been used before except for a probe compensation check; the attenuation setting on the scope was left at the default 10x while the physical probe was switched to 1x for the measurement. After aligning both the probe switch and the channel menu to 1x, the low portion of Channel 2 dropped to < 0.1 V, matching Channel 1.

Always verify on a known DC source (a 5 V rail from the bench supply, for instance) before trusting the encoder trace. A 5 V rail displayed as 50 V tells you the scope attenuation is set to 10x on a 1x probe — or vice versa.

6. Capturing a Full Revolution

To characterize the encoder for an application, capture at least one full revolution at the application's nominal RPM. The number of A pulses per CSV row should equal the PPR (100 for the CW3C). Confirm by counting rising edges on A over one mechanical revolution:

N_rising = PPR = 100 ± 0

If Nrising differs from PPR, suspect:

  • Loose shaft coupling slipping (mechanical, not electrical).
  • Trigger set too high, missing edges near the top of the pulse.
  • Encoder resolution suffix is not what was ordered — verify the cable label and the box.

7. Integration with PLC High-Speed Counters

The CW3C drives directly into any 24 V sourcing HSC input. Typical wiring targets:

PLC platform wiring targets for E6A2-CW3C
Platform HSC input terminal Configuration register
Allen-Bradley MicroLogix 1400 I0 (input 0, HSC0:A) HSC mode 6 (quadrature 4x)
Allen-Bradley CompactLogix 5380 Local 24 V high-speed input 0 CIO tag, HSC instruction
Mitsubishi FX5U X0 (phase A), X1 (phase B) High-speed counter CH1 in 4x mode
Siemens S7-1200 I0.0 (A), I0.1 (B) on SB1223 or onboard CTRL_HSC, mode = quadrature 4x
Omron CP1E/CP1L 0.00 (phase A), 0.01 (phase B) PRV instruction with PRV2=0003
Arduino Uno/Mega D2 (INT0), D3 (INT1) External interrupt on both edges, quadrature in ISR
ESP32 GPIO 16, 17 pcnt_unit_set_edge_action, 4x decode via PCNT

7.1 Arduino Reference Sketch

// E6A2-CW3C 4x quadrature decode on Arduino Uno
// Wiring: Black -> D2 (INT0), White -> D3 (INT1)

volatile long counter = 0;

void isrA() {
  bool a = digitalRead(2);
  bool b = digitalRead(3);
  // Direction: CW = A leads B
  if (a == b) counter++; else counter--;
}

void isrB() {
  bool a = digitalRead(2);
  bool b = digitalRead(3);
  if (a != b) counter++; else counter--;
}

void setup() {
  pinMode(2, INPUT);
  pinMode(3, INPUT);
  attachInterrupt(0, isrA, CHANGE);
  attachInterrupt(1, isrB, CHANGE);
  Serial.begin(115200);
}

void loop() {
  static long last = 0;
  long c;
  noInterrupts();
  c = counter;
  interrupts();
  if (c != last) {
    Serial.print("pos=");
    Serial.println(c);
    last = c;
  }
  delay(20);
}

7.2 Omron CP1L Structured Text Fragment

// 4x quadrature read into D0 using PRV2
// CIO 0.00 = A, CIO 0.01 = B, CIO 0.04 = Z (unused on CW3C)
LD    P_On
PRV2  #0003 D0   // Pulse counter CH1, mode 3 = 4x quadrature
OUT   D100      // Snapshot to D100 for HMI display

8. Troubleshooting Matrix

Encoder fault-to-cause matrix
Symptom Likely cause Corrective action
No output on either channel Brown/Blue reversed; no supply; blown output driver Verify 24 V across Brown-Blue with multimeter
One channel sits at ~0.5 V during the low portion Scope probe attenuation mismatch Match probe switch and channel menu to 1x or 10x
Output high stuck at supply voltage, no switching Mechanical slip; coupling backed off; shaft key missing Rotate shaft by hand and watch for pulse train
Counts drift when shaft is stationary EMI on long cable; missing pull-down Add 10 kΩ pull-down at receiver; shield one end
Direction inverted from expected A/B wires swapped at PLC, or shaft view convention mismatch Swap Black/White at PLC OR reverse expected direction flag
Counts per revolution wrong PLC HSC not configured for 4x, or wrong PPR variant installed Confirm HSC mode = quadrature 4x; verify part suffix
Missed pulses at high RPM PLC HSC input filter active Disable input filter on HSC inputs (e.g., S7-1200 input filter = none)
Counts accumulate when not rotating Input noise pickup on long cable run Twist pair, ground shield at one end, shorten cable
Shaft turns but counts jitter around a value Bearings worn; mechanical play in coupling Replace encoder; re-seat coupling
High-side voltage low (~20 V instead of 24 V) Long cable + scope probe 10x measuring under supply Verify supply at encoder terminals, not at PSU terminals

9. Mechanical Installation Notes

Despite the encoder's small 25 mm body, the shaft is a 4 mm stub with light-duty bearings. Treat it gently:

  • Use a flexible spider coupling (e.g., an Oldham or jaw coupling) to absorb parallel and angular misalignment up to 0.1 mm and 1° respectively.
  • Never hammer the shaft to install a pulley or sprocket — press-fit only with a shaft-mounting tool or set screw on the driven member.
  • Keep radial load below 10 N and thrust load below 5 N. Belt drives require a tensioner to keep belt pull below the radial limit.
  • Allow 5 mm of axial float in the mating part; do not end-mount the encoder against a hard stop.
  • Mount the body to a flat, machined surface using M3 screws through the two mounting holes; torque to 0.5 N·m.

10. Lifecycle and Spares

Omron rates the E6A2-C mechanical service life at the typical > 10,000 hours at maximum RPM, with derating extending life proportionally at lower speeds. For 24/7 industrial service:

  • Spec the operating RPM at 60% of the mechanical limit (3,000 RPM continuous).
  • Mount the encoder in a position accessible for replacement without disturbing the driven shaft.
  • Keep a spare on the shelf; the pre-wired 0.5 m pigtail is a frequent stockout item and a 5-week lead time is not unusual for the 100 P/R build.

11. Frequently Asked Questions

What supply voltage does the Omron E6A2-CW3C require?

The E6A2-CW3C runs on 12 to 24 VDC ± 10% with ripple below 5% p-p. Some third-party 5 V variants exist; verify the marking on the encoder body or the datasheet that ships with the unit before substituting a 5 V supply.

How many counts per revolution does the 100 P/R CW3C produce?

The CW3C outputs 100 pulses per revolution on each of A and B. With 4x quadrature decoding in the PLC high-speed counter, you get 400 counts per revolution, or 0.9° mechanical per count.

Does the E6A2-CW3C have a Z (index) channel?

No. The 4-wire CW3C pigtail (Brown/Blue/Black/White) provides Vcc, GND, A, and B only. For a once-per-turn index, step up to a 5- or 6-wire E6A2-C variant or to the E6B2/E6C2 families.

Why does Channel 2 of my scope show ~0.5 V offset on the low portion of the waveform?

Most commonly because the probe's physical 1x/10x switch is set to 1x while the scope channel menu is still set to 10x (or vice versa). The scope then applies the wrong vertical scale factor and displays a phantom DC offset. Match the probe switch and the channel menu, then re-compensate the probe, and the offset disappears.

What is the maximum RPM for the 100 P/R CW3C?

The mechanical bearing limit is 5,000 RPM. The electrical response limit at 100 PPR is 12,000 RPM. For continuous duty, derate to 3,000 RPM; reserve 5,000 RPM for short transients only.

Can I extend the 0.5 m pigtail on the CW3C?

Yes, with shielded twisted pair, total length below 10 m, and the shield bonded to ground at one end only. Beyond 10 m, expect edge rounding from cable capacitance and consider a line-driver receiver or a differential-output encoder family.

Is the E6A2-CW3C rated for outdoor or washdown environments?

No. The datasheet explicitly states "No protection is provided against water or oil." The body is IP50 (dust-protected only). Install the encoder inside an enclosure with at least IP65 rating for any environment that exposes it to water, coolant, or oil mist.

Back to blog