Tag: thingiverse

Basic Node for the Internet of Sex Toys – part 2: 3d printed form, assembly, molding

In this series of posts we describe how-to make a vibrating sex toy which is part of the Internet of Things.

part 1: Basic Node for the Internet of Sex Toys

part 2: Molding the Basic Node

part 3: Software for the Basic Node

In part 2 we describe how-to make a mold form for the basic node. We need three forms:

  • the mold form which consists of two parts
  • the inlay which protects the electronics of the basic node
  • a “hanging” for the inlay

 

 

 

We used Tinkercad to construct the parts. The molding form is based on Tinkercad’s banana form. You can edit and share them from your browser:

Inlay: https://tinkercad.com/things/h5fFOBqlmjw

Hanging: https://tinkercad.com/things/jUxc2oAamww

Form: https://tinkercad.com/things/6HS3XScOsCM

Instructions

Print out all forms. The STL files are available at Thingiverse. You might want to use XTC or similar for smoothing the inner part of the mold form.

Assembling the Inlay

We use the inlay to protect the electronics.

Simply put the electronics inside so that the upper body of the switch is on the same level as the upper inlay. We use hot glue to fix the basic node.

Then fix the receiver coil of the wireless charging module on top of the inlay. The next step is to fix the hanging at the inlay.

Now fix the LiPo battery on the bottom side of the inlay using hot glue or similar. Fix the wires. Finally you might fix the wires of the vibration motor next to the middle of the LiPo battery.

Use tinkering wire to fix both parts of the molding form.

Put the inlay in the form. Fix the hanging with a tape or similar. The motors shouldn’t touch the inner part of the form.

Now prepare the silicone. We use Shore A 45 silicone (approx. 250 ml) from Silikonfabrik.de. It is hard but still a bit flexible. You may add color, too. You have about 10 minutes to stir the silicone and poor it in the form.

After some hours you can remove the form. As you can see there is overhang which make removing the form very hard. The form could break when removing. Better preparation of the form (eg rasping) could improve the results.

If the blue LED of the Wemos board is still active you were successful.

Now you need a charging station. The construction is shown here. It is also possible to connect the sender (or transmitter) module with a 5V power source (eg. from the USB port). Just put the bottom of the molded basic node on the sender coil.

 

In the next part we introduce an updated version of the software including over the air update and WiFi management.

OpenSCAD as silicone molding form generator


scadmoldform1tryballs_revisited_3_finalAn alternative to 3d-printed sex toys are silicone toys. For making such a sex toy you need a molding form, where you pour in the silicone. If you use Tinkercad to build the form for the balls motive, you may need more than one hour. If you are not experienced in 3d constrcution it may take days. That’s ok and can be fun as you can realize your fantasies step by step.

 

 

molded-with-ueberh-querBut if you want to change a detail or want to resize some parts of it, it will take a long time as you have to unbuilt parts of the form, make changes and then reassemble. Sometimes building from scratch is faster.

In the last blog post we have introduced OpenSCAD to construct a sex toy form. Now we want to build a hull for the sex toy for overmolding.

The basic idea is very simple:

  • Generate two forms. The smaller one has the size of the sex toy you want to make. The larger one will be the form where you pour in the silicone.
  • Than use the OpenSCAD difference command which “subtracts” or cuts out the smaller form from the larger form.

But it is more complicated:

  • You have to include a frame otherwise the form would fall over.
  • You need two forms (A and b) so you could open the form after molding.
  • Both forms must be fastened together when molding. Therefore you need holes for tinkering wire.

bi-round-12-scadWe have created a solution for molding form generation which is as flexible as our OpenSCAD sex toy generator. In addition you can change the thickness of the frame. Therefore you have to change the variable frame_thickness.

The SCAD script uses the module base which is already introduced. The generation of the frame is done in the module frame. The frame consists of a base plate and two supporting frames which stabilize the whole form. In addition there are extensions to the frame in the upper part of the form. These extensions will provide holes for fastening both forms.

The module complete_form constructs the form which is tricky. The union command is used to join the complete outer form and the frame. Now we have a filled form and have to remove the inner part. This is done by subtracting another complete form which is a bit smaller than the outer form. This is done with the difference command.

Another module hole provides all holes for the tinkering wire. At last we construct part A and part B of the molding form. Again the difference command is used to cut out one half of the form. This is done by subtracting a cube which is placed in the middle of the complete form. In addition the holes must be subtracted from the complete form.

You can build in the body interaction vibrator development board to make a vibrating dildo, controlled by motion or by another body interaction vibrator development board. Read more here.

Try out with the Thingiverse customizer.

Download the zipped SCAD file here: bi1-round12

Or copy and paste the source code to the SCAD software:

// bodyinteraction toy form and mold form generator
// radius of bottom part
r_bottom=25; // [15:5:80] 
// height of bottom part
h_bottom=30; // [10:5:80] 
// top rounding of bottom part
rounding=10; // [10:5:20]
// radius of ball 1 
r_ball1=21; // [15:5:50] 
// radius of ball 2
r_ball2=15; // [15:5:50] 
//radius of ball 3 
r_ball3=11; // [15:5:50] 
// radius of connecting cylinders
connector_radius=8; // [10:2:20]
// distance between balls and bottom part
ball_distance=15; // [10:2:40]
// offset (thickness of hull)
o=2; 
// thickness of frame
frame_thickness=4; 

height=h_bottom+3*ball_distance+r_ball1*2+r_ball2*2+r_ball3*2; echo(height);


// form part A
translate([0,0,height+frame_thickness])rotate([0,180,0])
difference() {
 complete_form(r_bottom,h_bottom,rounding,r_ball1,r_ball2,r_ball3,connector_radius,ball_distance,o,frame_thickness,height);
union(){
 translate([-r_bottom-o-10,0,-5])
 color("red")cube([2*r_bottom+2*o+20,r_bottom+2*o,height+frame_thickness+5]);
 holes(height,h_bottom);
 }
}
//form part B
translate([90,0,height+frame_thickness])rotate([0,180,0])
difference() {
 complete_form(r_bottom,h_bottom,rounding,r_ball1,r_ball2,r_ball3,connector_radius,ball_distance,o,frame_thickness,height);
union(){
 translate([-r_bottom-o-10,-r_bottom-o-2-10,-5])
 color("red")cube([2*r_bottom+2*o+20,r_bottom+2*o+10,height+frame_thickness+5]);
 holes(height,h_bottom);
 }
}

module holes (height,h_bottom){
for (i=[h_bottom+30:10:height])
 translate([r_bottom-1,5,i])rotate([90,90,0])
 color("green")cylinder(h=15,r=1,$fn=20);

for (i=[0:10:h_bottom+20])
 translate([r_bottom-3+10,5,i])rotate([90,90,0])
 color("blue")cylinder(h=15,r=1,$fn=20);

for (i=[h_bottom+30:10:height])
 translate([-r_bottom+1,5,i])rotate([90,90,0])
 color("green")cylinder(h=15,r=1,$fn=20);
for (i=[0:10:h_bottom+20])
 translate([-r_bottom-6,5,i])rotate([90,90,0])
 color("blue")cylinder(h=15,r=1,$fn=20);
}

module complete_form (r_bottom,h_bottom,rounding,r_ball1,r_ball2,r_ball3,connector_radius,ball_distance,o,frame_thickness,height) {
 difference() {
 union() {
 base(r_bottom+o,h_bottom+o,rounding,connector_radius+o,ball_distance-2*o,r_ball1+o,r_ball2+o,r_ball3+o);
 //complete frame
 frame(2*r_bottom+2*o,o,height,frame_thickness,r_bottom,h_bottom,rounding);
 };
 base(r_bottom,h_bottom,rounding,connector_radius,ball_distance,r_ball1,r_ball2,r_ball3);
 
 
};
}

module frame(width,o,height,frame_thickness,r_bottom,h_bottom,rounding) {
 //plate
 translate([-width/2,-width/2-2*o,height]) cube(size=[width,width+2*o,frame_thickness]);
 //frame1
 translate([-width/2,-frame_thickness/2,0]) cube(size=[width,frame_thickness,height]);
 //frame 1 extensions
 translate([-width/2-010,-frame_thickness/2,-5]) color("blue")cube(size=[12,frame_thickness,60]);
 translate([-width/2-10,-frame_thickness/2,55]) color("red")rotate([0,45,0]) cube(size=[12,frame_thickness,20]);
 
 translate([+width/2-2,-frame_thickness/2,-5]) color("green")cube(size=[12,frame_thickness,60]);
 translate([+width/2+01,-frame_thickness/2,47]) color("green")rotate([0,-45,0]) cube(size=[12,frame_thickness,20]);
 //frame2
 translate([-frame_thickness/2,-width/2,0]) cube(size=[frame_thickness,width, ,
 height]);
 // stabilize bottom with cylinder
 color("green")translate([0,0,h_bottom])rotate([00,0,0180])
 cylinder(h=r_bottom*2-rounding*.5, r1= r_bottom-rounding, r2=0);

}

module base (r_bottom,height,rounding,connector_radius,ball_distance, c1,c2,c3) {
 union () {
 // connector
 color("white")cylinder(h=height+2*ball_distance+c1*2+c2*2+c3*2,r=connector_radius,$fn=60);
 //base
 color("DarkSlateBlue") cylinder (h=height-0,r=r_bottom-rounding,$fn=60);
 color("MediumSlateBlue")cylinder (h=height-rounding,r=r_bottom,$fn=60);
 translate([0,0,height-rounding]) color("SlateBlue") rotate_extrude() 
 translate([r_bottom-rounding,0,0]) circle(r=rounding,$fn=120);
 // circle (ball) 1, 2 and 3
 translate([0,0,height+ball_distance+c1]) color("Indigo")sphere(r=c1,center=true,$fn=60);
 translate([0,0,height+2*ball_distance+2*c1+c2]) color("Violet")sphere(r=c2,center=true,$fn=60);
 translate([0,0,height+3*ball_distance+2*c1+2*c2+c3]) color("Purple")sphere(r=c3,center=true,$fn=60);
 }
}

 

Go to the first part of the SCAD tutorial

USB powered charging station for the silicone molded vibrator

charging-station-in-action-with-body-interaction-vibrator-so-much-balls-smallWe made a DIY silicone molded vibrator (see here, here and here) using the Arduino compatible body interaction vibrator development board and a wireless charging module. Now we need a charging station where you can put your vibrator for battery charging.

We need a simple box for the wireless charging sender (transmitter) module and the coil. In addition we need a USB cable which we will cut though and connect to the charging module.

It is important to keep the distance between sender and receiver coil as small as possible. The larger the distance is the less power will be transmitted. Therefore the plate where you put the vibrator must be very thin. There are different modules available.

 

What do you need?

  • A USB cable
  • Wireless charging sender (transmitter) eg. from Seeed Studio, 5V input. The sender (transmitter) will be placed in the charging station. The receiver module will be part of the vibrator. There are different modules available. Look for a 5V input module.seeedwirelesscharging

Instructions:

A. Print out part A and B. Download STL files (zip file)

charging_station_02_final

 

B. Cut a USB cable. Plug the cable through the hole of form B.

C. Now connect the USB wires with the sender module. Solder the red wire to the (+) pad on the wireless charging sender. Solder the black wire to the (-) pad.

charging-cable-through-and-USB-cable-soldering-to-board

D. Glue the sender board on the bottom of the red form. Put some glue on the cable to fix it. We used hot glue.

charging-board-and-cable-glued

E. Now glue the black form and the sender coil together. We used simple “UHU”-like glue. If the distance between coil and form is too large the charging could be rather slow. So don’t use too much glue.

charging-coil-glued

F. Now put together both parts. Again we used a simple glue.

charging-station-complet-with-USB-cable

G. Insert the USB connector to your PC or any other source. Now the vibrator should be charged which is indicated by an orange LED.

charging-station-in-action-with-body-interaction-vibrator-so-much-ballsReady! Have fun with your collection of wireless DIY Arduino-compatible vibrators.

 

Download STL files (zip file)

All files at Thingiverse: http://www.thingiverse.com/thing:1488428

Tinker and share with Tinkercad:

Part A https://tinkercad.com/things/ijyPmLD1B9e

Part B https://tinkercad.com/things/emWnXUkiH1J

Update for “balls revisted” – silicone molded vibrator

balls-revisited-v3-wit-v4-inlay-blueThe “ball revisited” silicone molded vibrator uses a wireless charging module. Unfortunately there are different version available. The version with some textile like cable jackets have a different inner radius of the receiver coil.new-inlay-from-topWe have changed the mounting on top of the picture as this type of the receiver coil needs a little more space. In addition the encasement is a bit larger. new-inlay-seen-from-side-BThere is enough space for the body intercation board (top), wireless charging board (right) and the LiPo battery (below).new-inlay-seen-from-side-BFinally the wire of the vibration motor is glued in the middle of the encasement.new-inlay-from-belowPlease follow the “old” instruction – nothing has changed. When printing out the 3d parts use the new version 4 of the inlay. All 3d printing STL files at Thingiverse

 

Print your vibrator case, visit our galleries and read the quick start guide

The case for the body interaction vibrator development board are printed with a 3d printer. There are two possibilities.

(1) You can use a printing service like Shapeway or Sculpteo. Sculpteo has the advantage that they offer food safe material. This means there are no risk if you apply the case to your skin or even insert the case. Follow this Link to the Public Sculpteo Library. The library offers 3d views, material, color, finishing configuration and price calculation (there are no surcharges for the designer.):
http://www.sculpteo.com/de/embed/gallery/?click=order&designer=south

sculpteo library(2) You can print the design on your own 3d printer at home. If you don’t have one you could go to your next Fablab or Hackerspace and ask if you could us the printer. You need a STL file which can be downloaded from http://www.thingiverse.com/south/designs

xyz printerAfter printing the case you can assemble the body interaction vibrator development board. In the blog you will find several videos which explain the assembling. For a quick reference please download our guide: quickstartguide-bodyinteraction1

%d bloggers like this: