BondageDating

vibrator Project: Arduino-Based Device with Multiple Modes

If you're curious or own an Arduino, I've been working on the software for a vibrator that packs nearly every mode and setting imaginable. The code is…

member_9d90ae44d0 10 Sept 2026 #1

If you’re curious or own an Arduino, I’ve been working on the software for a vibrator that packs nearly every mode and setting imaginable.

The code is almost ready. I’m open to community suggestions and can provide setup instructions as needed.

You can find the source code here:

Hardware-wise, it uses an Arduino ( an LCD shield ( [ … HATfvlrapN]), and a plug-in vibrator connected to the board. This requires access to the leads entering the device.

Putting it together took some creativity. I used an Xbox controller motor for vibration and a film canister as the housing, securing seals with super glue and filing down cap notches for comfort during insertion. You could use off-the-shelf vibrators if you prefer, but I’m sticking to what I have.

I’ve reached near the limit of features the Arduino software supports. There are four primary modes: constant, wave, wave-of-waves (explained below), and random (my personal favorite).

It outputs 0-5V voltage through digital pin 10 to ground, with a max current of 1.8A (USB maximum). I can detail the construction if anyone is interested.

Here are the modes:

Constant: Self-explanatory. Select a level from 0 to 255 (0=0V, 255=5V) and it stays there indefinitely.

Wave: After much experimentation, I settled on four wave types: standard sine, triangle, square, and sawtooth. You can adjust min/max levels and the oscillation period, which ranges from 1 to 9999 seconds (roughly 3 hours).

Wave of Waves: Being mathematically minded, I created a breathing effect where frequency increases then decreases based on y = cos( tan( x ) ), with modifications for my needs. Check the source code if you want the details. This mode also lets you set min/max levels, cycle period, and a constant term that controls waves per cycle (add a constant before tan(x) to see how). ( [ … %28x%29%29))

Random: My favorite. The unit randomly selects wave types with random min/max values and periods, or picks a constant level for a random duration, or pauses briefly. You can configure the possible value ranges and max period.

In all modes, you can set a delay before activation starts. This lets users prepare themselves without the device kicking in too early—or just to add frustration! The delay can last up to 3 hours.