Unofficial project, provided as is, with no warranty or guarantee of any kind. Not made, endorsed or supported by Autoblow, Lovense, Kiiroo, Research & Desire, or any product or company named Twiddle, and not affiliated with them. Names are used only to describe compatibility.
- No warranty or guarantee of any kind. Use at your own risk.
- For adults only, and only with the consent of everyone involved.
- Not a medical device. Any heart-rate or edging feature is not a monitoring or medical function; do not rely on it for health.
- Software and wireless links can fail. Always keep a way to stop the device that you can reach by hand.
- Flashing a board is at your own risk: it can fail, brick the board or void the maker's warranty.
Twiddle is device software for a touchscreen remote that controls adult toys. It runs on ESP32 display boards. It is free, source-available and for non-commercial use. This page installs it onto a board connected to your computer by USB. You must be 18 or older.
Source code · Licences and notices
1. Check your browser
Tested images only
2. Choose your board
Pick the model written on the back of your board. If you are not sure, read the identification help inside each card before you flash.
3. Install
If the board is not found: download mode (BOOT and RESET)
Placeholder photo
The ESP32-P4 board's Wi-Fi and Bluetooth radio is a separate ESP32-C6 chip with its own firmware. It is not part of this install, and factory C6 firmware can be too old to join Wi-Fi. See docs/c6-firmware.md in the Twiddle P4 firmware repository.
Connect the board with a USB data cable, then press the button. Your browser will ask you to pick the serial port.
After the install
- When the installer says "All done", power-cycle the board: press RESET, or unplug the USB cable and plug it back in. Some boards (tested: the ESP32-P4 over its USB-C port) stay in download mode after a flash and do not start the new firmware until you do. After that the board starts. On a new install the screen asks you to connect to Wi-Fi: tap Scan, pick your network, type its password and tap Save & restart. (The Autoblow token and Bluetooth toys are set up later, on the Settings and Devices tabs.) The board also opens its own Wi-Fi network called
Twiddle-Setup(passwordtwiddle-setup) as a fallback. - Fallback, if the screen is black or garbled or you prefer your phone: join that network with your phone and open
http://192.168.4.1/setup. Check the form fields before you save: a phone browser may refill old Wi-Fi or token values from an earlier setup. - Choose your Wi-Fi network and, if you use one, the device token. Change the Display setting only if the screen is black or wrong. ESP32-P4: the default has driven both
_I_W_Yunits we tried, and the other choices are untested alternatives. Guition ESP32-S3: the setting is "Display pixel clock" (most units 16 MHz, a few 14 MHz); after the restart the panel shows a Keep button: tap it if the picture is right. If you cannot tap it, switch the panel off and on three times and it returns to the previous value. - The password for the board's own web page (user
ota) is shown only on the board's own screen, on the Settings tab under "Web login". The setup page does not show it. Write it down; you need it to update over Wi-Fi later. If your version's notes say something different, the notes win. - When you are finished, close this flasher tab (or unplug the board). Chrome keeps the serial port locked after a flash for as long as this page is open. Other tools (esptool, a serial monitor, another flasher tab) then fail with "port busy" or "access denied" until you close the tab or unplug the board.
Files in this version
SHA256SUMS · Licences and source for this build
| Part | Offset | Size | SHA-256 |
|---|
Troubleshooting
Honest notes from the tests so far. Only one board model has been tried, so a fix below may not match every board.
- The port is busy, or another program cannot open it
- Chrome holds the serial port while this page is open, also after the flash is done. Close the flasher tab, or unplug the board and plug it back in. If it is still busy, close the other tab or program that has the port open (a serial monitor, esptool, a second browser window).
- The board is not found, or the installer cannot connect
- Use a USB data cable (many cables only charge) in the USB-C port named for your board. Then put the board in download mode: open "If the board is not found" in step 3 and follow it (hold BOOT, tap RESET, release BOOT). Unplug other serial devices so you pick the right port in the list.
- Guition ESP32-S3: no serial port is listed, or the installer cannot connect
- This board talks to the computer through a CH340 USB-serial chip. On some Windows versions that needs the WCH CH340 driver; install it and re-plug the board. Use a USB data cable and close other programs that use the port. We have not verified which Windows versions install the driver on their own, and the BOOT/RESET button positions shown for this board are not verified yet.
- The installer says "All done" but nothing starts; the board stays in download mode
- This happens on the ESP32-P4 board. Press RESET, or unplug the USB cable and plug it back in. The board then starts the new firmware.
- The screen stays black after the flash
- First wait about a minute and power-cycle the board once. If the backlight is on but the picture is black or wrong, join the
Twiddle-SetupWi-Fi network (passwordtwiddle-setup), openhttp://192.168.4.1/setupand use "My screen looks wrong" to pick the display type (Guition ESP32-S3: change "Display pixel clock"). If the screen is black and the board does not even offerTwiddle-Setup, flash again with New install. We do not yet know every cause of a black screen on boards that were not tested. - My settings (Wi-Fi, device token) are gone after an Update
- An Update keeps them only if "Erase device" stays unticked in the installer window. If you ticked it, the whole flash was erased, including your settings. They cannot be recovered. An Update does not rewrite the boot files, so after an erase the board stays black until you run New install (Erase ticked); then set Wi-Fi up again on its screen. A New install always asks about erasing as well: tick it only if you accept losing everything on the board.
- The board does not boot at all after a flash or an interrupted flash
- Put the board in download mode (see above) and run New install with "Erase device" ticked. That rewrites every part and normally brings the board back. If the flash is interrupted by a cable or browser problem, simply repeat it.
- How do I restore my previous software?
- A web flash replaces what was on the board and this page cannot bring it back. If the board ran other software, only your own backup (for example from esptool
read_flash) can restore it, so make one before you flash. To go back to an older Twiddle version, pick it in the Version list and use New install.
Supported and unsupported variants
Only the models shown above are covered. Other versions of these boards (a different panel, a resistive or non-touch version, a newer chip revision) may not work. Nothing here has been tested on them.