Here's a status update for you kids!
I finished a first pass at the code for the data acquisition module, to measure the time to each successive motor rotation on spool-up. The module uses a PIC12F683, the same processor as I used for my transponders. It runs on a 20MHz crystal, so it does 5MIPS, and the internal timer is also clocked at 5MHz, giving it 0.2us resolution. That should be plenty! The code is arranged to capture the timer value for 16 consecutive sensor signal falling edges after the initial edge, convert the times to decimal, and spit them out on a serial port (done in software, since this processor doesn't have a UART). The data can then be processed on a spreadsheet (I'm using LibreOffice).
I initially tested the timing jitter using my "good" Siglent digital signal generator. The jitter was acceptable when sampling a 1kHz square wave, but when I went down in frequency-- giving longer periods to time-- the jitter increased. I checked the code and could see no reason for this, so I decided to swap out the signal generator with my old Madell analog generator. The jitter was much improved! I'll attribute this to the digital signal generator using a wavetable, with the pointer into the wave table not having enough resolution.
For further testing, I created a simple crystal-controlled 1Hz timebase generator, and the jitter is very good: the deviation is one count (0.2us).
Here is the data for the different signal sources:
And here's a look at the 1Hz timebase generator (for which I temporarily borrowed my servo driver case and circuit) on the left, and the data acquisition module on the right. There's not much to either one!