Launch firmware update problem


Yes, I am still having problems. Kiiroo got back to me and asked to download again and try as they have updated their server with new firmware v1.3 package. But the app itself is still the same version v1.3.12 dated 7.21.17. So I believe the problem is indeed with the app and not with firmware because I have exactly the same problem trying to update with newly posted firmware. That’ll be great if you find an older .apk


AlavG - The same exact thing happened to me with this 1.3 update. It tried loading, got all the way to the end, then crapped out. I tried three different androids, and either couldn’t get them to connect or had them fail. Finally bit the bullet and put feel connect on my work iphone 5. It connected and updated flawlessly. Beg, borrow, or steal yourself an iphone and try again!


lol apple123! I wish my company supplied me with iphone. They are paying for my personal android though, but that’s about it. So now you just confirmed my suspicion about broken android app (or at least malfunctioning). Somebody, lend me the iphone!! :slight_smile:
Thanks for the info!


I had the same problem when updating to 1.3.

I kind of suspect it is related to reconnecting to the device: The app does not rediscover the launch after it has rebooted.

A workaround that worked for me:

Start the firmware update process, let it progress to the point near the end, where the motor does a small movement. Without interacting with the feelconnect app quickly disable bluetooth on your android, and re-enable it again.

This did the trick for me, the app then was able to complete the update process.


OMG! Thanks a lot mf1! That did the trick! After a week of struggle it is finally working.
Yes, indeed, feelconnect is generally having problems connecting to the device. After restarting the app I always have to restart bluetooth service for it to connect.But I would never think to do it in the middle of update.

Thanks again!


Ok. I spent the weekend completely reversing Kiiroo’s firmware loading protocol, and now have my own loader that works flawlessly. I’m working on getting a web version of this up and running so people on mac/linux/android can at least fix things up themselves.

For anyone interested in technical details, here’s what’s going on with that reboot fix.

I noticed the same problem when loading from my android tablet while working on the firmware loader code. It would get to the end, do a “Finalizing”, then just stall.

After the firmware is loaded to the device, a couple of integrity checks are done, and then the device reboots into the regular application mode (blinking blue light). During this, the launch disconnects from bluetooth. After that reboot, the application needs to reconnect to the launch and sends a couple of commands to the cmd/data characteristics in order to “lock” the Launch back into app mode, otherwise if you power down and restart it’ll be back in bootloader mode again.

Unfortunately, the algorithm to reconnect after reboot in FeelConnect is dumb. Lots of random sleeps and retries, and it could very well be that the phone doesn’t disconnect correctly so you may not even see the Launch after it reboots. The reason this always works on iPhone is that iPhones are extremely predictable. They’re all the same. Android phones, on the otherhand, you never know what you’re going to get, the bluetooth response/stacks can vary widely. Kiiroo does not seem to have engineers equipped to handle this kind of variation.

For this fix, what you’re doing when you turn bluetooth off/on is basically clearing out the connections, so when you turn bluetooth back on, the app starts scanning again, and it can finally connect and send that “lock” command.

Now that I know how all of this works, I’m trying to build a utility to send those commands over without having to guess the point at which you need to turn things on/off. This should hopefully be the beginning of the end of firmware reloading bricking.


Thank you, that is extremely encouraging. I’d very much appreciate a standalone updater, preferrably something I can use from a Linux commandline :slight_smile:


Hah, well, I developed this using node.js and typescript from a debian terminal, so that’s definitely an option. :slight_smile:

If you’re already a node user, then it’s pretty much ready to go, I just need to put some CLI argument handling in. If not, I may try to figure out some other way to rewrite/distribute a loader in a language/env that doesn’t bring in most of the node ecosystem too. :slight_smile:


what is this update good for? is it necessary? Will it improve performance?


Can’t really say for sure, Kiiroo aren’t really forthcoming with what they do in firmware, and I’m not quite adept enough at reading raw PIC24 yet to have any idea what’s going on via a binary diff. We haven’t see anything obvious though.


Hey guys. I got pointed in this general direction via reddit for Launch connection issues. I tried downloading the newest firmware last night and it kinda looks like it bricked my launch. Its just flashing red and blue and I’m not sure how to fix it. Any ideas? I’ve tried some fixes like deleting/reinstalling Feel Connect but no go so far.


I am quoting a post by mf1. His fix worked like a charm:

Start the firmware update process, let it progress to the point near the end, where the motor does a small movement. Without interacting with the feelconnect app quickly disable bluetooth on your android, and re-enable it again.


If you’re still having problems, let me know. I’ve now written my own firmware loader/fixer utility that has helped a few people fix their launch. I’ll just need to guide you through using it because it’s not quite ready for stand-alone use yet (there’s a few bugs we’re still working out).


Sounds great, where can I download your fix?
Just tried an upgrade using the app and got the damn ble and red blink


Well, it’s actually a website.

You’ll need a macOS or Linux machine, or an android phone running Android 6 (M) or greater. macOS machine will be by far the most reliable of those choices, but Linux and Android should work.

Anyways, assuming you’ve got one of those, you’ll need to use Google Chrome, and go to

On Android: If you get an error that’s something like “Error: Gatt Error Unknown”: Turn the phone bluetooth off and on, then retry the step you just did. You may need to do this multiple times.

Feel free to message me directly or post here if you have problems. I’m still working out a lot of stuff on the site, so if anything seems buggy or is hard to understand, lemme know.

Launch Firmwire Bootload Stuck

Also, if something doesn’t work after 2 or 3 tries, don’t keep trying, just let me know and wait for my reply. You may be banging your head against something that’s a problem with our updater. :slight_smile:


Managed to connect using your URL after many tries. But had no idea where the firmware is to be found to I tried using the app again and it crapped out on me in the finalize phase. Do you know where I can find the firmware file?


Used your URL again and after many frustrationg tries, rebooting phone, bluetooth on and off and rebooting device I finally skipped the pairing with the phone and that made this easier. Updated using the app and was going to turn off bluetooth at the stage where the device moves a bit and enters the finalize step but noticed that that happened automatically now and completed successfully.
So dont pair device with your phone directly seems to have made a differance. Thanks a lot for your help


When trying this it finds the launch and I hit pair it start load “Retrieving information from Hardware”, then goes to NetworkError: Connection Failed for Unknown Reason.

Using Google Chrome with an S8.


Oh yeah. Don’t pair the device with your phone or desktop. Due to the way BLE connections work, they need to be unpaired when you try to connect, otherwise weird stuff happens that we can’t detect and things will fail silently. Glad you got things working!

I’ll add a note about that to the firmware loader, just to make sure no one else gets tripped up on that.