Play "Handy" scripts on a Fleshlight Launch

Well I’m glad you guys liked version 0.2, because it didn’t even have any of the good stuff!

I had made some changes which weren’t published to Github :neutral_face: Most notably the change in BLE connection interval which is the very thing that was supposed to make it faster in the first place! If you thought it was fast before, you ain’t seen nothing yet. The issue with low speeds is also fixed, control will be even smoother now.

The bad news is you’ll have to go through the slow Kiiroo bootloader process again to update Ignition (as well as updating Liftoff but that’s a breeze)

You’ll find the new versions here:

I have also updated the first post with links to the latest versions


This is pretty amazing! How did you even go about doing this? Did you just crack open the Launch and identify the microprocessor and then moved on with the reference manual for that CPU?

Just poking around the source code - it seems to require xc.h which appears to be part of “MPLAB® XC16 Compiler”. I guess that’s needed to get the code compiling.

Pretty much, it helps that Kiiroo were nice enough to provide their firmware in a completely unencrypted and unobfuscated format. And the fact that the bootloader has no authentication really sealed the deal. As far as firmware hacks go, this one was easy.

1 Like

Hi !
Sorry to bother you but I can’t access Metafetish’s unofficial Kiiroo firmware maintenance utility because the site is down!
Can you help me so that I can update the launch firmware?

Thanks a lot

After this utility not being touched for the better part of 4 years and me not really paying attention to Eroscripts anymore, I was cleaning my CDN account last night and took it down. Timing! :expressionless:

Anyways, site is now back up at the original URL of

Do not contact me for support issues, I do not have the slightest memory of building this app and cannot tell you how it works. If you want your own copy to work with (or preserve for the next time I try to clean things :slight_smile: ), the repo is at


Thanks qdot, we won’t bother you again :innocent:

1 Like

@cfs6t08p First off, I’d like to thank you for supercharging my FL Launch. You’ve done the launch user base a huge service. I do have a question though.

If I wanted to downgrade from ignition 0.3 to 0.2, would I need to first downgrade to the official Kiiroo firmware first and then upgrade back up to ignition 0.2, or can I go straight back from 0.3 to 0.2? (Edit: you can go straight back to 0.2) I’m wondering because I’m troubleshooting an issue I noticed that started right after 0.3’s installation. The launch and scriptplayer have started to pause for a split-seconds, consistently, mainly on the more intense parts of the script. Thanks in advance!

(Edit cont.) I downgraded back to 0.2 and the pausing/stuttering issue is no longer there. Now I’m wondering if there are versioning issues or setting issues with scriptplayer that makes my setup with 0.3 installed freak out like that. I am running Scriptplayer version 1.0.5 and the latest available version is 1.2.0 so that may be it.

Anybody else with this issue with Ignition 0.3 and Scriptplayer v1.0.5 or v1.2.0?

Under the hood Ignition occupies the same memory as the original Launch application, the Kiiroo bootloader (which is what the firmware update tool talks to) stays untouched at all times.

I assume you are using Liftoff 0.3, what does the blue LED on the Launch look like when ScriptPlayer connects to it? It should pulsate slowly then turn solid. Flashing indicates that it was unable to negotiate the lower connection interval. Which OS are you running ScriptPlayer on?

-Yes, it does that

  • I’m running Windows 10

As of now, I’ve downgraded back to Liftoff 0.2 and haven’t had any issues with this version. Maybe I need to update scriptplayer to the latest version for best results with Liftoff 0.3.

I did not realize just how old ScriptPlayer 1.0.5 is, it was released in 2018… There’s your problem :slight_smile:

1 Like

Thanks a ton for this, it really breathes a whole new life into the Launch, it even syncs better with the pearl now too! No more really bad stuttery movements!

I think that bricked my launch. The step 1 went fine, I had a slow puslsating led.
Then Liftoff failed to be flashed.

I read in the comments that I should not click on lock on step 1 so I turned the launch off and on, now the led is flashing red and blue.

I can see the device in the bluetooth devices, but no method 1 or 2 can do something about it. Any suggestion ?

Spoke too soon, after 1 hour of attempts it seems that I am able to load ignition again ! :crossed_fingers:
Edit : Ignition is installed successfully now :smiley:

I would recommend mode-locking your device after installing Ignition, otherwise you’ll be back in the Kiiroo bootloader if your device is turned off for whatever reason. There is no need to restart the Launch if Liftoff fails to install, reload the page and try again, the update process will resume where it left off.

If you do end up back in the Kiiroo bootloader but already have Ignition installed you can switch to app mode without having to reinstall. Ignition will automatically mode-lock when Liftoff is installed.

1 Like

First off, thanks dude. :smiley:

This is a game changer, finally got the opportunity today to test this out and it works flawlessly. I’ve had the Launch since it came out and never really used it since the Handy came along.
But now, I think this will be the go to toy from now on!

The manual control buttons on my Launch failed a long time ago, so this was a no brainer doing this upgrade. I’ve also fixed a power supply to the Launch so I never have to worry about battery life ever again, which to be honest the Launch OEM battery wouldn’t last long with this new insane speed!


:smirk: Incredible, my Launch is Back ! Better than before !
Glad I didn’t get rid of it…

It took me about ten minutes for the whole process with Chrome.
Everything worked fine the first time.
Many thanks to the author of these replacement firmwares.

1 Like

I have tested the “upgrade” process. No problem. Everything went fine.
I have tested only one script, looks fine.
Thank you very much for your work!

Trying an upgrade, but on the start of the firmware load step, I got the red/blue flashing LED but then got an error for “NotSupportedError: GATT operation failed for unknown reason.”

I tried reloading the page, and now I get the same error at the point of connecting on step 2. I’ve turned the launch off and on (as it wasn’t past firmware load yet), and it returns to the blue/red flashing with the red power flashing. Any suggestions from anyone who made it through? :smiley:

EDIT: I went into my bluetooth devices and removed the launch from the paired devices. I then turned the launch and my bluetooth off and on again, and then when it repaired it was able to continue!

Bluetooth on Windows can be a little confusing and wonky. Do not pair your device through Windows’ own bluetooth settings, that will make it inaccessible to Chrome. “Pairing” to a device in Chrome should not cause Windows to add that device to the list of bluetooth devices, if it does show up in there make sure to remove it before proceeding.