Preflight safety check
Before entering any operating mode, the OSSM performs a preflight check to prevent accidental high-speed starts.How it works
When you select Simple Penetration or Stroke Engine from the menu:- The firmware reads the speed potentiometer
- If speed is above 1% (
commandDeadZonePercentage), a warning screen appears - The warning displays current speed and instructs you to decrease it
- Once speed drops below 1%, the mode starts automatically
What you’ll see
Bypassing preflight
You cannot bypass the preflight check. The mode will not start until the speed knob is near zero. This ensures you always begin at a safe speed and consciously increase it.Exiting preflight
Long-press the encoder to return to the main menu without starting the mode.BLE disconnection safety
When controlling your OSSM via Bluetooth, an unexpected disconnect could leave the device running at high speed. The firmware includes automatic ramp-down to prevent this.How it works
When a BLE connection is lost:- The firmware captures the current speed at disconnect
- After a 1 second delay, the ramp-down begins
- Over 2 seconds, speed decreases to zero using an ease-in-out-sine curve
- The device continues running at zero speed until reconnected or manually stopped
Why the delay?
The 1-second delay prevents false triggers from momentary signal dropouts. Brief interference won’t cause unnecessary slowdowns during normal operation.Ramp curve
The ease-in-out-sine curve provides smooth deceleration:- Starts slowly (gentle initial deceleration)
- Accelerates through the middle of the ramp
- Ends slowly (gentle final stop)
If the speed was already zero when the connection dropped, no ramp occurs—the device simply continues at rest.
Manual override
Local controls (potentiometer and encoder) remain active during and after disconnect. You can:- Manually stop the device using the speed knob
- Long-press the encoder for emergency stop
- Reconnect via BLE to resume control
Homing safety
The homing sequence includes several safety checks to detect mechanical problems before operation begins.Timeout protection
Homing must complete within 40 seconds. If the actuator hasn’t found both ends of travel within this time:- The motor stops
- An error screen displays: “Homing took too long. Please check your wiring and try again.”
- A QR code appears linking to troubleshooting resources
- Press the encoder to restart
- Insufficient power supply
- Disconnected motor wiring
- Mechanical obstruction
- Belt too loose or broken
Current sensing
The OSSM uses sensorless homing—it detects end-of-travel by monitoring motor current. When current exceedssensorlessCurrentLimit (default: 1.5%), the firmware knows the actuator has reached a physical stop.
Sensorless homing eliminates the need for limit switches while still detecting mechanical boundaries reliably.
Minimum stroke validation
After homing, the firmware validates that the measured stroke length exceedsminStrokeLengthMm (default: 50mm). If the stroke is too short:
- An error screen displays: “Stroke too short. Please check your drive belt.”
- The device enters error state
- Press the encoder to view help, then press again to restart
- Belt slipping on pulleys
- Belt tension too loose
- Mechanical binding or obstruction
- Incorrect motor configuration
Offset buffer
After detecting each end of travel, the actuator backs off bystrokeZeroOffsetMm (default: 6mm). This buffer:
- Prevents the actuator from repeatedly hitting the physical endstop
- Provides a safety margin for position errors
- Reduces wear on mechanical components
Emergency stop
At any time during operation, you can trigger an immediate stop.How to trigger
Long-press the encoder for approximately 3 seconds from any operating mode.What happens
forceStop()is called on the stepper driver- Motor outputs are disabled immediately
- The device is marked as “not homed”
- You return to the main menu
When to use
Use emergency stop when:- Something feels wrong during operation
- You need to stop immediately for any reason
- The device behaves unexpectedly
- You hear unusual sounds from the mechanical system
Don’t hesitate to use emergency stop—it’s there for your safety. Re-homing only takes a few seconds.
Error states
When the firmware detects a problem, it enters an error state with helpful information.Error screen
The error screen displays:- “Error” header
- A description of the problem
- Instructions for next steps
Help screen
Press the encoder on the error screen to view the help screen, which displays:- “Get Help” header
- Instructions to visit Discord or GitHub
- A QR code linking to unbox.ossm.tech
Configuration safety values
Several configuration parameters affect safety behavior:| Parameter | Default | Effect |
|---|---|---|
commandDeadZonePercentage | 1.0% | Preflight threshold for speed knob |
sensorlessCurrentLimit | 1.5% | Current threshold for homing detection |
minStrokeLengthMm | 50mm | Minimum valid stroke after homing |
strokeZeroOffsetMm | 6mm | Safety buffer from physical endstops |

