Real-time vibration.
Raw capture
Record raw samples to PSRAM, then download as CSV. Useful for offline analysis in MATLAB / Python / Excel. Fewer axes or a lower sample rate → longer recording at the same PSRAM cost.
Per-axis amplitude
Time-domain waveform — 3 axis
RMS trend — last 120 s
FFT preview — 256 bin
Spectrum & waterfall.
Top — amplitude at each frequency (512-point FFT, 0–3,330 Hz). Peak at 1× RPM means imbalance; peaks at 2×/3× mean misalignment or looseness; broadband noise above 500 Hz usually means bearing wear. Bottom — history over time (newest at top). Watch for peaks drifting or growing — those are the early warning.
Magnitude — linear
Order amplitudes
Harmonic tracking
Each harmonic of running speed is tracked over time so a developing fault is visible before it dominates the spectrum. A trace ramping up without the others is a stronger signal than overall RMS rising.
Diagnosis hints
Torsional vibration.
Gyro spectrum — 0–833 Hz
Torsional / angular-rate vibration from the gyro (°/s), 1.66 kHz sample rate. Suspended during a balance or raw capture.
Time-domain waveform — angular rate
Raw capture — gyro
Record raw angular-rate samples (°/s) to PSRAM, then download as CSV for offline torsional analysis. Fewer axes or a lower sample rate → longer recording at the same PSRAM cost.
Stop guessing. Start measuring.
Mount the sensor so the axis arrow points radially — straight at or away from the spindle centerline. Not skewed, not axial. Mark a reference line on the spindle with a sharpie for the tach pickup. The device computes correction weight and angle using the influence coefficient method.
Step 1 — Initial run
Measure baselineBring the spindle to target RPM. Hold it steady. Pick how long to capture, then tap Measure — longer captures give better SNR. The 1× component is extracted via Goertzel at the measured RPM.
How it works
- 01Stick the magnetic sensor on the spindle housing. Apply reflective tape to the spindle.
- 02Measure initial vibration — amplitude A₀ and phase φ₀ at 1× RPM.
- 03Attach a known trial weight. Measure again.
- 04Device computes correction weight and angle. Place it. Verify.
Step 2 — Trial weight run
Place + measureDrag the weight marker on the polar plot to where you placed the trial weight, or type exact values below. Start the spindle at the same RPM, then measure.
Trial position
Correction vector
Predicted outcome
Estimate only — not a calibrated ISO 1940-1 measurement. Verify with traceable equipment for certification.
Place the correction weight at the indicated position. Re-run the spindle, then tap Verify to confirm and refine.
List the weights and (optionally) the fixed angle positions you can mount at. Both are saved between sessions. Tap a suggestion to pre-load the placement modal.
What was measured
Step 4 — Measure post-correction
Confirm before/afterPlace the calculated correction weight on the rotor, then click Measure to capture the new vibration and see the before/after improvement.
Before → After
Compared at — RPMHistory.
Reduction trend
Last 50 runsRuns
—| Uptime / date | Label | RPM | Pre (g) | Final (g) | Reduction | Correction |
|---|
Log & history.
RMS history — last 24 h
Alert at +50% baselineVibration analyzer.
Tach-free condition metrics from the live accelerometer: ISO 10816 velocity severity, a spectral running-speed estimate, and envelope/demodulation bearing-fault screening. Spin the machine, then Analyze. ⚠ Energy above the trustworthy band (>1.7 kHz) — readings may include aliased tones; add mechanical damping or reduce speed.
Envelope spectrum — demodulated bearing-rate peaks
low-frequency peaks = candidate defect ratesTorsional vibration gyroscope live
Angular-rate vibration the accelerometer can't see. The gyro runs continuously, so this reads live with the rest of the analyzer — it's suspended only during a balance or raw capture. Housing-mounted, this is torsional vibration (not absolute shaft RPM, which needs an on-rotor mount).
Fleet.
Live status for every GV-device on the same network. Enter a serial (e.g. GV-FSS3) or a hostname / IP to add one — it's resolved via mDNS (gv-xxxx.local). The list and polling state are saved locally in this browser.
Add device
Devices
0 devicesNo devices yet — add one above.
Settings.
Network
Security
Static IP
Device
Device mode
Switch between vibration analyzer (logger + spectrum only) and balancer (adds the balance wizard). Persists across factory resets. Requires a reboot to take effect.
Danger zone
Reset all settings, clear NVS, or return the device to factory defaults. Cannot be undone.
Tachometer
Firmware
Updates
Debug
Diagnostic tools. Click to lock the panel again:
Network speed
Measures browser↔device Wi-Fi throughput. Httpd serves zero bytes locally for the DL/UL tests so any latency is the link itself.
Stutter monitor
Tracks WebSocket frame inter-arrival times. The expected interval is 33 ms (30 Hz push). Gaps over 200 ms are counted as stutters. Useful for catching transient link issues that don't fully disconnect.
Device diagnostics
Snapshot of WiFi state, heap, FreeRTOS tasks, and the last 32 HTTP requests with timings. Refreshes every 3 s while open.
WS stall events — captured by the device whenever its 33 ms push cycle stretched >100 ms. Shows the hottest task during the stall, the most-recent HTTP request, and heap state at that moment.
Remote access (Cloudflare relay)
When enabled, the device opens an outbound WSS tunnel to relay.grayvolt.ai and accepts forwarded requests from callers carrying the relay caller token. Defense in depth: device-side allowlist blocks destructive endpoints. Auto-disables 24 h after enable.
Remote live stream (streams device live frames through the relay to this page). Only works while relay is enabled.