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.
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.
Does this edit for getting vibration in Intiface still work? I’ve tried pasting the code block over the appropriate section in buttplug-device-config-v3.json, but any time I try to set vibration > 0 it throws index out of bounds errors, while position continues to work fine. (It’s likely not the remote kit firmware, because everything works perfectly when I use it directly through multifunplayer)
It seems to love clearing the modifications I make out of the config files, too. If it’d be easier that way, can anyone who DOES have it working toss me their device/user-device config files instead of just the code fragment and I can figure out where I screwed up from there?
In order to confirm it was still working for me, I went ahead and deleted my saved devices and tried to get it working from scratch. I have to say that it did take a bit of fiddling, but I did get the vibrations functioning using the test slider in Intiface.
So for starters, I noticed my configs had reset too. I went ahead and re-added my modified block to the v3 config and then manually added the serial device through the UI. Oddly the vibration slider wasn’t there. I then tried to modify the user config directly, but that one seems to reset every time you touch the devices on the UI so the modifications didn’t stick. So I wasn’t quite sure what to do, but after removing and re-adding the device a few times combined with some restarts of the app, I got the vibration slider showing up again.
Here are the configs I ended up with. I think at the end of the day, you just need the correct edit to your device config. I don’t think editing the user one helps but I’ll include it anyways just in case. buttplug-device-config-v3.json (380.1 KB) buttplug-user-device-config-v3.json (1.1 KB)
Thanks! Unfortunately even with your files unedited and swapping my kit to COM5 I still end up getting the same error any time I move the test slider:
49.612 : [E] : thread 'intiface-thread-15' panicked at 'index out of bounds: the len is 1 but the index is 1': C:\Users\qdot\.cargo\registry\src\index.crates.io-6f17d22bba15001f\buttplug-9.0.4\src\server\device\protocol\actuator_command_manager.rs:231
I can map V0 to vibrations correctly in MFP now at least, but neither it or L0 will actually make the thing move through intiface. I’ll have to try a different computer and see if it gives me any different results.
EDIT: no different. I made a thread on the buttplug.io discord about it.
EDIT2: it’s apparently a bug with the way features get indexed in buttplug, they’re working on it.
Apologies for any digression off the subject, but I have a question for anyone who owns a Nimblestroker Milker.
Can anyone tell me the dimensions of the main unit? I need to work them out for my play area set up, but I’ve searched exhaustively and can’t find any information anywhere.
Sure thing! I grabbed some rough measurements with a tape measure. The main unit is roughly cylindrical, although it tapers slightly from bottom to top. It is widest at the base with a diameter of around 6.5in/16.5cm. The full height of the device comes in just under 10in/25.4cm including a carrying handle built into the outer casing.
So overall the footprint is quite small but remember that it is quite heavy for its size!
I tried doing this setup, and I don’t know if it’s just how I did it or the scripts, but the motions and suction kinda feels weak? It’s not really that clear what it is doing in terms of motion and sensation very well, and I’m not sure if it’s just a fundamental translation issue. Any advice?
Some scripts meant for non-pneumatic devices might end up making motion feel weaker if they’re going too fast or making small movements. It’s pretty nonlinear in my experience, the top 20% of the range feels like it doesn’t move very much on mine.
If you’re using MultiFunPlayer, try turning “precise sleep” on and “offload elapsed time” off under the update rate settings. Forcing the L0 range to ~0 instead of neutral (50) when you attach the hose to the receiver can make a big difference too.
edit: oops, forgot offload was supposed to be off.
I tried to find an answer without success via google and other means, but after reading your description on the latest generation NimpleStroker at $1250, I think you can explain some things to me. How does the vibration work? Is it due to the motor with jerky movements with bits of code? Is there an explanation for the vibration frequency of the motor? I would like to understand how it works, with if possible a photo of the interior or videos to understand the difference compared to the famous Venus 2000.
Yeah, their website is unfortunately vague about the technical end of stuff. The V2k uses a rotational motor and a piston. The nimblestroker uses a big permanent magnet with a linear motor coil attached to a bellows, basically the same mechanical arrangement as a speaker except it controls the air pressure in a closed system and has a longer travel distance. The downside to this design is that the action trails off weaker after an hour or two if you’re in a warm environment (the magnet and coil heat up and less current can flow because hot wires). I plan to mod mine with a small cooling fan or even build a different case eventually, it’s my biggest issue with the design.
The vibration is a built-in function, i.e. you can do it with the supplied pendant controller or remotely through the devkit. It’s in addition to the main linear axis, and kinda rides on top of/modulates that movement. You can control the intensity and frequency as separate axes in MFP, though support for built-in vibration through intiface/buttplug.io was unsupported last I knew. You can also do vibration effects by just moving the linear axis really fast in a script/other control source (the command rate tops out around 60/sec for wireless and 100/sec over usb)
(I hope this helps and makes sense, I don’t check here often and it’s 0430 and I’m sleepy and didn’t want to forget)
Hi, thanks for the feedback. If you happen to take it apart, could you post a quick photo of the vibrating motor? But I think I’ll go with a piston and diaphragm; it’s easier to make DIY, but I’ll have trouble reproducing the vibration.