The Handy working at slow speeds - a scientific video study


The Handy has a lower speed limit. But how does it behave when the actions are slower than the limit? I think knowing this could help us all to do better scripts as many scripts contain actions below the limit.

So, let’s do a little study to find out!

What is the specificed lower limit of a Handy?
@handyAlexander should know and wrote in this thread:

Handys speed is 32-400mm/s. Those limits are enforced by the FW. However, due to acceleration time, the top speed is more like 330-350mm/s. I believe 1 unit is 1mm/s when the stroke length is set to 100mm. The max stroke length on Handy is 96mm (but next FW we will increase it to 100mm on Handy 1.0 and 104mm/s on Handy 1.1)

So the lower limit for a current Handy in funscript units (a full stroke is 100 units) should be 32*(100/96) ≈ 33 units/s.

To see how the Handy is performing in speeds below 33 units/s, I designed a simple script to try out both simple full length slow strokes but also what happens when there is a faster stroke followed by a slower one. Tried to make it simple and clear to be able to see what’s going on.

Script contents:

  • An initial upstroke just to calibrate
  • Simple slow full length strokes down+up: 10 units/s, 20 units/s, 30 units/s, 40 units/s
  • Fast stroke (100 units/s) transitioned to slow at 50% and up again: 10 units/s, 20 units/s, 30 units/s, 40 units/s
  • Halved strokes: 20 units/s to 10 units/s, 30 units/s to 15 units/s, 40 units/s to 20 units/s, 50 units/s to 25 units/s , 60 units/s to 30 units/s
  • Finally, a pretty smooth curve going from faster to slower and back again: 40 units/s to 30 units/s at 75% to 20 units/s at 50% to 10 units/s at 25%

What is looks like:

The script if you want to try it out:
Handy slow test.funscript (1.7 KB)

Test subject: My 1.0 Handy, two years old and used about 3 times/week, firmware 3.2.3

I documented the test subject running this script, then loaded the vid and script in OFS, synced the script and did a screen recording.


Early analysis

  • The initial fast stroke turned into a slow one, not sure why but probably has to do with the next super slow stroke
  • Even at 30 units/s downstroke, the Handy need to stop so yes - the minimal speed is between 30 and 40
  • It can handle slower strokes better on the upstroke, where 30 units/s is not a problem. It seems to be able to go close to 20 units/s upwards.
  • As many users have observed, it does try to be smart when movement is too slow to avoid halting. Like in the last halved stroke, where the upwards movement is starting earlier to make it stop for a shorter time.

Feel free to add your observations and please try the script, would be interesting to see if there is a difference between devices depending on condition.


This is true.
It’s really hard to script super slow videos sometimes. So I use small vibrations to make these slow strokes interesting.
But it’s a time consuming work… Can’t be used all the time.

1 Like

Thanks for doing this test. It is very useful.

This matches my experience. The FW may blend two sections into a single downward stroke and stops earlier than the script indicated.

A workaround I’ve discovered to script slow action is to use tiny vibrations like the following. This ensures all actions are above 40unit/s. Whether or not this is suitable will however depends on the scene.


Thanks for posting this. This is the most frustrating aspect of scripting for me right now, I think we all develop little tricks to deal with it.