Nimblestroker and Scripting, a Deep Dive

Though I’m not sure I can be of TOO much help, but my module didn’t show up in my devices list when I used the supplied USB-c cable that came with the package, had to use my own known working cable that properly detects data transfer so maybe you could try that?

You can see if you have any hidden COM ports on the Device Manager by going to View > Show Hidden Devices


This is what it looks like on my end (With my nimble on Com4 after setup)

Support got back to me re: “Wrong boot mode”, they said they’d send me the print file or another case if I had to crack it open. So I did, and plugged it in with the BOOT button held down, and it’s worked fine ever since!

I’m not having any luck getting functions to work other than L0 using NimbleTCodeSerial, though. I can get them to do things in MFP but I don’t notice anything different happening on the device.

Unfortunately, that didn’t work for me as no port option appeared.

I do have this ‘USB Serial’ under ‘Unknown devices’ which seems to be the nimble as when I unplug it, it disappears, but I honestly don’t know how to update that driver.

I’ve had my Nimble for 3 weeks now and have had zero luck with getting it to work.

Can someone create a thread with a simple installation guide as I’m getting very confused between the different things you can install onto the device as there are so many paths I can go down.

@ilfdsm2 If you’re using Windows:

I think the Silicone Labs is an older model connectivity module. The one I got recently is the CH340. Go to the site mentioned in the tutorial: https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers/all Download and install the Windows drivers. Plug your device in, it should show up under Ports (COM & LPT). If it doesn’t, try different USB ports and cables.

From my experience doing this, the problem is fucking Windows and their shitty drivers. I could never get Windows to flash the firmware for the connectivity module. I got it working in Linux and that’s how I flashed it. For some reason, Windows is really picky about the hardware. Windows works fine for using the device, but not for having to do any coding on it.

@TesterMan13 I’m extremely interested in what you had to say about using the Nimblestroker with your Handy. It sounds like attaching it to just a slightly more powerful stroking device is the optimal way to use this toy if you want to use it with funscripts. Does that sound like an accurate conclusion to you?

Has anyone tried using this yet with the SSR1, FunSR1, or the OSR2?

So it just happens that I have now upgraded my Handy to an FSR1 and used it in combination with the Nimble a few times now! The device definitely packs much more of a punch than the Handy for sure!

This upgrade has not been without its own complications though. For starters, due to the more hacky nature of the SR series, getting it setup with software is a bit trickier. In particular, I ran into issues connecting both the SR1 and the Nimble to Intiface, as it seems the support for multiple serial devices is currently limited, but an official implementation might be coming soon! (Connecting Multiple Serial Devices to Intiface)
And just in general, the SR1 still feels like (and officially is I believe) a prototype product. Even though I got the more consumer-friendly FSR1, it still feels like there are some improvements that can be made, such as improved manual control (would be nice to limit the device’s motion when getting close to finishing, as it’s kinda scary to have it running full speed with little way to stop it asides from cutting the power).

But to focus on the positives, I definitely got what I was looking for with the upgrade. Even when allowing the Nimblestroker to run its own manual patterns, the SR1 has no problem fighting against the suction where the Handy certainly did. For fully synchronized action, I have no problems connecting both devices to MFP, but honestly, I think I prefer having the extra resistance from keeping the Nimble out of sync.

So yeah, it’s a really neat setup. Feels like since getting the Nimblestroker, I’ve gone a bit upgrade crazy. I think my ideal is still getting the Nimblestroker moving smoothly on its own and so, I have a new order in for a larger seal, as I’m curious if it’s just been too tight to move well. Now I still haven’t had an OSR2 before and perhaps it might be something I look to purchase in the future, although probably for use on its own, as strapping the Nimblestroker into it seems like overkill. But hey, if anyone’s got the ability to test it out, I’m curious to hear of the results!

2 Likes

@TesterMan13 Are you able to connect the Nimble to the latest Intiface Central (2.6.0) update? Tried adding via Add Serial Devices section with tcode-v03 with the same port, data bits, parity and stopbits data from the nmh guide with no dice, even did the whole modify the config file as well. No issues connecting to MFP though

@Cloudyfire Not to butt in here, but It worked fine for me, though I had to do it twice (for some reason, the protocol section didn’t show up at first.)

Ok, so I just downloaded the new version to try it out!
I did successfully manage to get the Nimble connected with the new UI, didn’t have to mess with the config file at all.
In my particular case, the selector for protocol type seemed to not work at first until I added a device with a blank protocol, then it let me select tcode-v03 to add the device.

I also noticed that when using the same menu to add another tcode device (wanted to add my SR1 too), even though tcode-v03 was selected, it added the device with a blank protocol, so I had to navigate off the menu and come back to add it properly.

In the end, I did successfully connect to both devices at once using the same parameters I had before. If you used the numbers from the guide, you should probably be good to go. Just in case any of your inputs got mixed up, here’s what my working devices look like once they were added to the config:
image

Excited to have this support added, so I hope you can get it working!

Anyone got vibration working on the latest version of Intiface?

So I just managed to get the vibration working myself. Because the tcode-v03 protocol in Intiface doesn’t include vibration by default, it won’t be there when we add it in the UI.

We will need to go back to the config then and change the default values for the protocol. If you updated an old install of Intiface to the newest version, then there might be two sets of configs now, the one we want is buttplug-device-config-v3.json.
The syntax has changed slightly, but it wasn’t too hard to figure out by looking at other examples. I just went ahead and grabbed a block from a different config that included vibrations and dropped it in the tcode-v03 section. My new tcode config now looks like:

    "tcode-v03": {
      "defaults": {
        "name": "TCode v0.3 (Single Linear Axis)",
        "features": [
          {
            "feature-type": "Position",
            "actuator": {
              "step-range": [
                0,
                100
              ],
              "messages": [
                "LinearCmd"
              ]
            }
          },
	     {
           "feature-type": "Vibrate",
              "actuator": {
                "step-range": [
                  0,
                  100
                ],
                "messages": [
                  "ScalarCmd"
                ]
              }
           }
        ]
      },
      "communication": [
        {
          "serial": {
            "port": "default",
            "baud-rate": 115200,
            "data-bits": 8,
            "parity": "N",
            "stop-bits": 1
          }
        }
      ]
    },

So you should be able to grab that in full and paste it to hopefully make it work.

And here’s one more important thing. This config is just defining default values. If you already added the Nimblestroker as a serial device through the UI, you will need to delete and re-add it so it picks up the default values. Then you should have the vibration slider once the device is connected.

Oh also, in my particular case, I had my modified firmware for adding manual vibrations through the pendant, and it seems that I coded it bad so it overrides any vibration inputs (not usually a problem when many scripts don’t provide a vibration axis). So I had to roll back my firmware to the default one in order to confirm the vibrations were actually coming through when testing in Intiface. Just a heads up in case you were using my edits, probably should figure out how to fix that.

3 Likes

How are you all using lube with the Nimblestroker?

I’ve tried normal lube and it dries out pretty quickly.

@TheLandOfInfiniteFun mentioned in this thread that X-Lube is great to produce thick lube to help seal the vacuum. I’ve been using this but it has two issues:

  1. As the lube is a thick gloopy consistency, it eventually gets pulled down by gravity into the seal and is no longer in the sleeve leading to drier sessions. If I then take my cock outside of the device to try and reinsert my cock, suddenly the lube pours out all over me making me soaked. It’s very very messy.
  2. Because of the lube being a vacuum, the lube gets pushed out of the top of the nimblestroker with each pump forcing the lube to start pouring down the device and all over me, yet again WAY too messy.

Does anyone use a different kind of lube or have a method that they find great for using the Nimble?

…that’s unfortunate, sorry it didn’t work out. i use open loop suction, so i just need to run with a sump to prevent it getting into the pump. Basically, it flows the other direction.

How about a butter, or grease type lube? That would be lees likely to ‘spurt’ out everywhere if it’s building up at the seal…

I may not have explained it well enough above.

It’s not getting into the tube, it’s coming out the top of the device. There are small holes at the top with a small circular thin rubber material that goes around the top of it. If I add this lube is gets pushed out the top and then down the device,

…that is a generic problem with closed loop suction. The Venus 2k and the Tremblr both have the same issue. In order to create suction within the chamber, a one way valve on the top of the cylinder allows air out as the device moves up and down. Unfortunately, it also allows the lube out!

The ring of holes with a rubber flap sounds like a better solution than the modified aquarium air valve that the 2k and Tremblr use. That can get gummed up, and starts to ‘whistle’ annoyingly sometimes.

i know that some clever peeps have modified the Tremblr / V2k to use constant wet feed. Basically you need a second (small) vacuum pump and a sump chamber with an adjustable pressure valve to draw the fluids out, a way to dispense wet lube into the cylinder (large syringe, elevated pot, etc), and a remodelled cap / device top. Then you adjust the valve, so the pressure in the chamber is just pulling, and allow it to draw the lube into the sleeve, and out into the sump. With Serious Kit, the lube is very dilute, like water, 1 gram per liter, to enable this process, completely the opposite of the thick gunk i use for open loop. Different horses for different courses.

Personally, i always have a towel or two under me or to hand, and just accept that it’s gonna be messy at times, it’s the nature of the beast, and yet another unfortunate limitation of suction…

1 Like

Has anyone worked out how to get the connectivity module to work with a Mac?

There was this tweet: x.com

But it hasn’t been very helpful as Reading through the instructions, there is no COM port for me to select in the Board settings.

It suggests I install the CP201x driver via the Sillicon Labs website which I have done but there’s still no COM port to select.

Any help would be appreciated!

I’m at the end of my patience with this.

I bought the Nimble in April and over 4 months later I still haven’t been able to get any of the files to upload to the connectivity stroker.

I’ve tried on Mac, I’ve tried on Windows. I’ve used Ardunio IDE, I’ve used Visual Studio Code.

I’ve followed the instructions on all of the GitHubs and yet it will not upload to the module without some error.

I know I’m shouting into the void here, as Exploratory Devices very much do state that this is a dev kit and that it’s not plug and play, but jeeeez, isn’t this a slog? Zero support and no video tutorials explaining how to do it, just half put together instructions that contradict each other.

Sorry for the rant, but I’ve poured hours into this over the past few months and I literally cannot get this to work.

Something that may make a difference for you…

The board used on this thing is an ESP32. Some ESP32s have a physical button that must be pushed in order to put it into “flash mode”… basically unlocking the ability to write to the device.

I had this happen months back, and what I ended up having to do was locate the button’s approximate location inside the case, drilling a small hole above it, then using a paper clip to press the button. Once I did that, I had no problem uploading the firmware. Suppose I could have just pried open the case, but it was glued together and I didn’t want to chance it.

1 Like

Second on the drill-a-hole thing, pressing the button to flash it was a roadblock for me as well. I tried getting it apart by dremeling the glue on the corners, but ended up having to break it open anyway. Support will also send you the files to make a new case, if you’ve got access to a printer.

Here’s how to put the Nimble Connectivity Module in download mode:

Gently pull the knob off. Gently open the case to the connectivity module and pull out the board. On the bottom of the USB-C port there will be 2 tiny buttons. One is called boot, the other is called EN. When you’re uploading to the board, you should see the “Connecting…” message in the terminal. Hold both Boot & EN while this is happening, then let go of EN. It should now connect. Let go of Boot. Hopefully this helps.