Nimblestroker and Scripting, a Deep Dive

Well, made an account here for script downloading and never thought I’d find myself actually posting, but I feel that I have info worth sharing so let’s do this.

So my first automated toy was The Handy, and after buying a few too many additional devices in search of “something better”, I feel like I can say that The Handy is still one of the most effective and versatile options available for the price.

That said, for my most recent purchase, I decided to go big to really see if I could find something on a different level. So I ordered a Nimblestroker, a “milking machine” style device starting at $1000 USD. A few weeks ago, it arrived, here are my thoughts.

tl;dr - The Nimblestroker is a very powerful device, but it might take some practice to get consistent sensations out of it via normal use. The device is functional with scripting and integrations, but there is very little content designed to work with the device. I do think there is a ton of integration potential with improved firmware and bespoke scripts, but as of right now, if you’re considering a purchase specifically for scripted content, I would probably hold off given the price.

So this post I guess will be part review and part information sharing about what the device is capable of, particularly in the context of integrations and scripted content. From the amount I’ve looked around, there is honestly very little information about the Nimblestroker itself, and even less so about connecting it to any integrations. In that regard, I hope that this post will help people who are interested in the device but don’t want to pull the trigger with how much it costs.

Part 1: Why Choose The Nimblestroker?

First things first, why did I choose to buy a Nimblestroker? In fact, before buying mine, I was weighing it against an SR series device, which even if I didn’t build it myself, would be substantially cheaper. So I’m sure many people here would be baffled by my decision, so here were my original reasons:

  • First, the “milking machine” style devices which the Nimblestroker belongs to seem to be touted as top-class in terms of the sensations they can produce.
    And compared the similar Venus and Tremblr, the Nimblestroker just seemed like a straight upgrade, being capable of variable stroke length and built-in vibrations.

  • Second, these style of devices reportedly run near silent, which for me is quite important as I share a floor with other people.
    Even my Handy I don’t like to use when I know someone’s in an adjacent room, and I’ve heard that the SR series are quite the noisemakers.

  • And finally, despite being pretty large and heavy, I felt that it would be easier to set up a Nimblestroker for a quick session, as I figured
    I could just turn the device on and have it do its thing instead of having to strap into a convoluted hands free setup every time.
    (Turns out I was way off the mark on this assumption, various factors do result in the setup still being pretty annoying, and the device is not
    all that hands-free by default)

Part 2: Initial Experience - Manual Usage

Ordering the Device
Now of course, I could confirm none of these assumptions until I actually had the device, so how was my actual experience? So to start with, I put in a $200 deposit for the device in November 2023. The site had the estimated production date of April 2024 at the time. After the confirmation email, there were no further communications, which was kinda scary, but I was contacted to complete my order in mid March and received it a couple weeks later, not bad! Upon checking the site just now, they apparently aren’t doing it based on reservations any more, but their estimated delivery time is currently June 2024, so perhaps they have sped up their production a good deal.

So let’s start with a bit of how the device is to use normally. When you slip into the device and turn it on, the actuator (the very heavy pump unit) will pump air in and out of the receiver, which will expand and contract an inner sleeve, causing it to slide up and down due to air pressure differences or some sciency thing like that. Now the device comes with a handheld wired controller that you can use to change various parameters. First, you can change the speed, which will cause it to pump faster and thus stroke faster. Next, you can change the stroke length so it will move a greater distance up and down. Two other important controls are air-in and air-out, which lets you change the amount of air in the system. Pumping air into the system will decrease the level of suction, allowing the device to move more freely, while taking air out will increase the suction, making for a tighter fit, I might’ve gotten this backwards but you can figure it out probably. Anyways, if the device isn’t moving the way you want, fiddling with these can be useful. Just don’t overdo it as I hear overuse of these will strain the motor.
Finally, unique to the Nimblestroker, we also have vibrations we can control. There are 2 controls, one controlling the vibration strength and another that they call the vibration “nature”, which I think is kinda like frequency. These vibrations are pretty dang impressive. It’s all accomplished through the pump moving the air in a super fast pattern, and you can get anywhere from a pleasant buzz to shaking your house down.

How’s the Noise?
Speaking of shaking your house down, to report on the noise of the device, I will agree that for the most part, the device is more than quiet enough. While idle, the device does produce a very subtle high pitched whine, but it wouldn’t be audible outside the room you are in. At low speeds, the device doesn’t make much more noise than breathing deeply, and at medium speeds you’ll get a quiet thumping. Sometimes, depending on the amount of air in the device, there will be various suction sounds if the seal isn’t working quite right, but usually this will resolve itself when messing with the settings. Now if you wanted to max out the speed and vibrations, then we are actually gonna be in floor-shaking territory. The max settings can be a bit frightening, but I also think most people won’t find too much need to keep the device at that level for long.

So to conclude the general usage experience, how is it? Well, I have to say that it certainly is capable of feeling really really good. However, at least without a lot of experience using the device, I will say it seems pretty difficult to get consistent sensations. To give an example, the device is capable of performing nice long strokes when you first start it off on a low speed. But the moment you turn up the speed, those long, slow strokes turn into short, fast ones. And this is without actually adjusting the stroke-length. It’s not that the stroke length setting isn’t doing anything, it’s just that all the device knows how to do is move the air. And the movement of air doesn’t guarantee that the device will move the same distance every time. It just makes sense that, due to factors such as friction and air pressure, once you turn up the speed, the movement of the receiver can’t keep up. So often during a session, I would find myself having to manually move the device to start getting long strokes again, or constantly fiddle with the air amount to figure out how to make it move more on its own. Honestly, I would really get the best sensations when I would hold the device and help it move in its attempted pattern, but that is unfortunate because I was hoping it could be mostly hands-free.
As a quick tangent to that thought, I did notice that the receiver has a few small holes on the frame, potentially for mounting setups, so I did run some string through them and tie it to the arms of my chair to sorta keep it suspended, and that did help it move on its own; I bet there are some better ways to rig a good hands-free solution out there.
Overall, in general, the device is still really nice to use, but I personally still don’t feel like I’ve quite mastered it, and it would almost certainly benefit from a more advanced setup or, god forbid, a partner to use it on you.

If you’re curious by the way, in what types of sleeves and seals I went with, I did in fact order 3 sleeves and 2 seals. I think the combo I’m having the best experience with is my larger seal (size C) and a sleeve with ridges on the shaft end. Theoretically, I chose this sleeve to provide stimulation to the shaft during a climax while being gentle to the tip. Oddly, another one of my sleeves, which was completely smooth somehow triggered overstimulation on me far more (although I did choose the satin texture for that one which might be responsible for this). Of course, that could be a bit fun in its own right so I’ll keep that sleeve on standby in case I get bored. Also, the looser seal just lets the thing move more which I think is much better.

Part 3: Connectivity

Ok now finally for what you’re probably here for. How does the Nimblestroker work with connectivity?
So first things first, you will need to purchase the connectivity module alongside the main device for an additional $75.This is an extra box that plugs into the actuator in the place of the controller. After plugging into the actuator, you can plug the module into your PC via USB. Although the module replaces the handheld controller, there is then an extra port on the module to plug in the controller.
But here’s the thing about this module. It is still very much considered by the manufacturer to be a dev kit. Any connectivity between the Nimblestroker and any software is not officially supported.
If you have however, been following this device, then you are probably familiar with one particular firmware implementation. As of right now, the only piece of code really worth putting on the module is this one: GitHub - mnh86/NimbleTCodeSerial: Firmware that implements the Toy Code (T-Code) v0.3 protocol over USB/Serial Port for the Nimble Connectivity Module, an ESP32 controller for the NimbleStroker.
With this code flashed onto the module, the device can be connected to a few apps (notably Intiface Centeral and MultiFunPlayer) and receive T-Code commands.

Setting Things Up
Now before we get into how this performs, let me say that this setup isn’t the easiest, even as someone with a programming background. You will actually have to use git to clone the code into an IDE and build the code to the module. Still, all the info you do need is on the Github so it should be doable with enough patience. In case it saves anyone some time, my two sticking points were:

  1. I unnecessarily installed the Arduino IDE and setup the base project for the connectivity module.
    This is just the base code for developing your own project so all of these steps that I found myself on shouldn’t be needed.
  2. I spent so long trying to figure out how to “Upload” the program to my module.
    Turns out once you install VSCode and PlatformIO, there is just an “Upload” button at the bottom of the screen and you can upload
    to the device plugged into your USB port.

Connectivity Performance
Ok so let’s assume we managed to get the firmware installed, so how does it perform?
As mentioned, there are at least two things we can use this firmware with, Intiface Central and MultiFunPlayer. Possibly other applications can connect but these two are ones the developer has setup configurations for. So let’s start with one of the most common use cases, playing a video with a funscript. For all intents and purposes, the Nimblestroker is considered to be a linear-type device for funscripts. So when a script sends an “up” position, the device will attempt to move air in a way that the receiver slides up and vise versa. But recalling how the performance was in general use, I think you might be able to guess how this works in practice. If a funscript is just sending commands to rapidly move up and down, it’s quite likely that the device won’t produce much motion at all. Because as mentioned earlier, the device doesn’t actually know the position of the receiver, all it can do is move the air. And this will be reinforced by the fact that most funscripts just won’t be designed for this type of device. I’m sure with some work, scripts can be made that cater to the Nimblestroker’s strengths, but since the device isn’t widespread, there just isn’t much demand at the moment.

There is however, another factor that limits the Nimblestroker’s performance with scripts. With the main implementation of the firmware for the connectivity module, there is currently no way to control the device via the controller. Even though the controller plugs into the module, it won’t do anything unless there is code to support it. Technically that shouldn’t be a problem if we are just intending to have funscripts control all the device’s motions. However, there are a few controls that I think should be given to the user at all times, air-in and air-out. This way, the user could have slightly better control over the range of motion. Also, this could apply to the vibration settings, as your average script wouldn’t account for this, so letting the user play with it in real time would be appreciated. Now of course, all of the controls for the Nimblestroker can be sent as TCode values, so in theory, a multi-axis script written explicitly for the Nimblestroker could handle these all adjustments for you.
So once again, these shortcomings could be solved with a bit more work on the scripting end.

Making Some Modifications…
Or maybe…hold on. So to install the TCode firmware to the Nimblestroker, I had to open the actual code in the IDE and load it directly from there. And I do know how to program…

So hey, uh I just went and added controller connectivity to the firmware myself.

It was kinda really easy; the base implementation included variables for the controller (called the pendant in the code) and I just checked to see if I could read them. And so, I just managed to implement reading air in and out from the controller. After updating the code, I just uploaded the changed file, and now whenever the controller is plugged in, the air in and out commands will take precedence over any inputs from connected applications. So I think this is an improvement, although it’s a very hacky implementation. While I was at it, I tried my hand at adding vibration inputs. This was substantially trickier as I couldn’t for the life of me figure out how the vibration settings from the controller are encoded. I instead cheated and stole the stroke length input which wasn’t being used otherwise and set it to enable a fixed amount of vibrations. So if your stroke length is set to anything but 0, you can get some vibes and dial it back to 0 to disable. When I tested this with Intiface, I was able to enable some subtle vibrations with the controller, although it seems like it wasn’t actually working with MultiFunPlayer, so I suppose I didn’t really get it quite right yet. Even still, I feel like if I was able to implement this behavior in a few lines of code, someone out there can make a much more fleshed out implementation.

But if you really are interested in my code, I suppose I could post it here: Edit to NimbleTCode.h - Pastebin.com -link updated, see end of post for additional information about vibrations.

I don’t really want to publish it officially since it’s not really good quality, but at least the air part should work. If you have the original firmware installed and set up in VSCode, then all you gotta do is replace the contents of NimbleTCode.h with my file, then reupload to the device.

Alright, so with this updated code, how does the device perform with scripts now. Well, maybe a little better. Just giving us access to air-in and out still doesn’t solve the main issue of the device just not being able to keep up with normal scripts. So if you were to play a script on the Nimblestroker, if you want it to move with the script, you’d almost just have to take your own hand and move the device in sync with it. Wait…unless…

Multi-Device Sync!
The final thing I tried with the Nimblestroker was strapping it into my Handy and syncing both of them to the same script. Well at this rate, I kinda have only made my setup more complicated than it’s ever been, but will this work?

The answer, is that it sure will!

I did find that some scripts still work better than others with this setup. Scripts with high speeds and excessive pseudo-vibrations for the Handy will translate a bit weirdly to the Nimblestroker.
For the most part however, the two devices will sync up quite well. There is very little friction as the Nimblestroker will always be trying to move in the same direction as the Handy, but you can still certainly feel the extra squeezing and suction from the device. In addition to syncing up the two devices with MultiFunPlayer for playing funscripts, I was also able to connect them both to Intiface Central. With this connection, I even managed to get them working together with the awesome Easy Device Integration (EDI) which the fine folks in this community have been making game integrations with! Now, it might also be worth not even syncing up the two devices so you get some nice resistance; haven’t tried this yet.

Part 4: Conclusion

Potential Future Improvements
So that almost wraps up all the thoughts I have on the Nimblestroker so far. Before we get to conclusions, I do want to talk about what improvements could be potentially made to the device on the software side. First, I think a fully fleshed out manual control method for use with the connectivity module would help out a ton. This could just be re-enabling the pendant control, but also, what I think could be even neater would be a sort of control panel UI that you could run alongside whatever application you are connected to. The idea would be that your connected app could have control of the device, but at any time, you could override parameters from the panel. Kinda like when you have a Handy connected to something, you can adjust the stroke length manually on the machine. In addition to the default inputs, I would love to see an input for adding a delay to the stroker. I noticed that on Intiface Central and MFP, there didn’t seem to be an option to adjust the delays of individual devices.
But what I think would be perfect for the Nimblestroker would be a slight delay for use with another device like the Handy. This could potentially create some delightful resistance on the upstrokes.

And now I’m about to talk super advanced, and I don’t know if this would actually be possible, but it could revolutionize things if so. There just so happen to be some additional variables in the default Nimblestroker code that are not used by default. These variables are sensor data. We supposedly have access to certain feedback values such as how hard the device is working or something like that.
So now what if, and this is a big if, using the sensor data, someone could write code to adjust the device’s motion based on the feedback values. Maybe this would take a lot of sophisticated math, but what if it could be possible to have the stroker correct its position, possibly by changing the amount of air being moved, so that it could follow a more consistent stroke pattern. Anyways, that’s just my proposal, I doubt I’d be the one to figure it out, but if this device could be made to follow funscripts on its own power, I think it might just become the ultimate device!

Closing Thoughts
Well that was a lot longer than I expected. If for whatever reason you read all this then thanks I guess!
To actually draw some conclusions, I certainly feel like this device has a lot of potential, and most of it is on the software side. It is quite a steep purchase though, so if you are looking for the ultimate device for scripted content, you’re probably way better off with your SR series type machine. Really at the end of the day, I’ve just got myself a very fancy Handy attachment.

Which by the way, as a secret reward for reading this far, if you want to revolutionize your Handy experience for way cheaper, strap an Arcwave Ion in that bitch. The Ion’s an awesome device on its own (I like using it in the shower), but you give it the movement of the Handy and it goes absolutely crazy! Just limit the max stroke length to about 50-70% so the air pulses the device shoots out stay on you.

Ahem, anyways, I do hope that this post has at least provided some info to folks who were wondering about the Nimblestroker. I certainly found very little info about the device before buying one, so hopefully that won’t be a problem for anyone reading this! And if enough people take interest and more work goes into integration projects, there really could really be a bright future ahead for the device!

Update: Thank you to everyone for the positive responses on this thread! It’s really awesome to see a bunch of people taking an interest in this device that really didn’t have much discussion around it before! I’ve already gotten some useful info myself and have considerably upgraded my own setup! Oh, also the main reason I’m here is because I updated the post with nice headers to break it into more digestable sections, as it was a helluva text wall before. Enjoy!

Update 2: Updated the file for my modified tcode to handle manual vibrations better (updated the original link in the post but here it is again so you don’t have to find it: Edit to NimbleTCode.h - Pastebin.com). To add vibrations from the pendant now, you will now want to first activate the pendant (hold dial and both buttons) and then set a stroke length to turn on vibrations. When the pendant is activated, only your input will turn on and off the vibrations. If you deactivate the pendant, the vibrations instead will update from any incoming tcode values on the V0 axis, so now if you have any scripts or integrations that use this axis, you can take advantage of them! Oh also updated the a few of the global variables as suggested later in the thread to improve position and vibration performance.

12 Likes

Thanks for taking the time to put this write up together. I had never heard of this before, but it looks like an interesting device. I’ve always wanted some sort of funscript integrated milking machine style toy. Hopefully this is a sign that things are productively moving in that direction.

Thanks also for the tip on the Arcwave Ion. I had never heard of that either, but I’ve been curious if there’s anything that vibrates, or adds some form of additional stimulation, that could be used effectively with the Handy. At $200 that’s still a pretty penny though.

And of course thanks for just participating in the community! We’re glad you’re here!

2 Likes

Amazing write up and welcome to ES! I also have a preorder that at first said it would be available by May but with the reservation replacement is now to June so I’ll assumed I fit in that window.

I agree, there’s not much info about the machine besides a blog review I stumbled upon so this write-up is a lot more in-depth detail. Makes me look forward to getting mine because I’ve never had a milking machine before.

2 Likes

…that’s some serious inroads into the holy grail of scriptable suction. i’m so stoked that someone has configured Handy motion with closed loop suction, so they don’t conflict. This is a bit of a game changer. Also, i’m very intrigued by the vibration function, that’s a new one on me.

Unfortunately, i now have to order yet another suction machine…

1 Like

I also found that there wasn’t much information on the Nimblestroker until I searched on Twitter. There’s dozens of videos with it being used as a milking machine, here’s a link to the search: https://twitter.com/search?q=nimblestroker&src=typed_query

I bought one last month and should get it in May, eagely awaiting, I’ve been checking the website every single day since. Slightly nervous about me fitting into the device as I’m 17cm girth and the D & B sleeve / seal are the widest but seem to cap at 15cm, so praying that I fit (honestly didn’t even realise I was that big till this!) as I’ve spent about $1000 on the machine, connectivity port and a ton of sleeves.

My reasoning was, I had spent so much money on strokers, vibrating toys, suction toys and they were all just “okay” or didn’t give me that milking / hands free post-orgasm torture feeling which I crave in self-bondage. The Nimblestroker seems to tick all of the boxes with being quite good at staying on your cock compared to a KEON or Handy where you can’t be hands free.

I really do hope that the scripting community for the nimble picks up as this has the potential to be THE toy, the one and done, the expensive ‘investment’ that you make once and it you never have to think again about buying another toy. That’s why I said screw it and bought it instead of wasting hundreds of the next few years on mediocre toys.

I’m not coding savvy so I hope there’s something that comes along soon that works. Does the connectivity module work with bluetooth/wifi?

I do wish you the best of luck that the size works out for you. I got both A and B sleeves and B and C seals due to being in between, but the smaller sizes didn’t seem to be too tight of a fit so here’s hoping there’s a decent amount of leeway.

To answer the bluetooth/wifi question, the connectivity module supposedly has both onboard bluetooth and wifi according to this extremely technical documentation: NimbleConModule/docs/hardware-specs.md at main · ExploratoryDevices/NimbleConModule · GitHub
Hopefully this means that this will allow for connectivity via these means in the future, but right now, unfortunately I don’t know if there’s any easy to leverage this. I would imagine it’s up to whoever is willing to write the firmware to implement it, so here’s hoping for the future!

I’m hoping that due to them now speeding up the production it’ll mean more tech savvy folk can take a look at this. I honestly wouldn’t know where to start but if I did I’d be trying to create something that would work with this device.

It has the ability to be more popular than the OSR2 due to everything that it can do. As you say, it just needs someone to figure out how this thing works but considering this device has been out for 2 years and there’s nothing, I don’t have much hope for the future until it becomes more widely adopted.

oh yeah, I also forgot to say that I emailed the creator of XToys and he said that he’s getting his device within the next month and then will work on adding it to the website. Once it’s on there it’ll open up a WORLD of possibilities.

Is there any way to email the Exploratory Device / Nimblestroker “Team”?
I never got an answer on Twitter, there is no contact information or even imprint on the website/shop - which I find kind of strange for a device at that price point to begin with…

I mean, as someone said before: It has been on the market for two years already, eventhough production numbers seem to be low. It’s not like it’s within the first 2-3 weeks of creating a business and is just not up to speed with everything. My primary concern is the fact that the website states taxes = zero USD at checkout and since this would be quite a bunch in Europe I just wanted to double check if that is true. Not being able to contact someone pre-sales is just not very comforting.

1 Like

Those are indeed valid concerns. I was also rather uneasy at the lack of contact information listed on the website, although I unfortunately don’t share your issue of European taxes. The one thing I found was that on this page: Deposits and Warranty – NimbleStroker, it was stated that you could cancel your order (note this still talks about a reservation and they aren’t doing deposits any more so could be outdated), or contact them about any problems by replying to your confirmation email.

I haven’t tried this so I don’t know how responsive they would be, and this might not help if you don’t want to have to actually make a purchase to access their support, but it’s unfortunately all I could find.

For what it’s worth however, I can share the address they sent my confirmation email from: support@exploratorydevices.com
I can’t guarantee that they would respond to any inquires there but might be worth a shot!

I read that part with the confirmation email as well. Thank you for your time and effort! I will give your email address I try.

I just got mine recently and started playing around with some of the code. Here are my recommended settings.

NimbleTCode.h
MAX_POSITION_DELTA 100
This will fix your issue when a script speeds up it does short fast strokes. Now it will do fast full length strokes. I think the reason is before it was limited to 50 units of position change between each update frame. Now the max is 100.

VIBRATION_MAX_AMP 100 or 1000
This controls the strength of the vibration. 0% is no vibration. It slowly ramps up to whatever your dick can handle. 100 is fine on its own but if you dial up the vibrations with the pendant instead of the connectivity module, you’ll notice how your floor will start shaking. Setting this to 1000 will get it close to what the pendant can do.

VIBRATION_MAX_SPEED 50.0hz
This controls the behavior of the vibration. At 25%-35% you get a nice deep ass rumble. At 45%-70% you get a shit loads of violent shaking because the resonance frequency of the Amplitude and Max Speed is probably causing an interference pattern. I do not recommend. At 80%-100% you get a nice high speed vibration, something like a wand.

nimbleConModule.h
ACTUATOR_MAX_POS 1000
You can switch this to 1000 to max it out. This will give you more range. It affects how tight it clenches at 100 and how loose it gets at 0.

screenshot02

In MultiFunPlayer
Go into the Serial Settings as shown and turn off Offload elapsed time. I don’t know what this does but when you turn it off, you get a lot more movement out of the device. When switched off you’ll definitely feel the machine fucking the shit out of you.

screenshot01

And finally how I control everything…

L0 Controls the stroke length
V0 Controls the vibration strength
A0 Controls the air in/out valve. 0%-33% air out, 34%-65% close valve, 66%-100% air in.
A1 Controls the force. Basically how hard it forces the air into the desired position. I leave this at 100% and disable it from showing. I want it hitting at 100%.
A2 Controls the vibration behavior. See above for recommended ranges.

I only set the funscripts to control the L0 axis. This controls the up and down stroking motion. Everything else I just leave the values depending on what I want like if I want vibration or not.

A couple of thoughts:
This thing is fucking amazing. First time I used it was with some really good VR blowjob porn. The Nimblestroker synced up perfectly. It felt like the full range of getting my dick sucked by a professional. When the scene had the girl sucking on tip, the stoker was around the 70-100 range at the top and was working on my head. When the girl swallowed the whole thing, it actually felt like I was getting deep throated. The received sucked my dick in like a vacuum. And then everything else in between.

Of course it’s not perfect though. You have to be fully rock hard to get the best range of motion. I am praying to god though that someone figures out a way to get this thing heated. That would be the chef’s kiss. Also depending on how long your session is, your lube my dry up and you have to relube. I think I might modify the air valve on the receiver, cut a slice off and shove a small tube into the exposed hole that I can shoot lube into. Also the air in/out doesn’t change the air that much. I want air in to grip my dick so tight that it’s about to snap it off.

But overall: Great machine. I am getting erectile dysfunction because I keep using it so often that it’s wearing my dick out.

Updates: Edited the settings to get way stronger vibrations.

7 Likes

Wow, such an incredibly detailed post, my machine is getting delievered next week and you’ve made me get even more excited, I’m counting down the days like its Christmas!

The experience you had with the VR blowjob video sounds unreal, do you have a link to the video / script, I’d love to try it out.

Honestly, my dream would be to use the Nimble with something like SexLikeReal (paging @Realcumber) in VR. I don’t think I’d leave the house!

Some really useful info here! I can tell that these values are making the device much more responsive!

Also funnily enough, fixing the vibration values actually helped make the code I hacked together to manually add vibrations actually do something. The thing is that I just hardcoded the vibrations to be around the max amplitude when you input any amount of stroke length on the pendant, but since that value was so low, the vibrations were hardly noticeable. Now changing those values let me manually toggle some max strength vibrations during a script which is quite nice!

Now unfortunately, getting the device to properly locomote under its own power seems to still be rather inconsistent for me. I don’t think this is necessarily an issue with script responsiveness, as even in manual mode, I can’t always get full-length strokes. Most of the time, even if the speed is low, the device will move partway up or down the shaft, and then act as if it has hit a wall, stopping the motion until it changes direction. So unless I am helping it along, the strokes end up covering quite a small area.

I feel like there are quite a few variables at play here though, as my struggle is getting the same behavior to happen consistently. There’s sleeve and seal fit that could be an issue: I’ve been mixing and matching 3 sleeves and 2 seals to try to find out which combo works the best, and while I prefer the feeling of some, I think others give better motion (I think the few times I’ve gotten full length strokes with minimal assistance, it was with my larger seal and least textured sleeve). I’m also constantly messing with air in/out, which maybe isn’t doing much, but could be messing things up. And in the case of lube, I feel like I’m using enough, as it feels pretty smooth and is already making a bit of a mess, but I dunno if way more than I think is needed to get it really moving. Heck, I’ve now even tried tying it to my over desk mounting solution to both stabilize it and slightly resist gravity, but the hands-free motion is still not quite there for me.

…as someone who uses suction and a Handy all the time, albeit with a more hands-on approach, i completely concur that there is a lot of ‘fine-tuning’ that one has to do on the fly to make it work. For long sessions, where one may be more erect at certain times than others, being able to throttle the suction on a whim is essential. There is an effect where too much stimulation can lead to a loss of stimulation, so one wants to ease down on the suction as much as possible, but in response to ones own particular biology and how one feels at that moment. This is something that would be impossible to script for, without possibly attaching some kind of pressure monitoring cuff round your cock, and then feedbacking it into an automated valve on the suction control, or wtvr.

In terms of ‘correct fit’, this is the main reason why many off the shelf blowjob machines that work perfectly for one chap fail so spectacularly for another. Correct fit is essential, and i would definitely recommend ‘nubs’ when it comes to the internal texture, as this allows one to feel still traction against one’s penis, whilst also allowing lube / vacuum to migrate freely.

And on the subject of lube, thick lube is very much your best mate here. i recommend mixing X-lube (powder) at 1 cap per 200ml water. This results in a thick gel like goop, that helps seal the vacuum in whilst allowing movement under intense pressure.

Non scripted suction is easy, Serious Kit can keep you going for hours with it’s constant lube, and it’s different vacuums. Personally, i favour an open loop suction for my Handy, as it doesn’t have the strength to stop the Handy, but instead does toe curling things to you as it sucks up and down. Which is nice. What i’m hoping for is a hybrid system, where we can utilize the Nimblestroker (or wtvr) with scripts, but run it in open loop.

Really stoked to see this subject finally getting some traction! Now i’m gonna have to learn to Github…

2 Likes

Thank you for this! I’ve been experimenting for quite a while with this, although my coding knowledge is limited. @TesterMan13 I am interested to try your unofficial code and see how well it works. @jmatrix I will try your settings and see what comes of this.

That said, I’ve been switching back and forth between two firmware sets on my connectivity module. One is the aforementioned serial t-code firmware, but the other is this:

This is a bluetooth implementation that is controlled with a web app. You can directly control the device, or you can set it to randomly stroke between certain parameters, or (my favorite) even use an Edge-O-Matic to control the Nimble.

The problem is at the end of the day, the machine doesn’t actually track any air pressure. It’s a sensor that moves a magnetic cylinder up and down. That cylinder is attached to an air bladder which causes the opening and tightening motion of the receiver. All it does is detect the position of the magnetic cylinder.

The air in/out valves work, but the difference is very very subtle.

A couple more tips: Connect everything except the air hose to the receiver. Turn the machine on. Set the L0 axis in MFP to 0-1 range. This way the actuator cylinder slides all the way to the bottom position. Then attach the air hose the receiver. This ensures that when it goes to 100, it’s doing it with maximum range. Then set the range back to 0-100.

Next thing I plan on doing is splicing the air hose. It’s 5/8" interior diameter by way. I plan on adding a T shaped splicer when a check valve. This way I can add air inside the actuator so that when its at position 100 it’s clenching tight enough to snap my dick off. Because the tighter it squeezes, the more it’s pushing my dick out/off the receiver. When it’s at 0, gravity takes over and it slides back on my dick. This way I can get a lot more motion out of it. How it’s working right now is that the receiver sucks me in and if I don’t have a raging boner it doesn’t push out that far. It feels like I’m getting deep throated which is not bad, but I still want a better range of motion from it. Problem with my current endeavor is I can’t find a hand pump or something that’ll pump air into the check valve that’s compatible and will fit the 5/8" ID hose. And I don’t want to daisy chain a bunch of adapters together or Macgyver something with electrical tape because the whole thing would be too bulky and unwieldy. Let me know if you guys have a solution to pump more air into the receiver.

2 Likes

Oh, yeah ok, that tip for setting the stroke length in MFP made quite the difference!
I wish you luck on your modifications! I have come to realize the limitations of the air in/out as well, so I hope a workable solution comes around sometime soon!

For my next upgrade, I’ve gone a bit crazy and pulled the trigger on an SR1. I was realizing that when using the Nimblestroker in sync with a Handy, the limitations of the Handy have become a bit more apparent.
First off, the Handy does not play scripts well over MFP. It is well known that the device struggles with responsiveness over Bluetooth, which is how I was attempting to connect it to MFP. I did try its exclusive Handy connection mode too, but it seemed just as bad, possibly why it’s listed as experimental. At any rate, I should be able to get a much more responsive connection with the SR1.
Next, the additional power of the SR1 should allow me to play more with using the Nimblestroker unsynced. A thing I tried was playing a script on the Handy while keeping the Nimblestroker in manual mode, but as one could expect, the additional resistance will really tank the Handy’s performance. Really excited to put that extra strength to use!
And finally, the SR1 model I’m getting should also just be a better fit for my setup. It’ll have 2 straps to hold the Nimble receiver and a screw hole that should fit perfectly on my mounting arm.

Thanks for all the suggestions, did the modified code and MFP setup and settings and now this little expensive toy is quite amazing if you can afford the funds :sunglasses:

Though I can’t seem to get it to show up in Intiface Central (my nimble is listed as COM4) so I can get it connected with games :thinking:

So I did run into a few issues getting Intiface Central setup myself, so hopefully I can provide a bit more helpful info for this.

I assume you were following mnh86’s example for setting up the firmware with Intiface. If you have MFP working then hopefully your connectivity module was properly setup.

In that case, there’s a few things worth double checking with the Intiface setup:

The quickest thing to check would be making sure “Serial Port” is toggled on in the “Advanced Device Managers” section of the settings. Just to make sure!

Next, let’s talk about the the buttplug-device-config.json file. For me, any time I had an issue, it was relating to this file. There are instructions for setting this up on mnh86’s Github, but I’ll walk through the process here to attempt to catch any potential issues that could happen:

So after opening the config file C:\Users\(User)\AppData\Roaming\com.nonpolynomial\intiface_central\config\buttplug-device-config.json, we want to find the block labeled “tcode-v03”. By default, it should look like this:

    "tcode-v03": {
      "serial": [
        {
          "port": "default",
          "baud-rate": 115200,
          "data-bits": 8,
          "parity": "N",
          "stop-bits": 1
        }
      ],
      "defaults": {
        "name": "TCode v0.3 (Single Linear Axis)",
        "messages": {
          "LinearCmd": [
            {
              "StepRange": [
                0,
                100
              ],
              "ActuatorType": "Position"
            }
          ],
          "FleshlightLaunchFW12Cmd": {}
        }
      }
    },

Now before I explain anything else, it might just be worth attempting to replace that whole block with all the modifications at once. If the config is still in its default state, then go ahead and select that whole block (make sure to get it all the way down to the final curly brace and comma) and replace it with this:

"tcode-v03": {
   "serial": [
     {
       "port": "COM4",
       "baud-rate": 115200,
       "data-bits": 8,
       "parity": "N",
       "stop-bits": 1
     }
   ],
   "defaults": {
     "name": "NimbleStroker Connectivity Module (Serial TCode v0.3)",
     "messages": {
       "LinearCmd": [
         {
           "StepRange": [
             0,
             100
           ],
           "ActuatorType": "Position",
           "FeatureDescriptor": "Up/Down Position (L0)"
         }
       ],
       "ScalarCmd": [
         {
           "StepRange": [
             0,
             100
           ],
           "ActuatorType": "Vibrate",
           "FeatureDescriptor": "Vibration (V0)"
         }
       ]
     }
   }
 },

Starting from a default config, I have replicated doing this replacement and the device will show up when scanning. But let’s still look at this in detail:

First, we want to make sure the “port” option is correct. You said yours was listed as COM4, so I went ahead and put that in the paste. For me, it was COM5, so that’s what I used instead.

I think the main other thing that could go wrong is the json code being malformed. This could be the result of a comma or curly brace being out of place. That is why I suggest starting with the default file and pasting over the exact lines I posted. If you edited the default manually, it’s possible an error could’ve been introduced that way. Notably, the line "FleshlightLaunchFW12Cmd": {} could’ve messed things up too if it was left in there, since it might’ve looked like it was the start of a different block instead.

The final piece of advice I have is that if the json code is messed up at all, Intiface will show an error on launch and reset your config file. Keep an eye out for a red triangle icon in the top right corner and recheck your config file in case anything goes wrong. For various reasons, I’ve had my config file reset on me, so even if you think you got your config correct, just give it a look to ensure the changes you made are still there!

1 Like