I recovered the rotary encoder of a mouse, and experimented with it.

Here's an overview of the articles that show how to control the wheel from an FPGA, and Arduino and a few other boards.

ec101102w2e-vax rotary encoder

 

Also check out the research that scanlime is doing on a 74xx-chip mouse.

 

The Blog series:

 

Content
Part 1: Electronics
Part 2: Capturing Input on Cypress PSoC4
Part 3: Capturing Input on an Arduino
Part 4: Capturing Input on a Texas Instruments Hercules LaunchPad with eQEP
Part 5: Capturing Input on an FPGA
Real World Application: Hercules LaunchPad and GaN FETs: Control Big Power with a Flimsy Mouse Scroll Wheel

 

{gallery} Quadrature Encoder Picture Gallery

rotary encoder

Quadrature Encoder Debounce and Pull-up schematic

rotary encoder

Capture Encoder Output A and B

Quadrature Decoder Signals explained in TI RM46x Manual

rotary encoder rigol capture

Encoder signal capture

rotary encoder rigol capture

Encoder signal capture

Photo 12-07-15 21 16 33.jpg

With a Cypress SoC

With an Arduino

texas_instruments hercules launchpad equep rotary_encoder quadrature_encoder

With a Hercules LaunchPad

Decoder State Machine as documented in TI RM46 TRM

RM46 decoder config in HALCoGen

fpga xilinx papilio spartan quadrature

On a Papilio with Xilinx Spartan 6

fpga rotary_encoder papilio xilinx

FPGA PWM output Signal capture