OSR2/SR6 to Intiface Central connection unofficial rough guide

Hi. Buttplug.io developer here!

Congrats on being part of the 0.00002% of users with that kind of setup.

The thing to remember is that I’m a single developer trying to support around ~50k installs of the software across 5 platforms and 500+ toys.

If you really want to integrate that much special hardware together, do not expect me to support it fully unless you specifically pay me for doing the integration work.

80% of my users have just a vibrator. Maybe 10-19% have a stroker. 1% might have a fucking machine. Some percentage less than that will have DIY hardware like the OSR-2/SR-6.

Multi-machine installed dungeon setups are EXCEEDINGLY rare and require a ton of very specific integration. You can’t expect me to just handle that.

Also buttplug.io will most likely never support estim directly. It’s too different from how our current protocol system works and I’m not comfortable doing signal generation for systems I don’t know well, which estim definitely falls under.

1 Like

Right now Buttplug/Intiface defaults to single axis because we’re still figuring out how to deal with all of the possible exposed axes on the device. Not only that, it’s about the only device we have to worry about where there may be differing features from device to device, so building that functionality into the software would be specifically for OSR-2/SR-6 owners. While I’ve built multiple OSR-2s myself and have a FunSSR1, there just aren’t enough users compared to the rest of my userbase to push this functionality up my priority list right now.

That said, this is mostly a UI issue, and hand editing the user config can expose what you want. I just need to update the documentation to reflect the new state of things, and I do have that on my todo list, I’m just busy with other stuff right now.

(Also: I have no idea why you’re having to talk at 9600 baud, if you’re using USB serial baud rate really shouldn’t matter.)

1 Like

Yep yep, I made this rough guide to just try to help those trying to connect have an easier time while giving yourself space to work through what you needed to do so. Along with making sure that anyone looking to connect know that single axis is all they are going to get for now rather than start complaining.

The buad rate I mentioned since from what I could tell and it was required to hit the add button (and I am using USB). Where I got 9600 from was the device manager and so since all other information from it worked I thought that was the right amount however it did not as no movement occur so once I realized it should have been 115200 and tried that, it then moved.
I mentioned it as if I made the mistake then someone else might do so in the future. Since it wasn’t clear as day to me in hindsight either and made setup not exactly be an copy and paste job of what device manager showed. (I hadn’t changed any of the device manager settings, what was shown was the defaults)

point taken, apologies

Hi! Thank you for trying to help the community out! Im still very green in this space but im looking to upgrade my chepo single axis amazon auto stroker with something more sophisticated and after my research am most attracted to the SR6 due to the multi axis utility and feel like it might be future proof. With that being said i understand buttplug.io doesnt have any plans to provide direct interagtion for these DIY toys, does this thread/comments imply that through config mods we could have some kind of usability for multi axis mobility in games?

@Kapnik The only purpose of this thread is to show people it’s possible and how to connect an T-code device like the OSR2/SR6 to Intiface Central. (no idea if this works for SSR1) With the warning that it is not showing how to do anything more than single-axis.

That said I personally believe that if you have the skills you can make an mod or an program to make it possible for multi-axis to be done.

Additionally it hasn’t been confirmed that Intiface Central won’t in say…5-20 years time have gotten multi-axis intergration, just it won’t be anytime soon. At least that’s my personal view from what qdot said of these two things just above (with other posts in the past I’ve found):

and

PS I won’t qdot if it’s possible to put on Buttplug.io some place to see the market/usage share overview of toys so people can see if they are about to purchase (if they haven’t already) something that is not widely used or not. (As https://iostindex.com doesn’t show market/usage share)

1 Like

I have a FunSSR1 on my desk right now, works fine with Intiface Central.

I’ve needed to write a blog post about this for a while so I guess I’ll just throw the content here for now, feel free to point at this post whenever you need to make this point to someone:

Ok, so, let’s clarify what “multi-axis integration in Buttplug” means.

First off, multi-axis integration with Intiface/Buttplug is close to doable. We need to change the way our TCode implementation works to be slightly more robust, but that’s it on the code side.

The more difficult part is exposing a mechanism in Intiface that allows users that have basically no clue what they’re doing with this new complicated DIY device they cobbled together/bought to properly enter the required information that will define what their device can do. Not fun, and providing support is going to s u c k because honestly, while I love what has come from tcode based systems, as you can probably tell from my tone, I’m not super into being unpaid support for a community I’m not really even a part of. Especially with the demands I get from people thinking they’re entitled because they bought or built a device that they’re having to cargo cult info for to make it work anyways.

All that said, this task in terms of building device definitions in a user understandable way is difficult, not impossible.

Now comes the real problem: What exactly do you think “multi-axis integration” in Buttplug is going to DO for you? I’m not sure most people asking this properly understand what they’re going to get when this comes out.

“Multi-axis integration” just means that Buttplug provides developers of apps that use buttplug with ways to access all the possible movement configurations of an OSR-2/SR-6. We can define the translation/rotation axes, valve levels, etc. Those are presented in a fairly raw manner to developers of apps.

But that’s it. It’s just access to the possibility to control these things.

What I think people actually want, Buttplug integration or no, is to be able to use these devices in a way that is meaningful to their capabilities. That doesn’t intrinsically require Buttplug access. T-code works fine on its own, and developers have made interesting things lika Ayva and the Virt-A-Mate plugins. Buttplug exposing more control will not automatically make all of the software with Buttplug “just work” with the OSR-2/SR-6 in a meaningful way. It’s the same as if we integrated with the Syncbot (which almost happened many times but the company was being weird). The Syncbot also does a bunch of stuff that a large portion of the hardware we support does not, and that means that while we could expose controls, they may not match up to what’s expected by software that’s already written.

Multi-axis integration will not make developers care about OSR-2/SR-6 users, because most of our community can barely control vibrators with our library, much less know how to deal with simultaneous generic axis movements. While I’m not going to act like Buttplug is the easiest thing to use in the first place, there is no generic API that’s going to make programming for the OSR-2/SR-6 easy for someone who has no programming or controls knowledge, unless it’s just playing back prebuilt movement patterns (and, tbf, we do have pattern playback in the Buttplug dev pipeline, though it’s a ways out)

This is not just a problem in sex toys, it’s a problem in interactive hardware as a whole. Look up the Novint Falcon (which I wrote the open source drivers for) if you want an example of this going wrong in gaming.

A possible way to solve this is building translation/scripting systems to go “we’ve been told to make a device vibrate at a speed, turn that into another equivalent event of [multi-axis movement, stroking, whatever]”. This was originally part of the vision for Buttplug, to have a scripting layer between received event and output. We’re 7 years into the project right now and that’s been difficult to get to because we went breadth before depth, meaning we now support 500+ devices on 5 platforms of desktop/mobile, but there’s no way to do translation yet. It’s something I’d like to look at in the future, but it takes a lot of time just to manage what we have right now.

If someone wants to beat me to it: more power to you. I’m not the only one that can program, as much as everyone seems to act like it.

We don’t have hard numbers at the moment because I’m still figuring out how to do that telemetry without having my user base come at me with pitchforks. That said, anecdotally, I would probably say the largest amount of our users just have a lovense toy or two, and then the portion after that is buying cheaper vibrators (Joyhub/Satisfyer/etc). Strokers are a tiny fraction, multi-axis even tinier.

3 Likes

My apologies qdot, as somone who works in product operations i understand how cumbersome support can be espically for a small business where your rep matters and the user base reative. I didnt meant to suggest i could figure it out on my own with such limited knowledge and skill, but more so that i fi d this realm extremily excoting and trying to understand where my desires fall in the relm of possiblies/custom work.

  • ive perosnally worked on a few data mesh platforms and this seems like the ideal candidiate for the samw

I was able to get this working but now the problem I have is my sr1 is like skipping points and just not following the script properly. The device works fine with the same script on mtp. Did I do something wrong or is this normal?

When your using Intiface to play the script, is it as part of an game integration or something else? If it’s part of a game integration then I would suspect that it’s the integration as I had skipping occur with my SR6 that was solved when the integration I was using updated.

I am just using script player with intiface and just have a lot of skipping or just playing the script incorrectly.

As you said MFP with intiface works without issues then I presume it’s script player that has the problem and you should query them about it. I did check the github of it and see that it says:

If you want to use ScriptPlayer with Intiface/Buttplug, make sure to also install the Visual C Redistributables

Additionally in it’s troubleshooting section it says:

Movement is too fast or erratic

Try adjusting the settings for Speed, Range and Min Command Delay in the settings panel. By default they are pushing the limit and result in faster movement that other applications. The defaults of other applications are approximately:
Speed: 20 - 80
Range: 5 - 95

Sorry should have been more specific the device itself without intiface works with MFP. But when I try intiface with MFP the device doesn’t work and when I try it with script player it works just having problems with it playing the scripT properly I trying again right now and I am looking at the log on intiface and this is what I get on scriptplayer, On MFP the logs are fine but it doesn’t work.
Screenshot 2024-10-01 223014
Screenshot 2024-10-01 223003

Ah…I was going on the fact it was working with MFP that script player is the issue…hm since it isn’t working then I’m going to say I’m unable to help as I think then it’s something specifically with your device being an SSR1. Which then means that myself only having an Handy and SR6 can’t really test to replicate what’s going on. Sorry maybe script player or MFP enthusiasts can help in identifying what’s wrong?

yeah that was my fault thanks for trying to help at least, I will keep messing around with it maybe someone here will have a answer.

1 Like

Good news messing around with the min command delay on scriptplayer seem to fixed it. It was a really high number before because of my keon. MFP still wont work and on scriptplayer I still get the same error but the device is playing the script correctly now on scriptplayer.

1 Like

Why connect thru intiface if you can connect directly to the device in MFP/Scriptplayer?
In MFP you can try switching your device map from FixedUpdate to PolledUpdate if for some reason the device cannot handle high update rate.

To my knowledge funsr1 cannot directly connect to the scriptplayer thats why,

I bought a SR6 and start to find what it can do. Thanks for your guide bro.
Sad to see intiface dont support for multi-axis. (:」∠)_Look like too few users to support more.
So which games now support multi-axis?
I had tested VAM and it works well. Any other multi-axis games to recommend?

Although currently it doesn’t do multi-axis it has been said that this is just to get the connection working so in the future (which could be years) it will have multi-axis.
For games that support multi-axis…sadly none (that I know of currently) as VAM isn’t technically a game, instead it’s a scene playing game which is horribly optimized if you use it in VR.

EDI does have multi-axis script support but I don’t know of any games that have the scripts making use of it…which uh yeah doing one multi-axis script is normally hard to do, so doing a set for a game is asking a lot.