This is a quadrature encoder based on the WW-12 Wheel Watcher encoders. They cost nearly 50 bucks for two of them, so we designed our own. This is a virtual encoder that allows you to see the signal and test different encoder disk styles and sensor arrangements.
Simulator for the wheel and encoder system contained on muribot. Demonstrates how we take the encoder ticks and translate them into speeds. For some reasons the speed will keep increasing on here, I'm not sure why, so copy the code into a new sketch instead of using OpenProcessing.