Optical Motor Shaft Encoder in Zumo with Signal Processing

I managed to get the shaft mounted optical quadrature wheel encoder https://www.pololu.com/product/2591 to work inside the Zumo chassis.
As the encoder produces an analog signal, and we have seen that it can be heavily impacted by light and other factors, we decided to create a processing PCB which transfors the analog signal into a clean and calibrated digital quadrature signal. With this, we are able to accurately process the signal of the 1:75 Micro Metal Gear Motor at full speed with the 3-tooth encoder. Best of all: the Zumo Bot can perform per software an auto-calibration :slight_smile:

With the hope that this might be beneficial for someone else, all the details, schematics and sources are posted here:

Happy Stepping :slight_smile:


Hello, Erich.

Awesome! Thanks for posting your results. We plan to make a community project blog post about this soon.


The PCB’s for the signal processing arrived :slight_smile:
See http://mcuoneclipse.com/2014/03/14/new-encoder-pcbs-arrived/#more-11035


Hello Erich,

I have a question. Is it possible to replace MCP4728 and MCP6004 used in your project with other ICs preferably in DIP package?

Thank you & best regards,


Hi Igor,
yes, absolutely. We used SMD components as they need less space, are less expensive and can be soldered manually or with a reflow oven.



I’m also using the Micro Metal Gearmotors, with the newer Pololu optical shaft encoders, for some of my robots. I am interested in building some of your encoder boards for myself, possibly using 0.1" spaced headers instead of soldering wires directly to the board. However, I could not find any Eagle or other CAD files for your encoder board. Do these files exist in your GitHub repo somewhere?

Thanks in advance!


Yes, the Eagle files are on GitHub:


[quote=“Erich”]Yes, the Eagle files are on GitHub:
I found them, thanks! This is great work, and will save me a lot of effort. :slight_smile: