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.