Control – All the Devices! An Android app – Dev Diary 1

So I’ve been working on a new Android app! This one lets you connect your Android phone to any sex toy and set up whatever custom controls you want for each toy.

So far the app is able to control the random toys I have around the house. Lovense toys, a bluetooth shock collar (from PetSafe), and audio e-stim devices (ET-312b, 2B, etc).

If anyone is willing I would so greatly appreciate if I could borrow any remote control, bluetooth, or home automation (power plug controllers) toys people have so that I can decode the signals/API and add them to my app. In particular I’m looking for anything from Vibease, OnMyBod, Magic Motion, We-Vibe, Evolved Novelties, or the Lovense toys that do more than just vibrate.

But anyway, enough give me stuff requests. On to the app!

It’s unfortunately not quite ready for release yet…probably more like 6 months out if I’m being honest. But it’s in a fully usable state finally for at least some use cases and the biggest thing now is just getting access to more devices…and implementing proper error handling…oh god the error handling.


  • Connect to any smart enabled device (work in progress)
  • Drag and drop interface for laying out desired control options for each device
  • Large variety of control options for each device
  • Control devices using external controls (video game controllers, volume keys on phone, etc)
  • Connect from multiple phones (‘long distance’ controls)
  • Simple scripting language for advanced actions
  • Share controls with others or publicly (work in progress)
  • Ability to control devices from an API on any OS (I really really want to write up a Windows write lines correctly or get shocked app as an API demo)


Devices view for selecting and adding your desired devices.

Connection view for connecting to each of your desired devices. Devices can be connected to from multiple phones in the session and it tracks which phone is connected to which devices.

Controls view for actually controlling each device. Controls can be connected to multiple devices or parts of devices and devices don’t have to be related. For example a wave pattern controller can send to both the ET-312b (which gets sent as sound) and a vibrator (which gets sent as a bluetooth vibration strength command) at the same time. Or a Joycon controller can shock the bottom with one button press while the joystick controls the vibration strength of a different device.


Controller creation view for adding new controllers and customizing as desired. Currently for controls I have:

  • On/Off button
  • On/Off button that’s only on while the button is held (useful for the shock collar)
  • Volume sliders, spinners, and touch circles (like the Lovense app)
  • MP3 selector/player (still some work in progress)
  • Wave generator (simple sign, square, etc waves)
  • ET-312b patterns (selector that plays close approximations of the wave patterns from the ET-312b)
  • Motion detector (runs command when motion detected)
  • Noise detector
  • Buttons that can run arbitrary scripted actions
  • Controller connector for setting up a video game controller
  • Volume keys controller (for making the phones volume keys control the vibration strength of connected devices)


Session view for switching between sessions (ie. controller layouts). Useful for setting up different interfaces depending on desired play and devices you play to use.

And finally a session sharing view for either sharing controls with individuals or publicly sharing the controls (very work in progress).

Leave a Reply

Your email address will not be published. Required fields are marked *