MFP with UFO / ESP32 UFO-Compatible Device
This is the version of MFP that I adapted with the help of ChatGPT.
Source of the PCB circuit board:
You can use MFP directly to connect to UFO or an ESP32 device disguised as a UFO.
Here is a demonstration:
1. Connecting the Device
If you are using a real UFO, use the normal UFO option.
If you are using an ESP32 device disguised as a UFO, select:
UFO = FALSE
For the first connection, you need to identify the device’s Bluetooth UUID.
For example, the UUID of my device starts with:
3C0F.xxxxx
First-time setup
-
Pair/connect the device through Bluetooth once.
-
Check and confirm its Bluetooth UUID.
-
After confirming the UUID, cancel/unpair the Bluetooth pairing.
-
Return to MFP and search for the device.
Bluetooth discovery speed depends on your computer’s Bluetooth adapter.
In my experience, the search can be quite slow, so it may take some time before the device appears.
2. Testing the Connection
After the device is connected, enable TEST and move the slider.
Check whether the corresponding motor/device responds correctly.
If everything works normally, turn TEST off.
Important: TEST occupies the output channel while it is enabled.
If you leave TEST enabled, normal Funscript output may not work correctly.
3. Funscript Axes
The modified MFP supports two nipple-control Funscript axes:
-
Lnip= Left nipple -
Rnip= Right nipple
For example:
VideoName.Lnip.funscript
controls the left side, while:
VideoName.Rnip.funscript
controls the right side.
4. Funscript Value Meaning
For Lnip and Rnip:
| Funscript Value | Meaning |
|---|---|
0 |
Full reverse speed |
50 |
Stop |
100 |
Full forward speed |
So the logic is:
0 ← Reverse — 50 Stop — Forward → 100
Values between them control the motor speed and direction proportionally.
5. Creating Lnip / Rnip Scripts in OFS
In OpenFunscripter (OFS), you can use an unused/idle Funscript axis and rename it for nipple control.
Use:
Lnip
for the left nipple, and:
Rnip
for the right nipple.
Then edit the Funscript normally in OFS.
Remember:
-
50= Stop -
< 50= Reverse -
> 50= Forward
6. ESP32 UFO-Compatible Version
If you want to build an ESP32-based device that disguises itself as a UFO, you can refer to the tutorial here:
On the funscript of UFO.TW Toys - Help - EroScripts
This allows compatible hardware to communicate with MFP using the UFO protocol without requiring the original UFO hardware.
If it is a disguised version of UFO, you need to choose FALSE.
Need to connect Bluetooth for the first time to determine his UUID.
The Bluetooth UUID of my device is 3C0F.xxxxx.
Cancel pairing after confirming UUID, and the Bluetooth search time is based on the speed of searching Bluetooth by the computer, which is usually very slow. Use TEST to move the slider after connection to see if it drives normally. Please close TEST after it can drive normally, because it will occupy the output port.
Lnip stands for left nipple, Rnip stands for right nipple, 50 in funscript stands for stop, 100 stands for full forward speed, and 0 stands for full reverse speed.
In OFS, you can use the idle funscript to rename and modify it.
The tutorial for making ESP camouflage version is here.
On the funscript of UFO.TW Toys - Help - EroScripts
MFP + ESP32 UFO-Compatible Version / WILDONE Nipple-Licking Device Guide
This ESP32 UFO-compatible version is designed for use with the WILDONE nipple-licking device.
The device connects through a 3.5 mm jack and can be controlled with the modified version of MultiFunPlayer (MFP) using Lnip and Rnip Funscripts for the left and right sides.
1. Supported Device
This ESP32 UFO-compatible solution is mainly intended for:
WILDONE nipple-licking devices
Connection:
ESP32 Controller → 3.5 mm Jack → WILDONE Device
If you are using this ESP32 UFO-compatible version, you can connect and control it directly through the modified MFP.
2. MFP Download
This is the modified MultiFunPlayer UFO.TW version:
GitHub:
This version of MFP supports both UFO devices and compatible ESP32 devices that emulate UFO behavior.
It also supports:
-
Lnip— Left nipple -
Rnip— Right nipple
as separate Funscript control axes.
3. UFO.TW CSV Converter
If you already have UFO.TW CSV script files, you can use the:
UFO.TW CSV Converter
GitHub:
It can convert UFO.TW CSV files into:
Lnip.funscript
and
Rnip.funscript
After conversion, the scripts can be used directly in the modified MFP version that supports Lnip and Rnip.
4. Funscript Axis Description
The two converted Funscripts represent:
| Funscript | Control |
|---|---|
Lnip |
Left nipple |
Rnip |
Right nipple |
For the current control method:
-
0= Full reverse speed -
50= Stop -
100= Full forward speed
In other words:
0 ← Reverse — 50 Stop — Forward → 100
5. Questions and Bug Reports
If you encounter any problems or bugs while using MFP, the ESP32 UFO-compatible version, the CSV Converter, or the Funscripts, please report them in the comments.
If possible, please include:
-
The device you are using
-
Your MFP version
-
Your ESP32 version/type
-
A description of the problem
-
Any error messages or screenshots
This will make it much easier to identify and fix the issue.