I managed to get a pair of Tascam TT-M1 scratch control units. This: http://tascam.com/product/tt-m1/
Tascam manufactured these devices at least 10 years ago. It is a discontinued product for years, however it is a very great tool. They made it to control their CD players with a turntable, by mounting the TT-M1 on it and moving the vinyl. The ancestor of timecode. It works very well regarding forums. It is hard to buy new ones, but I managed to get one on e-bay and another one in a local store from some dusty forgotten shelf, for less than half price.
I came to the conclusion in my previous posts, to not implementing absolute positions, because it is not really needed for a MIDI controller. It can be managed by buttons, jog seek mode, or by touching the waveform on the iPad etc. In that case I only need the speed and the direction. The Tascam unit is built to provide this information and I’m going to convert its output to MIDI. I haven’t found such project on the net, however it was required by some people on different forums.
I’m going to make a post about the reverse engineering of Tascam TT-M1, but it is basically an optical quadrature encoder. It provides two square waves phase shifted. Just like the timecode vinlys. But the signal level is a rail-to-rail 5 V square wave not sinus. I don’t have to deal with RIAA correction and gain and signal levels. I will make my 1.0 version with this signals.
This alternative make me think of another method for timecode signal processing. I could make the same square wave from Serato timecode with a RIAA corrector (phono pre-amp), a comparator, and an op-amp with AGC or some fix gain. With this method, I don’t need to use A/D converters in the STM32, just a timer in Optical Encoder Interface mode. A lot more simple than conversion. The same software and the theory could work for the timecode vinyls as with Tascam device.
I studied the STM32F4 reference manual, and there is a hardware support for this kind of optical encoder in the hardware timers of the microcontroller as I mentioned before. Sounds good for my project.