OSSM - Open Source Sex Machine
Last updated
Last updated
Most OSSM development takes place through ideas and CAD contributions made by enthusiastic discord members, join the discussion or show off your build!
OSSM (pronounced like "awesome") is a user friendly every day sex machine for the people.
The OSSM's primary feature is that it is a servo powered belt-driven linear rail. This allows for quiet, high torque operation at speeds up to 1 meter per second, as well as for software-defined stroke and depth.
Standard Recommended Build at a glance
32 lbs (14 kg) of force @ 20v DC
Up to 50 lbs (22 kg) @ 36v DC
8" Stroke (20 cm) with 350mm rail
This project aims to help people curious about sex machines explore their interest. A second objective is optionally learning how mechanics, electronics, physics and computing are involved in your sexual pleasure.
Compact & quiet
Highly performant
Moderate cost
3D printable
Easily-sourced components
Moddable
Note: This is a work in progress and we have attempted to keep compatibility with the current BOM going forward, but it's not guaranteed.
Contributions to this GitHub repository assume the same license.
Use of experimental/modified code increases the level of risk.
While using the OSSM we can suggest the following hierarchy of safety, however it is up to you and your build to decide what risks exist and how to mitigate them.
Have ability to move away
Have ability to remove the power
If you are in bondage, safety is responsibility of the Top
57AIM30 "Gold Motor" (Standard Recommended)
42AIM30 "Round Motor" (Smaller form factor, limited mounting support)
iHSV57 "Legacy Motor" (Pre-2024 recommended motor)
The OSSM Software is written to support closed loop servo type motors and tested on the above motors. Most OSSM actuator and mounting hardware is designed for NEMA23 form factor motors. Attempting to use a stepper or other motor is not recommended; while it may be technically possible in some cases, this usually requires custom design work and advanced-level custom code.
Motor
Important note: In order to operate with OSSM Software, motors must receive programming to set their "steps per revolution" to 800.
Motors from R+D are pre-programmed for OSSM. Motors from all other sources will need programming.
OSSM Reference Board, Remote, Wiring
JST-PH 2.0 4-Pin data cable and 16awg power wire
20-36v DC Power Supply (5.5 x 2.1 Barrel Plug)
Higher voltage, up to 36v, will provide increased force
USB Power Banks capable of true 100w USB PD also generally seem to operate well for a portable OSSM
[TESTED: ✓] INIU Power Bank P63-E1 100w (Old model: B63)
[TESTED: Powers down on high load] INIU B62 Power Bank 65W
Body
Belt Tensioner
Threaded End Effector, Clamp + Nut
Body
Knobs
Toy Mounting
Flange Base Plate with Clamping Ring (Tie-Down or Suction)
Double Double (Vac-U-Lock)
Mounting Ring (PitClamp Mini Ring)
Base (PitClamp Mini Base)
PCB Enclosure
3030 Extrusion Base
GT2 Pulley
GT2 Timing Belt
MGN12H Rail + Bearing Block
Rail length = desired maximum stroke + 180mm Must be MGN12H rail. H is a longer bearing block than C for greater stability. 12 indicates 12mm rail width.
Ball Bearings
Fasteners
Important note: The actuator rail direction is critical for pattern accuracy and safety functions. The proper direction is with the threaded end to the right when looking at the front face of the actuator body - the "M" side of the OSSM text on the Cover. Outdated videos and documentation may show different directions. Your rail should extend the threaded end first when booted; if this does not match the behavior of your build you should reverse your rail's printed hardware.
(03.30.2025) Note: There have been recent improvements to the OSSM Standard Recommended build that are not yet reflected in this build document. Refer to exploded views from the Printed Parts folders for assembly of each major component.
It is one of a kind Certified, Actual, Factual, Open Source
The safety of the OSSM is yet to be fully characterized as it is a work in progress. The OSSM is a framework for building your own sex machine and as such your specific combination may have risks not inherent to other builds. These risks may be undocumented or undiscovered. Please see the file for more information.
57AIM30
Programming requires a USB to 4 pin RS485 connector, cable for the 8 pin white motor plug, and use of the
or ESP32 Development Board
More information for board development .
is recommended
Experimental parts pop up in the #ossm-print-testing channel. W.I.P. for the top rated to be merged into this repo.
Additional hardware is required for Stand, Mounting, Remote Detailed in their respective folder