GithubHelp home page GithubHelp logo

kinkymakers / ossm-hardware Goto Github PK

View Code? Open in Web Editor NEW
202.0 24.0 43.0 262.64 MB

OSSM pcb and hardware enclosure design

License: MIT License

C++ 25.75% C 2.13% Python 69.81% HTML 0.23% CSS 0.08% Objective-C 2.00%

ossm-hardware's Introduction

OSSM - Open Source Sex Machine

Discord

OSSM (pronounced like "Awesome") is a user friendly every day sex machine for the people.

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.

Please note that this is a work in progress and we have attempted to keep compatibility with the current BOM going forward, but it's not guaranteed.

Our Primary design goals are to make a machine that is compact, quiet, of moderate cost, 3D printable (no cutting/machining required), flexible, highly performant, with easily sourced components, and doesn't look like a giant machine.

Getting Started

There are a few hardware flavours to choose from, we've included community modified versions in case that fits your use case better!

Join our Discord to be part of the discussion and get help with your build. We have a huge community of makers! https://discord.gg/MmpT9xE

Software

The software is available in this github repository. It is written and compiled utilizing PlatformIO on Visual Studio Code. Reference for working with the code in PlatformIO here

We recommend using the Research and Desire Reference Board as Do It Yourself by someone without extensive electronics knowledge creates a lot of support overhead. This code is still arduino IDE compatible but offers many times better performance. Web based control is coming soon. A proof of concept can be found at https://app.researchanddesire.com/ossm, however modifications need to be made in order to use this proof of concept web control.

Eagle PCB

Simple PCB to power an ESP32 (wifi enabled microcontroller) from 24V and breakout the pins for the OSSM control

Mechanical design

The OSSM use a compact belt design with components that have become widely available due to 3D printing popularity. It is driven by a Nema23 motor of your choosing, although we reccomend small integrated closed loop servos for their silent operation and very high performance.

Mounting

We have a new stand design you can check out on onshape! OnShape link

image

Safety

The safety of the OSSM build 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 Hazards file for more information.

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.

  • A) Have ability to move away
  • B) Have ability to remove the power
  • C) If you are in bondage, safety is responsibility of the Top

Bill Of Materials

We are calling this the reference build, when deviating from it please check compatability with existing Bill Of Materials (BOM)

  1. 3D Printed Parts

  2. IHSV57 NEMA23 Servo with 8mm shaft :

    • Avoid the StepperOnline version

    • Make sure you get something with 8mm shaft.

    • There are 3 sizes of this motor:
      100W = iHSV57-30-10

      140W = iHSV57-30-14

      180W = iHSV57-30-18

    • We recommend motors with firmware version 6 (shown as V60x). Pay attention to this, the firmware version is printed on the label on the side. You cannot update the motor firmware. version 5 will work, but it is not as feature rich for potential new features.

    • Search around for the best deal for you - we reccommend searching "ihsv57" on Aliexpress.com and choosing the -10 -14 or -18. Some example listings:

      AliExpress - US

      AliExpress - CA & AU

    • For details on picking the right motor for your use case - check this FAQ

    • If you are using the 140W or 180W version it is recommended to use a 10mm wide belt and pulley (see the next two items)

  3. GT2 Pulley 8mm Bore 20 Tooth, 10mm width :

    Amazon - CA

    Amazon - US

    Banggood - AU

  4. GT2 Timing Belt - 10mm width : '

    Amazon - CA

    Amazon - US

    Amazon - AU

    • Your desired stroke length plus about 200mm should be your minimum order length
  5. Bearings MR115-2RS 5x11x4mm :
    Amazon - CA

    Amazon - US

    Aliexpress - AU

  6. MGN12H Rail and bearing :

    Amazon - CA

    Amazon - US

    Aliexpress - AU

    • Minimum 250mm in length, suggested 350mm
    • Rail length = desired stroke + 180mm
    • Must be MGN12H rail
  7. Power Supply : 24 volt 4-5 amp w/ 2.1mm barrel DC plug

    • Larger motors generally need more power! 180W -> 24V 5A suggested minimum 140W -> 24V 4A suggested minimum 100W -> 24V 4A suggested minimum

    • See the FAQ for more details about power supply sizing based on real world experience of OSSM users.

    • The OSSM will work with small power supplies, but will be limited on maximum force.

    • Ensure the power supply is fully enclosed and shielded to avoid cross talk from electromagnetic interference (like a laptop power supply).

    • Ensure the power supply has the correct approvals for your location - This really helps ensure performance as well! (UL, CE, etc.)

    • It is strongly recommended that you purchase a good quality PSU such as a Meanwell.

  8. Metric Hex Cap Screws :
    Amazon - CA & US

    Amazon - AU (this is a little expensive, we are looking for a cheaper alternative)

    • A kit like the ones above will provide what's needed:
    • 4x m5x20
    • 1x m5x12 (can also use m5x20)
    • 10x m3x8
    • 2x m3x16
    • 8x m5 nuts
    • 8x m3 nuts
  9. ESP32 Development Board

    • An official OSSM reference PCB
    • We do not currently have a best suggestion if you are not using a reference board, most generic development boards are the same
    • We have found that the 3.3v boards may miss steps at high speed, so please use a level shifter as well.
    • To start working on the project, something like this Adafruit board is an excellent place to start.
    • Accessories required for prototyping include Breadboard and Dupont Jumpers

Octopart Links for ease of ordering and tracking

A list of non-3d printed supplies in one place. Most of the parts aren't available through the preferred Octopart vendors but it still makes for a convenient list.

Octopart - Collected Bill of Materials for US Suppliers

Official OSSM Wiring

image The above image is of a version 1 reference board.

OSSM PCB Connections

image

GPIO Layout

OSSM pinout JST Header

Non-Official OSSM Wiring

This should be a good start for the wiring of your OSSM! However, depending on your hardware mix settings or wiring may be different

OSSM PCB w/ TB6600 Stepper Driver

image

Servo Wiring

ServoWiring

Stepper Wiring

wiring notes

ossm-hardware's People

Contributors

aj-koenig avatar anderson-rc avatar atreidae avatar bigbellyburger avatar chisholmkyle avatar dangeroustardigradeadventure avatar e0911cd45b19686 avatar greatpirategalaxy avatar kescholm avatar maxakipust avatar mrfixit1986 avatar nightmaresyndrome avatar ortlof avatar redspeeds avatar research-and-desire avatar riggingdelight avatar shicks101 avatar stephenchappo avatar theonlyscience avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ossm-hardware's Issues

missing file?

the base for mounting attachment (black 3d printed part) is not mentioned in the part list or anywhere including assembly video.

great project doh, and really well built.

BOM missing screws

watching the assembly video, it clearly shows 6 M5x20 but the BOM lists that you only need 4, could someone double check the other screw counts and see if they are accurate?

#82 OSSM losing position switching from simple penetration to stroke engine

#82
To reproduce, run the OSSM in simple penetration and then longpress to exit. Twist speed pot to zero inside the menu. Now open stroke engine. The OSSM will run into it's backstop.

When keeping the speed pot above zero the OSSM will move into a holding position, after moving the pot to zero it'll safely move to it's most forward position.

Step loss culprit

stepper.setDecelerationInMillimetersPerSecondPerSecond(

Why the dual setDecelerationInMillimetersPerSecondPerSecond here and not in getUserInputTask? Something missed in a refactor?

Also why getDistanceToTargetSigned() != 0 and not !(motionComplete())?

while ((stepper.getDistanceToTargetSigned() != 0) ||

https://github.com/KinkyMakers/OSSM-hardware/blob/master/PlatformIO%20ESP32%20code/OSSM_ESP32/lib/ESP-FlexyStepper-master/src/ESP_FlexyStepper.h#L69

Add progress bar during homing

Currently, users won't know if the screen is stuck or not during homing. It would be helpful to include a progress bar, like the startup logo screen example below, showing expected rail length (100mm) and actual rail length measured (0) so far. This should improve the user experience by keeping them informed and preventing them from feeling stuck during homing. It also aids in troubleshooting homing issues, such as mismatches between measured and actual lengths.

image

Large mounting plate threads are misformed

the large mounting plate option (Hardware/OSSM Printed Parts/end effector options/24mm threaded/Vampix 24mm Tie Down and Suction Plate - LARGE.stl) has misinformed threads as designed, the threads end before exiting the boss preventing the screw from threading.

Electronics Board V2.1 won't store WiFi credentials

After accessing the wifi setup page, I connect to my wifi and enter the credentials. The OSSM reboots and I can see it come online very briefly on my router, but as soon as it's done booting, it disappears from my network.
When I reboot and connect to the wifi setup page again, it says "No AP set" even though I configured it.
I cant seem to get it to store the credentials and stay connected to my network.

Add a "About" page for detail information

It would be great to include an "About" page in the new UI, providing detailed operational information for users, not just for troubleshooting, but also for understanding how the machine works. For instance, this page could include details such as: Measured Length, Max Stroke length, Max speed, Max Acceleration, and Stroke buffer space etc.

It would be even better if we could make setting changes here, but we need to be extremely cautious as it could pose safety risks.

One useful setting to include here would be limiting the Max Stroke length for safety purposes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.