Sensors to Control Handy & Nobra with Movements

Update 28.11.2021
Introducing the new sensor ‘Pyro’ using a Raspberry Pi.

In the latest version of HandyControl I have included a new feature that lets you control the speed and stroke of Handy with a sensor. The current build is more a beta to show you some possibilities and give you something to try out. Feedback is always welcome.

This was an old project which I took on many years ago but without a proper use case I did not continued on it. Surprisingly all components were still working and even the shop where I bought them was still selling it. So I got some more just to have some spare parts and also to check if they are still compatible.

I have rewritten the whole code to make it compatible and easier to use with HandyControl.
After this was build I have included support for a first mobile application that forwards its sensor data to HandyControl so you can use your mobile phone instead of the hardware.

This is a beta feature so not everything might work perfect out of the box.

Types of values

  • Acceleration is the raw sensor data that is not much of use to directly control Handy. I have other plans for it in future releases including OFS integration @gagax123.

  • Angles are derived from the sensor data and scaled to the chart height of 0-100%. Tilting the sensor will move the line between 0% and 100% and thus can be used to control speed and stroke.

How to control Handy with a mobile application

Sensorstream IMU+GPS Android

  • Select the app in the device settings and use a port of your choice.
  • Use the “Fast” setting with the three default checkboxes on the toggle sensor page.
  • In the app enter the IP and port of your PC and enable UDP streaming.


  • Select Mobile App as Source (1)
  • Select Handy as target device (2)
  • Enable the XY checkbox (3) to see the curve in the chart
  • Enable the Speed checkbox (4) or / and Stroke checkbox (5)
  • Adjust the offset levels of your choice. (6)
  • Smooth the curve as you like. (7)
  • Start / stop the control (8).

How to control Nobra with a mobile application

  • Same as above but select Nobra as target.
  • Connect to Nobra in the Misc settings of HandyControl.
  • Nobra will react much faster than Handy because of its direct connection.

Tips & Tricks

  • XY stroke angle works very well with scripts. You can run the script and modify the stroke on the fly to survive fast script sections.
  • XY stroke + speed angles also works well in automatic mode.
  • Only enable values/curves that you need to improve performance.
  • If you are using speed and stroke checkboxes at the same time then you should double the refresh rate value so Handy has enought time to react before the next command is sent.
  • If you don’t have an Android phone or found another app that is worth a look then select the Unknown App in the dropdown and send me the raw data from the log window. The app must support UDP streaming to see log data.

Known Issues

  • The app stops sending data sometimes when the phone is not moved for a while. Maybe its because it’s outdated or because the phone is in sleep mode. Needs some investigation…

How to control a devive with the hardware sensor :100: :cupid:

The main reason I have started with the hardware sensor was its size and independency. Adding support for mobile apps was just for convenience and to give you some preview :wink:

All you need is the USBI2C interface and the acceleration sensor to get started. Everything is Windows 10 compatible. Cables included. You can get the parts build up or as an assembly kit which saves you some money if you have a soldering iron.

Interface (Assembly Kit)
Sensor (Assembly Kit)

How the sensor is used is completely up to you. Because of its size you can attach it to almost anything and I realy recommend that to anyone who wants some hands free fun.

This is a velcro strip with a custom extension cable to use as a wristband.

Another one glued to a fleshlight case.

The 2.54 mm sockets, stripboard and custom cable is not included in the products!
I wish I had a 3D printer…


This is rad! Is the idea that tilting the sensor increases/decreases the speed, and rolling it increases/decreases the stroke length (or vice versa)?

I think acceleration could be used for speed if you did some kind of ‘number of times the acceleration absolute value went above some threshold’ count to give an approximation of how many strokes were happening per second.

You can set speed and stroke on different values so thats posibble. I have not tested this yet with my sensor but the mobile app delivers more data which can also use the magnetic field direction vs earth. Could be another value to be used one day.

In my first try I used the acceleration to detect the peak values but I have not included this in this version. Thats something for OFS I wan’t to integrate later :slight_smile:

1 Like

I imagine this will only get better with streaming (HDSP)!

I know this is an old post at this point but it seems like this would have potential as a recording device for OFS that could be put on the hips or forehead while making content, mount on the opposing side or blue it up to be removed AI video editing stuff and you’ve got a perfect funscript recording of the activity.