Skip to main content
The OSSM firmware provides three main operating modes, each designed for different use cases. This guide explains how to navigate the menu system and use each mode effectively. After homing completes, the OSSM displays the main menu on the remote’s OLED screen.
ActionResult
Rotate encoderScroll through menu options
Press encoderSelect the highlighted option
Long-press encoderReturn to menu (from any operating mode)
The menu wraps around—scrolling past the last item brings you back to the first.
OptionDescription
Simple PenetrationBasic operation with speed and stroke controls
Stroke EngineAdvanced pattern-based control with depth, stroke, and sensation
Streaming (beta)External control mode for third-party applications
UpdateCheck for and install firmware updates (requires WiFi)
WiFi SetupConfigure wireless network connection
Get HelpDisplay QR code linking to setup documentation
RestartRestart the controller and re-home

Simple Penetration mode

Simple Penetration provides straightforward control with minimal parameters. It’s ideal for users who want reliable operation without complexity.

Default settings

ParameterDefault Value
Speed0%
Stroke0%
Depth50%
Sensation50%

Controls

The left knob (potentiometer) controls speed from 0% to 100%.
  • Turn clockwise to increase speed
  • Turn counterclockwise to decrease speed
  • Speed must be near zero to enter the mode (safety feature)

Session statistics

Simple Penetration tracks three statistics during your session:
StatisticDescription
Stroke countNumber of complete strokes performed
DistanceTotal distance traveled (displayed in meters or feet)
TimeDuration since the session started
These statistics display at the bottom of the screen and reset when you return to the menu.
Simple Penetration is best for straightforward use cases where you want consistent, predictable motion without pattern variations.

Stroke Engine mode

Stroke Engine provides advanced pattern-based control with four adjustable parameters. It uses the StrokeEngine library to generate varied motion patterns.

Default settings

ParameterDefault Value
Speed0%
Stroke50%
Depth10%
Sensation50%
Stroke Engine starts with different defaults than Simple Penetration—notably a lower depth (10%) and higher stroke (50%)—to provide a gentler initial experience with pattern-based motion.

Controls

The left knob (potentiometer) controls speed from 0% to 100%.Speed affects how fast the patterns execute, measured in cycles per minute.

Available patterns

Stroke Engine provides 7 motion patterns:
IndexPatternBehavior
0Simple StrokeBalanced acceleration, coasting, and deceleration
1Teasing PoundingSpeed shifts based on sensation; balances faster strokes
2Robo StrokeSensation varies acceleration from robotic to gradual
3Half’n’HalfAlternates between full and half depth strokes
4DeeperStroke depth increases each cycle; sensation sets cycle count
5Stop’n’GoPauses between strokes; sensation adjusts pause length
6InsistModifies stroke length while maintaining speed
For detailed pattern descriptions and sensation effects, see the Pattern documentation.

Streaming mode (beta)

Streaming mode is currently in beta. Functionality may change in future firmware updates.
Streaming mode allows external applications to control the OSSM via BLE commands. It uses the same display interface as other modes but is designed to receive real-time position commands from connected devices.

When to use Streaming mode

  • Integration with third-party control applications
  • Synchronized playback with external content
  • Custom automation via BLE-connected devices

Controls

While in Streaming mode, the local controls (encoder and potentiometer) remain active but may be overridden by incoming BLE commands. The display shows current parameter values regardless of whether they’re set locally or remotely.
For BLE command reference, see the BLE Protocol documentation.

Exiting any mode

From any operating mode, long-press the encoder for approximately 3 seconds to trigger an emergency stop and return to the main menu.
Emergency stop immediately halts motion and marks the device as “not homed.” You may need to restart and re-home before operating again.