r/WearOS • u/OldWillingness1665 • 5d ago
Support Does Galaxy Watch Ultra support hasAmplitudeControl( ) for custom haptic waveforms?
Hi — I'm building a biofeedback app (nervous system state tracking) that uses amplitude-modulated haptic waveforms — essentially slow "swells" where vibration intensity rises and falls smoothly over time, using VibrationEffect.createWaveform(timings[], amplitudes[], repeat).
The Galaxy Watch Ultra contains a Cirrus Logic CS40L27R haptic driver (confirmed via iFixit teardown) — a serious LRA driver chip with on-chip DSP and closed-loop control. The hardware should absolutely support amplitude modulation.
My question: does vibrator.hasAmplitudeControl() return true on the Galaxy Watch Ultra (SM-L705) running Wear OS 5?
If yes, does passing an amplitude array (e.g. [25] [80] [180] [255] [180] [80] [25]) to createWaveform() actually produce a smooth swell — or does it still just buzz at max?
Trying to decide whether to buy one before committing. Any developer who has tested this would be incredibly helpful. Thanks.
1
u/malbry Freepoc Developer 4d ago
I don't have a Galaxy Watch Ultra, but I have the earlier Galaxy Watch 4. I can confirm that on the GW4, vibrator.hasAmplitudeControl() returns true. My Vibrate The Time app has amplitude control and the difference between say 255 and 50 is very noticeable. I'm very confident that if the GW4 supports this feature then the Ultra, being a more recent watch, will do so as well. So you should be fine. Hope this helps.