The Venus 2000 is a machine designed to stroke the penis.
It can be ordered on-line from here.
When shipped from the manufacturer, the device is controlled by a small
hand held box which contains an on/off switch, a power indicator, and a
variable resistor. In order to control this device from a
computer, we need to replace the functions of this control box and also
add some kind of sensor, so the computer can monitor the stroke speed
and position. It was an important consideration to me that
the Venus 2000 would continue to be able to be used as it was
originally intended, IE with the original remote control.
The images above show the first generation of rotation
position sensor. This was fabricated using a reed switch from Radio
Shack. I removed the magnet part from it's white
housing, and mounted it on the Venus flywheel, while the switch side
mounted on the homemade bracket. The magnet was positioned
such that, it activated the reed switch when the Venus was at the
bottom of a stroke. This admittedly crude sensor actually
performed quite well.
first generation Venus speed controller was made using 6 relays
controlled from the laptop's parallel port. I used a
product similar to this one from Carl's
The hand held factory controller uses a 10K variable resistor
control the motor's speed. Unfortunately the resistor is not
referenced to ground. The Venus 2000 uses a commercial speed
controller manufactured by Quantum Controls,
a maker of OEM circuits for controlling DC motors. Because the variable
resistor is not based on a voltage referenced to ground, providing the
controlling signal is not as simple as using a D/A circuit.
simplest solution was to use relays with a resistor ladder network.
I used 6 relays, which were activated in a binary pattern to
create 64 different possible motor speeds. Click
here to see a schematic of this first generation of Venus
2000 speed control.
If you analyze this circuit, you will see that it is far from a perfect
emulation of a variable resistor. First of all, the overall
resistance varies from 5,700 ohms up to 12,630 ohms depending on the
selected setting. Also note that the highest output possible
the "mid point" setting. Despite these flaws, the relays
worked quite well controlling the Venus 2000 speed. For one thing, the
area of interest for me was the lower portion of the speed range.
I find the faster speeds to be less interesting.
The first generation
design was used for about
12 months with good success, but I wanted a better solution.
basically, I wanted a better simulation the variable
I started experimenting with this
At first I tried using two chips in series, one for the lower
portion of the variable resistor and one for the upper portion.
eventually found that there was no need for the lower portion to be
simulated. It was enough to have a (simulated) variable
just between the "hot" leg and the "wiper" leg. Here is the
for the second generation interface to the Venus 2000. This
schematic also shows the receiver circuitry for the output from the
reed switch. The second generation design is still in use at
time for the most part, except a circuit board has by now been mounted
inside the Venus 2000's motor enclosure, and the position sensing has
been upgraded to photo sensors in preparation for the third, and
hopefully final generation of Venus 200 interfaces.
The second generation
design has been in use
for about 12 months, but I still feel there is room for improvement.
In the third generation design, I have added the ability to
sense the receiver movements. I believe this may enable the
computer program automatically adjust the level of stimulation to be as
high as possible while still preventing orgasm.
three parts to this third generation design. The first part
is shown in the images below:
In these images you can see that I have designed
a new PC board inside the Venus 2000 motor housing. This PC
incorporates the simulated variable resistor, a relay for turning motor
power on/off, and two photo reflectors for very precise sensing of the
fly wheel's rotational position. Look closely and you can see
that I have mounted an optical
on one side of the Venus 2000 flywheel. In the middle
you can see the new front panel connector I mounted for connections to
this new PC board. (Click on the images for a larger view.)
to see the schematic of this new PC board. Here
is what the PC board looks like. The ground plane is used to
act as a heat sink for U8. Two of the large holes are used to
mount the PC board to the motor using hex standoff hardware.
bottom most hole, must be enlarged enough to let the motor's shaft pass
thru it without touching. Also note that U2 is mounted at an
angle. This is to allows it to be at right angles to the
wheel. U1 and U2 are positioned such that their signals are
90 degrees out of phase. The PC board shown here is presently
use, as the second generation interface has been modified to work with
Here are the files you need to produce your own PC boards. There are two files, the schematic and
the layout. The schematic file is not strictly needed for manufacturing, but might be useful
if you want to make any modifications to the board before production. These files work with
the Express PCB service, download and use their free software
packages to view, change, or order boards.
Note that after assembling the PCB, you will want to be able to adjust the position of the opto reflector devices.
They need to be placed on the "back side" of the PCB, facing the encoding wheel. The PCB should be mounted such that these
parts are about 0.050" from the encoding wheel. I mounted mine as far off the PCB as the component leads would allow, so that
the parts can be shifted slightly from side to side. The idea is that the signals from the opto's will be out of phase with each
other. The phasing is not critical, but you want the INDEX opto signal to be stable whenever the STEP opto has a rising
edge. Also note that one of the "white" reflective stripes needs to be darkened in the area of the INDEX opto only. Here is a
picture to show you the idea.
Theory of Operation
The Venus Encoder Board performs 3 seperate functions. You can leave the board depopulated if you do not need all the functions.
- AC power control: The relay lets you turn power on and off without running the 120VAC levels over the control cable. This is a 12 VDC
relay that is energized whenever 12 volts is applied between pins 1 and 5 of J1. Note that in order to make this work you will have to hook the
wires from J3 up to the Venus 120VAC wiring such that the two wires are in parallel with the switch in the remote control box. Make use
you do this with the Venus unplugged from the AC mains and use extreme care to make the connections poperly.
- Speed Control: The circuit containing C4, R9, U5 (section a), Q1, U6, R5, R6, R7, R8 and J2 lets you control the speed of the Venus
using a ground referenced DC voltage ranging from 0 to 3 volts. C4 removes any possible AC hum on the input. R9 makes sure the motor
is stopped if the cable disconnects. U5 (section a) and Q1 act as a current amplifier controlling the current thru U6. This current is
adjusted, if needed, by changing the resistors R5-R8 such that the maximum stroking speed (that you want from the motor) occurs when the input
voltage is 3 volts. Note that the wires on J2 must be connected in parallel to two of the variable resistor wires on the remote control. On
my unit, I was able to connect the wires to the screw terminals on the Venus's circuit board. Of the 3 resistor wires, you need to connect to the
high voltage side and the "wiper" or middle wire. Note that polarity on these wires is not important.
- Position and Speed Sensing: The circuit containing U1, U2, U3, and U% (2 sections) let an external device monitor the position of the
Venus stroke and the speed. The position is determined by counting both the rising and falling edges of the STEP signal, and zeroing the
counter if the INDEX signal is high on a STEP falling edge. Note that the INDEX pulse occurs because one white segment has been blackened
on the encoding wheel in the area sensed by the INDEX opto, but left white in the area sensed by the STEP opto. In my case, I positioned the
encoding wheel such that the index pulse occurred when the stroke was at the maximum position. This means that the black mark will be at the top
of the wheel when the piston is fully retracted. The speed is sensed by determining the elasped time between successive rising edges of the
STEP signal. Note that the STEP signal my not have a perfect 50% on/off square wave due to the nature of the encoding wheel. By timing between
rising edges only, that error is eliminated.
The second part of this third generation design is a control box, shown
in the pictures below. From left to right are shown: the
front view, a close up of the box's control buttons and the rear view.
I call this box the CS-2000. The "CS" for being
part of the the Controlled Sensations project, and the "2000" part
since it controls a Venus 2000. One of the great things
about this new box, is that it can operate the Venus 2000 on it's own,
or provide an interface for computer control.
In the front view, you
can see that the CS-2000 has 5 control buttons, 2 control knobs, and an
LCD display screen. If you look closely at the rear view, you
will see connections for programming updates, the Venus 2000,
a DB-9F for connection to a computer, an air port for the small Venus 2000
air hose, an RJ-45 look-alike connector for the receiver stand sensor and
a power connector.
The CS-2000 has a number of built in programming sequences that can be selected from the front panel, these are:
Additional features include the ability to add or remove air under
front panel control; to display the minimum and maximum positions
of the receiver; and to automatically remove air periodically.
The CS-2000 also has a built in pressure sensor to monitor the
pressure/vacuum being generated by the Venus 2000. This
pressure/vacuum information can be used by a computer for additional
- Insert: - slowly stroke while removing air, to facilitate inserting the penis into the receiver
- Stroke - continuous strokes at a selected speed
- Switch - stroking with two
different speeds, typically one faster than the other. Both
speeds and the number of strokes at each speed can be set as desired.
- Tease - periods of
stroking alternating with periods of no stroking. The stroke
speed, the number of strokes and the pause duration in seconds can be
set as desired.
- Ramp - strokes alternating
with pauses, where the number of strokes per cycle climbs by 1 each
time. IE the first cycle delivers a single stroke, and second
cycle delivers two strokes, etc. The stroke speed and pause
duration can be set as desired.
- Ramp2 - like Ramp, but the
duration of the pause in seconds increases with each cycle. So
the third cycle delivers three strokes and then pauses for 3 seconds,
- Limit - like Tease, except the
system monitors the position of the receiver and if the receiver rises
too far (somewhat related to degree of arousal), the system will pause
for a set interval. No number of strokes is set, instead the
system continues to run until the set receiver limit is reached.
The third part of the third generation is the receiver guide. The
Venus 2000 maker does not offer a receiver guide, but for hands free
operation the Venus 2000 needs some sort of guide to hold the receiver
is proper alignment. The metal stand shown here has been further modified to interface with the CS-2000.