I know this is a very old thread, but I thought I would reopen it and post some more information.
Well, since a long time I have thought about building something like an orgasm detection device. Since I am a submissive type of guy I was always fascinated by being teased right to the brink, but being denied the final release. I noticed myself all those facts that have been discussed here before, like the muscle contractions before the orgasm and the increase of blood pressure in the penis and therefor the circumfence increase.
I have built some sort of computer-controller that can controll two vibrating toys. You can use a small motor from a vib and fix it near the head of your penis for pleasure and use the other motor-control-port for other devices like eg. a butt-plug etc.
This device is working very well and I made some program that can control those devices in random or predefined routines, increasing or decreasing the intensity etc. I have to admit, that I can't hold off very long when the motors reach full intensity.
Since I am also into bondage (and sadly without a partner into self-bondage), I occassionally used this controlling-device to make the bondage-time nice. However it is short lived fun if the motors just vibrate on without any knowledge off your arousal level. Of course you can use a lower vibration level, but then the fun might not be as intense and when you use a higher vibration setting you might come before any length of time.
Then I found this thread and I thought, hey, it would definitly be ultra-cool to build such a device. So, I got myself two of those penile plethysmographs and started building a board. The final result is visible in the attachments here. Actually I used some suggestions from the posts here and modified the layout just a little bit.
Here are some details about the board i built. It uses a 5v voltage (which can be driven by 6-30V input) regulator and a diode to prevent wrong connection of source. Then there is a normal Wheatstone Bridge which uses 100OHM resistors.
Previously I used much higher resistors (eg. 1k) however I noticed that my USB experiment board would not get good readings anymore. It might have been a problem with the ultra-low current design. So after using 100OHM resistors the current usage is around 50ma and I am getting very good readings.
One arm of the Bridge contains 100OHM + the resistance of the gauge. The opposit arm contains a 160OHM resistor which is in parallel with 197OHM + 100OHM Potentiometer. This way the total resistance of this arm can be adjusted from around 88OHM to 103OHM (depending on resistor variance) in very small steps. The Potentiometer is a 25turn Potentiometer, therefor you can finetune the Bridge very well. Initially I simply Nulled the bridge at the millivolt level using a simple voltmeter.
The voltage difference of the bridge is then used as input of the INA122 and the second potentiometer is a 1k 25Turn potentiometer used to adjust the voltage-gain by the INA. Actually this potentiometer is used only 1 time to adjust the gain to a desired level and then it doesn't need to be touched anymore.
The output of the INA is then put through a RC high-pass filter with 15,9HZ cut-off frequenzy (100k/0.1uF). This filters out all the high-frequenzy noise that you pick up. Since the INA is driven with the regulated 5V source the output of the INA is 0-5V ... however after the high-pass filter there is only about 2.8V left. Which either leaves you to amplify it again or just use it like it is.
I opted for the later and simply used the 2,8 volt range which is enough in my opinion. The final output is then simply fed into an analog-digital 8bit converter of my USB experiment board (which also controls those nasty motors by the way

) and can be used further from thereon.
After putting on the gauge one needs to adjust the offset-voltage since it is strained a bit already. When the penis is errect one can adjust the wheatstone-bridge until good readings are aquired. For best results I set the offset to near NULL level when nearly fully aroused. This leaves enough room upwards for further expansion (eg. muscle contractions) while enabling a huge gain value (since we want to pick up very small changes).
The software itself is also quite simple. It measures the value of the gauge each 50ms. It then calculates an average of those values from the last second (sum of the last 20 values divided by 20). And if the last read value is higher than the average of the last second + THRESHOLD then the muscles have been contracted.
If a contraction is detected, the motors are stopped for 5 seconds. During this timeout period the average is not updated. This allows the errection to change upwards gradually, but does not allow quick changes (eg. when the muscles are contracted). It also has some nasty side-effects. Eg. if you contract your muscles and the penis becomes more errect than before and the arousal level is > THRESHOLD, then the motors wont start again until your arousal level goes below your previous average level. Can be very nasty since you have to try keeping calm and letting the arousal rise slowly without forcing contractions...
I tried this out and I have to say it kept me on edge for nearly 1 hour!

However at the end I noticed that the 5 seconds motor break is too short at such high arousal levels. An orgasm was possible, however not a very satisfying one since the vibs stopped right at the beginning of the last contractions.
For further improvement I would like to try out the following:
- Use a programmable resistor for voltage-offset adjustment of the bridge.
This would allow the computer to automatically keep the voltage near the center level. The benefit is that you could put on the gauge and not require any potentiometer adjustments at all. No matter what the arousal level is and also theoretically if used by more than one person it would adapt to the person using it (eg. penis circumfence etc.) and would allow different sized gauges to be used without any potentiometer tuning.
- Increase the motor-vibration-timeout to a random value. eg. 8-30 seconds and if the muscle contractions come in too short time-periods stop vibrations for longer eg 3-10minutes to allow some cooldown. Perhaps just keep the buttplug vibrating meanwhile
Would like to hear your suggestions and comments!
Greets,
Smally