Shaker Motor Randomness: Can It Be Biased?

A shaker motor is nothing more than a brushed DC eccentric-weight assembly bolted to a game board, and anyone who tells you it produces true random output has never scoped one on a bench. The moment you wire an oscilloscope to the armature and log amplitude envelopes across ten thousand cycles, the illusion collapses. The mechanism is deterministic at the hardware layer, and the perceived randomness is a firmware artifact layered on top. That distinction matters enormously when you are auditing shaker motor randomness for fairness certification.

The Physics of an Eccentric Weight Never Lies

An eccentric mass spinning at 3,000 RPM generates a sinusoidal force vector with a fixed phase relationship to commutation. Brush wear, bearing tolerance, and voltage sag introduce micro-variations, but these are drift parameters, not entropy sources. A worn brush pair shifts the amplitude distribution by roughly 4 to 7 percent over a 500-hour duty cycle, which is measurable and repeatable. That is bias, plain and simple. If an operator claims the motor itself is the randomizer, they are selling you a story that fails the first torque-ripple test.

Where the Real Randomness Actually Lives

The genuine entropy is injected by the controller, not the hardware. Typical implementations sample a hardware RNG or a seeded PRNG at the driver stage, then map the output to pulse-width modulation duty cycles. If that seed is derived from a clock drift register with insufficient jitter, the entire shaker motor randomness stream becomes predictable. I have torn down controllers where the seed source was a free-running timer sampled at fixed intervals, and the resulting sequence passed a naive chi-square test while failing serial correlation at lag 7. That is the classic trap: aggregate tests pass, sequential tests expose the bias. 😤

Bias Vectors You Can Actually Measure

Three failure modes dominate field audits. First, duty-cycle quantization: an 8-bit PWM driver gives you 256 discrete amplitude levels, and mapping a uniform distribution onto that grid introduces a measurable staircase bias at the extremes. Second, thermal derating: as coil temperature climbs, resistance rises, amplitude falls, and the effective random range compresses by up to 12 percent. Third, and most damning, firmware clamps: many drivers cap maximum duty at 92 percent for thermal protection, which truncates the upper tail of the distribution. Run a Kolmogorov-Smirnov test against a uniform reference and the truncation shows up immediately.

Auditing the Driver Firmware Is Non-Negotiable

You cannot certify a shaker assembly by observation alone. Pull the firmware, decompile the driver routine, and trace the seed path. Look for fixed-interval sampling, look for modulo bias in range reduction, and look for any clamping logic that reshapes the output distribution. A properly designed driver uses rejection sampling against a hardware entropy source and re-seeds on every event trigger. Anything less and the shaker motor randomness claim is theater. The bench data does not care about marketing language, and neither should your audit report. 🎯

Statistical Tolerance Bands for Field Testing

Set your acceptance window before you touch the hardware. For a 10,000-event sample, a uniform reference should yield a KS statistic below 0.0136 at the 95 percent confidence level. Amplitude variance across the sample should hold within 8 percent of the mean, and autocorrelation at lags 1 through 10 must stay inside the 0.019 bounds. Any excursion beyond those numbers points to a deterministic component bleeding into the output stream, and the most common culprit is a clock-derived seed with insufficient jitter entropy feeding the driver stage.