NOTE: These are development experiments - USE AT YOUR OWN RISK. There is NO Warranty or Support for this program (see LICENSE). The author(s) are NOT liable for damages that may occur to your device(s).
Basic automated routines for the NimbleStroker and NimbleConModule.
Three run modes are included:
- Constant: Default Pendant behavior. Stroke speed, length, and texture stay constant. Useful for dialing in max speed, length, and texture settings.
- Edging: Stroke speed and length ramp up and slow down over time. Texture ramps up and down.
- Random: Varies the stroke speed, length, and texture on random patterns every 2 minutes.
- Set up VSCode with PlatformIO
- Clone this repo and open the project in VSCode
- Build and upload this program into the NimbleConModule
- Attach the NimbleConModule to the actuator (Label A)
- (Optional) Attach the Control Pendant (Label P)
- Only useful for adjusting the Air In and Out functions
- Other stroke/vibration controls from the Pendant are bypassed
- Double click the Encoder Dial to start/skip to the next routine:
Constant
: Default Pendant behavior. Stroke speed, length, and texture stay constant.Edging
: Stroke speed and length ramp up and slow down over time. Texture ramps up and down.Random
: Varies the stroke speed, length, and texture on random patterns every 2 minutes.
- Single click the Encoder Dial to switch between active settings mode when turning the dial:
Mode 1: Speed
: Changes the length of the waveform (duration of the sine wave) (0 to 3 hz) (BT/WIFI LEDs OFF)Mode 2: Stroke
: Changes the amplitude of the waveform (0 to 750) (BT LED ON)Mode 3: Texture
: Changes the intensity of the vibration (WIFI LED ON)
- Use the dial to adjust the active setting mode
- The settings are applied to all routines
- Long press the Encoder Dial (2 seconds) to stop the routine
- During a running routine, air will automatically be let out every 5 mins for a duration of 1.5 seconds to help reduce air buildup in the tube assembly.
- Some protections have been made to reduce wild swings in position when changing speed or cycling through routines, but may need additional tuning.
- Used example code (heavily modified) from: https://github.com/tyrm/nimblestroker/
- Used and modified NimbleConSDK from: https://github.com/ExploratoryDevices/NimbleConModule
- See also platformio.ini for other 3rd party OSS libraries used in this project