Would you believe a box that's basically an ATMega8 with some opamps from 2000 costs $600?

Behold, the Erostek ET-312. Yes, "the Rolls Royce of electrostim" is nearing 15 years old, maybe $50 in parts, and hasn't seen many if any real competitors. The software situation for it is... dire.

Eroslink, the original control software, was last updated in 2004 and runs on Java 1.3. Also not exactly user friendly.

There's also SmartStim and Phaser, but neither are easy to use, open source, cheap, or support things like mobile platforms.

This is dumb. The ET-312 can work via either audio waveform control, or serial communication. Why not just use a web browser? WebAudio has been stable for years, and Chrome Apps can talk serial to the box if it's really needed. Not to mention, multiple other boxes use audio control, so that'd kill multiple birds with one stone. It should also be pretty easy to put something like an Raspberry Pi or CHiP in front of the box to make it wirelessly accessible/controllable/streamable.

So, with that goal in mind, we're now working on reverse engineering the ET-312. This is as much because I like reversing protocols as it is to learn about the insides of one of the most widely distributed fetish estim platforms out there. Throughout the process, I'll be making posts about progress, as well as technical findings.

If you'd like to follow along, the protocol documentation will be at


The project is named after the original perl ET-312 reversing scripts that came out over a decade ago. I'll be updating these for 3 languages (links go to the erosoutsider repo for that language):

  • Python - For quick scripting
  • Rust - For systems work (with C bindings available)
  • Javascript - For Node.js/Chrome Apps/The Mythical WebSerial API

If you've got any requests or questions, please feel free to file issues on the respective github repos, or there's a fetlife thread about the project if that works better.