alvaro-oliver
Member
Hi everyone,
I wanted to share a detailed overview of four different ways to measure the absolute rotational speed of a turntable. Some are modern, some are traditional, but all provide useful insights into what's really happening under the platter. The goal here is to compare the practical accuracy and resolution of each method using real data — all signals were captured simultaneously using the setup described in this previous post.
This is the classic approach, supported by standards like IEC 60386 and DIN 45507. You play a test record with a 3000 or 3150 Hz tone, then use a zero-crossing frequency counter — typically after band-pass filtering — to estimate instantaneous frequency and compute RPM from that.
Theoretical resolution:
If you analyze 1.8 seconds of a 3150 Hz tone, you get 5670 cycles. The smallest detectable change is 1/5670 ≈ 0.0176%, or 0.00588 RPM per revolution.
Using longer measurements (e.g. 20 seconds ≈ 11 revolutions), that improves linearly:
Final resolution ≈ 0.00588 / 11 = 0.00053 RPM.
This doesn’t even account for interpolation or DSP tricks — just raw counting.
But here's the catch: any deviation in the tone frequency (from record mastering, wow, etc.) will skew your results. To explore this, I compared five tests using an Analogue Productions test record vs. five using a Clearaudio disc:
Average RPM:
→ The test tone consistently under-reports RPM by ~0.38. Also: the standard deviation of the audio method is ~0.0062 RPM, while the FG signal shows incredible consistency (±0.0003).
That’s unbeatable. But…
I ran a quick test where I cooled the sensor and monitored its reading as it warmed up:
You can see the drift as it stabilizes, even though the turntable speed (from FG) is constant.
I moved the gyro across the platter: center, 3 cm, 6 cm, 12 cm. Results? No significant change, except for temperature offset — as expected. Angular velocity is constant regardless of radius.
Many Direct Drive turntables have an internal frequency generator — usually Hall sensors inside the motor producing a pulse train (e.g. 50 Hz at 33⅓ RPM).
In this case, I tapped into the FG signal of a Reloop RP-4000 MK2, processed it with a reciprocal frequency counter using an STM32 microcontroller, and streamed the data to a laptop.
This is a “homemade FG.” I built a module with a laser beam and photodetector, producing one pulse per revolution. A fast Schmitt trigger cleans the edges (<100 ns rise time), and the system logs the time between pulses.
Here’s a comparison of both systems using an AWG:
Here’s a batch of five full test captured over 20 seconds:
For fun, I ran a speed change test (no audio signal available at 45 RPM). The gyro and FG track the speed ramp beautifully — even catching the motor overshoot. The optical method lags by one full revolution (as expected from its lower update rate).
These tests aren’t meant to be conclusive, but I hope they shed some light on the strengths and quirks of each method. Happy to hear your thoughts or suggestions — or if you've tried something similar!
Cheers,
Alvaro
I wanted to share a detailed overview of four different ways to measure the absolute rotational speed of a turntable. Some are modern, some are traditional, but all provide useful insights into what's really happening under the platter. The goal here is to compare the practical accuracy and resolution of each method using real data — all signals were captured simultaneously using the setup described in this previous post.
Method 1: Audio Test Signal Analysis
This is the classic approach, supported by standards like IEC 60386 and DIN 45507. You play a test record with a 3000 or 3150 Hz tone, then use a zero-crossing frequency counter — typically after band-pass filtering — to estimate instantaneous frequency and compute RPM from that.
Theoretical resolution:
If you analyze 1.8 seconds of a 3150 Hz tone, you get 5670 cycles. The smallest detectable change is 1/5670 ≈ 0.0176%, or 0.00588 RPM per revolution.
Using longer measurements (e.g. 20 seconds ≈ 11 revolutions), that improves linearly:
Final resolution ≈ 0.00588 / 11 = 0.00053 RPM.
This doesn’t even account for interpolation or DSP tricks — just raw counting.
But here's the catch: any deviation in the tone frequency (from record mastering, wow, etc.) will skew your results. To explore this, I compared five tests using an Analogue Productions test record vs. five using a Clearaudio disc:
| Test Name | Audio (RPM) | FG (RPM) |
| 250803_131124-AN_PRODS | 32.9433 | 33.3312 |
| 250803_131154-AN_PRODS | 32.9424 | 33.3304 |
| 250803_131228-AN_PRODS | 32.9426 | 33.3304 |
| 250803_131258-AN_PRODS | 32.9437 | 33.3314 |
| 250803_131336-AN_PRODS | 32.9432 | 33.3311 |
| 250803_131756-CLR_AUDIO | 32.9446 | 33.3312 |
| 250803_131828-CLR_AUDIO | 32.9556 | 33.3311 |
| 250803_131911-CLR_AUDIO | 32.9450 | 33.3315 |
| 250803_131944-CLR_AUDIO | 32.9560 | 33.3308 |
| 250803_132029-CLR_AUDIO | 32.9571 | 33.3309 |
Average RPM:
- Audio (AAPT): 32.9430
- Audio (Clearaudio): 32.9516
- FG reference (both): ~33.3310
→ The test tone consistently under-reports RPM by ~0.38. Also: the standard deviation of the audio method is ~0.0062 RPM, while the FG signal shows incredible consistency (±0.0003).
Method 2: Gyroscope
Gyros measure angular velocity (ω), which is independent of radius — great for rotating systems.- At 33⅓ RPM, ω = 200 °/s.
- A ±250 dps range gyro like the LSM6DSO at 16 bits gives 8.75 mdps/LSB → 0.00146 RPM/LSB.
- At 200 Hz sampling: resolution ≈ 0.00001 RPM.
That’s unbeatable. But…
Temperature Test:
I ran a quick test where I cooled the sensor and monitored its reading as it warmed up:
| Test Name | Temp (°C) | Gyro (RPM) | FG (RPM) |
| 250803_181744-GYRO_TEMP | 1.23 | 33.2285 | 33.3308 |
| 250803_181816-GYRO_TEMP | 8.34 | 33.2393 | 33.3316 |
| 250803_181845-GYRO_TEMP | 11.74 | 33.2466 | 33.3315 |
| 250803_182031-GYRO_TEMP | 16.81 | 33.2527 | 33.3312 |
| 250803_182249-GYRO_TEMP | 20.89 | 33.2524 | 33.3312 |
| 250803_182621-GYRO_TEMP | 23.23 | 33.2511 | 33.3321 |
You can see the drift as it stabilizes, even though the turntable speed (from FG) is constant.
Tilt Test:
Mounting matters. A ~15° tilt produced a shift of ~0.5 RPM, even though the speed stayed the same.| Test Name | Tilt angle | Gyro | FG |
| 250803_185741-GYRO_FLAT | ~ 0° | 33.2243 | 33.3319 |
| 250803_185812-GYRO_FLAT | ~ 0° | 33.2263 | 33.3310 |
| 250803_185842-GYRO_FLAT | ~ 0° | 33.2200 | 33.3313 |
| 250803_190000-GYRO_TILT_UP | ~ +15° | 32.7620 | 33.3321 |
| 250803_190030-GYRO_TILT_UP | ~ +15° | 32.7650 | 33.3316 |
| 250803_190105-GYRO_TILT_UP | ~ +15° | 32.7604 | 33.3317 |
| 250803_190159-GYRO_TILT_DOWN | ~ -15° | 32.7428 | 33.3306 |
| 250803_190231-GYRO_TILT_DOWN | ~ -15° | 32.7417 | 33.3313 |
| 250803_190306-GYRO_TILT_DOWN | ~ -15° | 32.7372 | 33.3313 |
Radius Test:
I moved the gyro across the platter: center, 3 cm, 6 cm, 12 cm. Results? No significant change, except for temperature offset — as expected. Angular velocity is constant regardless of radius.
| Prueba | radius (cm) | Temp. °C | Gyro | FG |
| 250803_195808-GYRO_RAD_0 | 0 | 19.54 | 33.2326 | 33.3341 |
| 250803_195839-GYRO_RAD_0 | 0 | 19.96 | 33.2241 | 33.3318 |
| 250803_195910-GYRO_RAD_0 | 0 | 20.43 | 33.2269 | 33.3315 |
| 250803_200021-GYRO_RAD_6 | 6 | 21.60 | 33.2288 | 33.3322 |
| 250803_200050-GYRO_RAD_6 | 6 | 21.76 | 33.2299 | 33.3316 |
| 250803_200120-GYRO_RAD_6 | 6 | 21.84 | 33.2258 | 33.3314 |
| 250803_200209-GYRO_RAD_12 | 12 | 22.29 | 33.2335 | 33.3320 |
| 250803_200246-GYRO_RAD_12 | 12 | 22.12 | 33.2315 | 33.3316 |
| 250803_200325-GYRO_RAD_12 | 12 | 21.88 | 33.2327 | 33.3315 |
| 250803_200443-GYRO_RAD_3 | 3 | 22.71 | 33.2336 | 33.3309 |
| 250803_200517-GYRO_RAD_3 | 3 | 23.31 | 33.2333 | 33.3316 |
| 250803_200549-GYRO_RAD_3 | 3 | 23.79 | 33.2337 | 33.3317 |
Method 3: Frequency Generator (FG)
Many Direct Drive turntables have an internal frequency generator — usually Hall sensors inside the motor producing a pulse train (e.g. 50 Hz at 33⅓ RPM).
In this case, I tapped into the FG signal of a Reloop RP-4000 MK2, processed it with a reciprocal frequency counter using an STM32 microcontroller, and streamed the data to a laptop.
- FG signal: 50 Hz → 1 pulse every 20 ms.
- Counter resolution: 1 MHz.
- → Theoretical resolution (1.8 s): ±0.00167 RPM
Method 4: Optical Sensor
This is a “homemade FG.” I built a module with a laser beam and photodetector, producing one pulse per revolution. A fast Schmitt trigger cleans the edges (<100 ns rise time), and the system logs the time between pulses.
- Rotation = ~0.555 Hz at 33⅓ RPM.
- 1 MHz timer resolution → ±0.00003 RPM over 1.8 s!
Here’s a comparison of both systems using an AWG:
| Source | RPM Measured | Quantization Error |
|---|---|---|
| FG (50.000 Hz) | 33.33276 | ±0.00057 RPM |
| Optical (0.55555 Hz) | 33.33326 | ±0.00007 RPM |
Side-by-Side Comparison
Here’s a batch of five full test captured over 20 seconds:
| Test Name | Audio | Gyro | FG | Optical |
| 250803_224108-SPEED_MEAS | 32.9532 | 33.2393 | 33.3297 | 33.3344 |
| 250803_224225-SPEED_MEAS | 32.9385 | 33.2384 | 33.3314 | 33.3326 |
| 250803_224309-SPEED_MEAS | 32.9255 | 33.2386 | 33.3309 | 33.3328 |
| 250803_224353-SPEED_MEAS | 32.9420 | 33.2403 | 33.3317 | 33.3329 |
| 250803_225154-SPEED_MEAS | 32.9369 | 33.2304 | 33.3307 | 33.3383 |
33⅓ to 45 RPM Transition Test
For fun, I ran a speed change test (no audio signal available at 45 RPM). The gyro and FG track the speed ramp beautifully — even catching the motor overshoot. The optical method lags by one full revolution (as expected from its lower update rate).
| Method | RPM @ 45 |
|---|---|
| Gyro | 44.8444 |
| FG | 44.9862 |
| Optical | 44.9889 |
Final Thoughts
- Audio test tones are standardized and widely available, but vulnerable to pressing errors and tone inaccuracies. The method underestimates actual speed and has more variability.
- Gyroscopes offer insane resolution and dynamic response — but are very sensitive to tilt and temperature. Not ideal for absolute RPM unless you apply correction.
- Frequency generators and optical sensors give the cleanest, most stable absolute speed — provided your timer and clock are accurate.
These tests aren’t meant to be conclusive, but I hope they shed some light on the strengths and quirks of each method. Happy to hear your thoughts or suggestions — or if you've tried something similar!
Cheers,
Alvaro