Nimblestroker and Scripting, a Deep Dive

Thanks! That did it, the “FleshLightLaunchFW12Cmd” was left in there and yeah I was following the mnh86 guide. Everything fully works on both Intiface Central and MFP now. Now I just need to grab a Meta Quest 3 for an easier VR setup (currently have the HP Reverb G2)

I hope this whole topic helps other future Nimble Stroker users

1 Like

Hi there, registered just to poke my head in here since info on this thing is hard to find, still. Did any of you have to do anything special with the connectivity module before uploading? I’ve gotten everything to compile and it recognizes the board, but it just flashes the encoder light a few times then declares “Wrong boot mode detected (0x13)! The chip needs to be in download mode.”

The commonly-stated remedy for this is to short IO0 to ground at reset, but I can’t access that without breaking the case open, and that feels a bit extreme. Am I missing something simple?

Hello!

My Nimble arrived last week and it’s been incredible, I’ll be writing my own review shortly.

I am having some trouble getting the connectivity module to work as I’m quite new to coding and I’m looking for some support from those above who have got it working…

I’m currently trying to install the default Nimble module from the website ( GitHub - ExploratoryDevices/NimbleConModule: Nimble Connectivity Module (Basic functions and library)) as I believe you need to load this onto the device first before then building on top of that with some of the other github repos mentioned in this thread.

I’m running into a few issues:

  1. I have installed the Arduino program, opened it and made it SP32 Dev Module in the ‘board’ settings.
  2. I then try to select Port but it’s greyed out in the program. The Gifhub website says to do the following if port is greyed out:

If, after connecting your device, no new ports are avialable in the Arduino IDE, you may need to install drivers for the USB-to-Serial capabilities of the ESP32 used in the Connectivity Module. The CP201x drivers are available on the silicon labs website. Later devices may use the CH340 USB interface. Instructions on how to install these can be found here.

Now, the issue I’m having here is that once I download the CP210x Universal Windows Driver via the website, I get a folder in my downloads with 10 random files in it with no installer. Does anyone know how to install this?

There is instructions on the website that state the following:

Install Windows Virtual COM Port (VCP) drivers

  1. Download: CP210x Universal Windows Driver from Silicon Labs (tested with v11.2.0)
  2. Extract the driver .zip file to folder
  3. Open Windows “Device Manager”
  4. Attach the NimbleConModule to the PC via the USB cable.
  5. There should be a new device listed under Other devices
  6. Select the Silicon Labs CP210x USB to UART Bride device
  7. Right-click “Properties”, navigate to “Driver” tab
  8. Click “Update Driver” → “Browse my computer for drivers”
  9. Navigate to the driver zip folder that was extracted in step 2
  10. Click Next to install.
  11. The device should now be listed in Device Manger under "Ports (COM & LPT). Make note of the COM port for future steps (ie. “COM3”).

But, the issue is, when I open Device Manager there is no ‘Other Devices’ tab leaving me stuck. Any know how to fix this?

As I was losing hope with this option it, it did state that later devices can use the CH340 USB interface which I’m trying to also download and install, however it presents the following instructions:

How to Install CH340 Drivers - How to Install CH340 Drivers - SparkFun Learn

I follow the video tutorial on the above website and I then get stuck inside of Device Manager because I don’t have a ‘Ports’ tab.

I’m simply at a dead end here because both paths I can take seem to lead me to a dead end in device manager. Is there something I’m doing wrong? Does anyone else have a simple video tutorial showing the entire process, as I imagine this is going to be a steep mountain for every non-coder to climb whenever they want to use the Nimblestroker.

Thanks for any help!

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.