Category: Arduino

Programming the body interaction 1 (BI) – part 1

Controlling the vibration motor

The vibration motor is an analog device. You can control the vibration on a scale between 0 and 255. If you set the vibration to 0 the motor is off, if you set the vibration to 255 the motor will be at full speed.

Good vibrations Tokyo by Kevin Dooley, CC BY 2.0

Good vibrations Tokyo by Kevin Dooley, CC BY 2.0

The motor is connected to a pin of the controller (“ATtiny84”), the heart of the BI. Every pin has a number and the motor is always connected to pin 3.

on off chartNow we can start with the first script (or program). The script will set the motor to full speed for one second. Then the motor will be off for 1 second. And this will be repeated infinite.





Here is the complete script:

int motor=3;
void setup() {
  pinMode(motor, OUTPUT);

void loop() {
  analogWrite(motor, 255); //motor on
  delay(1000);  // wait for 1 second
  analogWrite(motor, 0); //motor off

Now the script is explained line by line:

int motor=3;

First we declare a variable called “motor” and assign the value 3. The variable is of type int (integer) which is used to store a number. Now we could use “motor” instead of “3” whenever we want to control the vibration motor – this will help us to understand and debug our script.

void setup() {

This is function which is part of every Arduino script. It is called setup and well be executed at first and only once.

pinMode(motor, OUTPUT);

Each pin can be in INPUT or OUTPUT mode. In input mode sensor data can read, in output mode a motor or a LED can be controlled. We set the motor pin to OUTPUT.

void loop() {

In the function loop we put all the instructions which should be carried out. When all instructions are done the script doesn’t stop but starts again. Therefore the loop will be repeated infinite.

analogWrite(motor, 255);

The motor is set to full speed (255).


The delay function stops all processing for 1000 milliseconds. 1000 millisecond are 1 second.

analogWrite(motor, 0);

Then motor is set off (0). In the second part of the tutorial uploading of the script to the body interaction 1 is explained.


Read part 2: the accelerometer

Get started with Arduino 1.6.7 and Windows 10

Thanks to christmas I am the owner of a new Windows 10 notebook. So I experienced the trouble other user encounter when the use the ATtiny microcontroller the first time.

I wrote a new how-to for the installation of Arduino 1.6.7. Although it takes some time to configure all options, everything can be done within Arduino 1.6.7 (No replacing and moving of files is necessary.)

sucessful compiling

The how-to describes the necessary steps:

  1. Installation of an ATtiny core (thanks to the new core from Spence Konde installation is much easier)
  2. Installation of the JeeLib
  3. Configuration (programmer etc.)

Driver installation (Windows only)

Another frustating aspect is the installation of the driver for the USBtinyISP. The USBtinyISP is needed to connect your Windows computer and the body interaction development board. The connect your computer how-to is now improved. If you use Linux or a Mac there is no driver needed.

French article about comingle, master-beta kit and bodyinteraction

Tu sais où tu peux le mettre, ton Arduino ?

Do you know where you can put your Arduino? –  Francois Mocq reports about three Arduino vibrator projects: comingle, master-beta kit and body interaction. Even more interesting he queries whether Arduino or Raspberry Pi is the right platform.

raspberry_pi_logo_rgb_552x650-212x250Raspberry Pi offers much more computing power and connectivity, eg. you could add a camera, do video processing and add more hardware.

On the other hand programming can be more complex and it may take more time to run you first script.


And there are more platforms out there like the very cheap ESP 8266 module with the NodeMCU software. The ESP8266 can connect directly with the internet via wi-fi.


Follow the discussion

Review of vibrator development boards

Designing your own sex toys with advanced technology is becoming popular. Although the community is still very small the interest is rising. In this article we will introduce for open source vibrator development boards including our body interaction 1. We will see how the design of the development boards determines the design space – the possibilities of sex toys which can be realized.

Comingle may be the most successful open source sex toy company. They invented the Mod – an Arduino based vibrator with 3 vibration motors. They also offer the Dilduino – a development board based on the Atmel ATmega342U4 (similar to the Arduino Micro). The board can drive 3 vibration motors. They have developed a great library for programming vibration pattern (“OS sex“). You can use arbitrary function like sinus or cosinus to define pattern. You can upload programs via the USB connection, but there is no wireless radio or WiFi connection on board. The board lacks battery charging support, so you need external power. As the board is quite large it is only suitable for larger toys. Available at Tindie.
Pro: supports 3 motors, full Arduino compatible, great library, superb tutorials
Cons: no wireless connectivity, no battery charger, quite large for being part of a sex toy

pen15_smallPen 15 shield is a shield for the Arduino Uno.  So you need an Arduino Uno in addition to the shield. The shield must be connected to the Arduino board. It has one driver for a vibration motor. This pioneer work was announced in 2011, but it is probably not available any more. The price is quite low. There is no battery charging option and it is very large compared to the other boards.
Pro: full Arduino compatible
Cons: no wireless connectivity, no battery charger, too large to be part of a sex toy

Master Beta Kit from Orgasmatronic Inc. is another shield for the Arduino Uno. It can control two vibration motors. The power source for the vibration motors could be different though you may control motors with different input voltages. Easy assembling and support with online tutorials.

Pro: full Arduino compatible, different motor input voltage
Cons: no wireless connectivity, no battery charger, too large to be part of a sex toy

Assembled boardThe body interaction development board can drive one motor. It has a LiPo battery charging option. It can be controlled by motion – a 3-axis accelerometer is build in. Using motion you can control the vibrator – no need for further peripherals like switches or slider for controlling the vibration speed. The main advantage is the wireless radio especially if you like to use more than one sex toy at once. You can transmit data between your toys, control your toys or even synchronize them. The form factor is very small, though it can be part of a small toy. As the board is only 20x36mm there is not much space for further functionalities: It has no serial interface. To upload a program you need an ISP programmer (eg USBtinyISP). And it uses a microcontroller from the ATMEL ATtiny series. Although the tiny microcontrollers are getting more and more popular they have some disadvantage compared to the standard ATmega328p: There is not much memory on the chip (8K instead 32K), some libraries may not work, less I/O ports. Available at Tindie.
Pro: small form factor, LiPo battery charger included, wireless radio, motion tracking
Cons: some libraries don’t work, programmer needed for uploading programs


From Gideon, Paris, City of Love, License: CC BY 2.0

Most probably we will see more boards arrive and we hope that there are Open Source, too. But for a breakthrough for open source DIY sex toys an open standard would be helpful like the Arduino helped physical computing becoming popular for nerds, SIGs,  artists, scientists, hobbyist, industry!
But open source sex toys are not only a technical endeavour. It is about our relation to love, sex, partnership, about taking responsibility. Open sex toys are about getting a deep and well-founded understanding of our personal sexuality and the sexuality of our loved ones.


Assembling the new violet vibrator form

We ordered the organic vibrator form from Sculpteo. They offer material which can be used for food – so it’s very safe.









IMG_20150901_212010[2]All you need for assembly is the body interaction motion controlled vibrator development board and two M3 screws (about 6mm long).


Assembled board

boards arrived one box








The video explains how-to assemble the Arduino compatible body interaction vibrator board and the form. Watch in Youtube

%d bloggers like this: