Gen 2 feature request

Introduction Forums General Discussions Gen 2 feature request

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
  • #1712

    I love most of what I’m seeing with the Centipede design strategy, but one thing is holding me back a bit. I really like the idea of physical knobs for basic power control, I’d hate to need to make an adjustment only to find that my phone is locked or ran out of power. The physical power switch lets me shut things down quickly, but basic power adjustments using even a single knob that can flip between the channels (or be tied to all of them) would be awesome.

    I wonder if this could be created as a Pod, or even as a standalone WiFi-enabled controller device? I’m thinking a Pi-Zero with a battery and some sort of a pot could do the job wirelessly or tethered to a USB charging cable.

    Of course, I’d also love to see this site migrated to HTTPS (and IPv6 enabled if possible) ASAP. Feel free to contact me via PM if there’s anything I can do to help in this respect.


    Come to think of it, the USB port in the back could make a reasonable input for an off-the-shelf USB potentiometer. Would it be accurate to say that the USB port in the back is just a passthrough to the controller board? If so, I may be able to experiment with that myself.



    Thanks you for your suggestions and ideas. There are a couple of ways to add physical controls to the Centipede power boxes and pods. We have used these methods ourselves, in fact, but have not said much about them in the documentation.

    First of all, you can put insert a dc voltage into the “audio input” jack, ranging from 0 to 1 volt and have this voltage directly control the amplitude of as many outputs as you want. You can also have the voltage changes at each output clamped for a MIN/MAX and adjust the GAIN value on each output individually this way. You do this by selecting the “MUSIC” wave form choices.

    Secondly, the Centipede eStim pod has an optional jumper inside that can set the internal current limiting resistor to three possible values: “normal”, “high”, and “extreme”. Just move the jumpers to the “extreme” position, which eliminates this internal resistor allowing you to have an external power control. We would recommend a logarithmic variable resistor with a maximum value of around 10K ohms, but you will want to experiment to determine the best value for your application. Using this method, each output could have it’s own physical control, in addition to the existing computer based controls. A variable resistor of this type can be had with an on/off function as well, although when set to 10K ohms the output would be likely not be felt any way. Maximum signal would occur when the resistor is at minimum ohms. You may want a fixed resistor in series with your variable resistor (perhaps a 1K 1/4 watt) so the result cannot reach all the way to 0 ohms.

    Lastly, it would certainly be possible to add some sort of USB device to control the outputs. You would need to adjust the Centipede software for this, likely the “Socket Sever” code would be the best place to make your changes. I would think either “” or “” would be the place to add your code.
    Alternatively, you could have your device be a web client, and adjust the outputs that way. An Arduino processor would be a good choice for this. Note the Centipede can support multiple web clients at the same time.

    These are suggestions and any modifications you make are at your own risk, we always advise caution with electrical play.

    • This reply was modified 6 years ago by admin.

    Wow, that’s a lot more flexible than I had even hoped for! A control box and Viby pod are making their way across the country to me now, I can’t wait to start playing and sharing my experiences. I hope you don’t mind if I work towards adding to your document repository with my findings.


    @centipede_pi We welcome contributions of all kinds to Centipede by our customers, but especially in the area of documentation. You appear to be the kind of person who can help make the system even more powerful. For example, you mentioned HTTPS, which is an area we have almost no experience setting up, and can definitely use some assistance with. Please remember we have two TCP/IP connections between the browser(s) and the power box: one on 80 and another on 8000. It’s the connection on 8000 that is the “magic” keeping the web pages responsive by not having to keep refreshing the pages constantly. I assume both connections would need SSH features to really secure the data.

    Just for your information, we have a big push to change over to gstreamer 1.0 from pygame for audio/music processing. Perhaps I will post from time to time about changes we would like to make, so others can help if so inclined. In addition to the gstreamer effort, we have a new device to add to the product line soon and are working hard to increase our production rate to keep up with demand.

    Lastly, feel free to post on here or email us directly with your comments, suggestions, and especially about any issues you have found.



    Are there plans to further develop the pre-programmed e-stim outputs? Here’s my additional feature request – variable e-stim output frequencies.

    I imagine “sweep” for instance having a high and low frequency slider which the frequency would bounce between rather than just a rise and fall in amplitude.

    Even the “basic”, “ramp”, “stroke”, and “step” wave forms could have a frequency adjustment to create different sensations at the same output levels.

    “Random” could vary both the intensity and frequency.



    Yes! We certainly intend to add more pre-programmed eStim outputs.

    But first an explanation about the signals generated by the eStim outputs. The eStim outputs from Centipede are voltage-limited current-source pulses. We picked this type of signal after trying all the other devices already on the market, that we could get our hands on, and selecting an output that “felt” best to our panel of judges. By using a current-source, we are able to mostly overcome some of the wide variations that occur in contact resistance.

    AMPLITUDE What is perceived as a change in “LEVEL” on an eStim output, is not a change in the signal’s amplitude as you might expect, since amplitude changes when using a current-source have almost no effect. Rather the “LEVEL” changes that a person feels are caused by a change in the width of the pulses. The pulses are always the same amplitude, and always at the same rate, but the amount of electrical energy delivered is changed by changing the pulse width instead.

    FREQUENCY Changing the rate of the pulses, also has almost no effect, since our bodies are not able to detect individual pulses at all. The pulse rate is much too fast, and our bodies are not loudspeakers! So to create a sense of LOW and HIGH “frequency” needs to be done another way. We picked the pulse rate based on enabling the widest range of levels, and other factors, and made sure it was fast enough that individual pulses could not be felt.

    With all that said, I do think we can add wave-forms to give you the sensations you are seeking. What we would need to do is to create small gaps in the output pulse train. The number of gaps and their spacing will be sensed as a FREQUENCY change, even though the underlying pulse train will always be at the same speed. Of course we will need to experiment, and figure out what spacings are “interesting”. And perhaps even more importantly, we need to decide how the operator can control this new parameter.

    Do we add a fourth slider? Or is this feature only available on waveforms that have an unused slider at the moment? Or do we add additional waveforms specifically geared to frequency control? How does the sequencer use this feature? Lots of things to consider…:)

    Thank you for your suggestion!


    I see! Thank you for the explanation. It works more like a “musical Tesla coil” in that the notes created are our ear’s perception of the interruptions in the signal – which mimics an audio frequency.

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.