This is helpful, thanks! I assume you’re using android 4.4 or 4.3? It sounds like on some android phones, the BLE services are being cached incorrectly and only get refreshed when bluetooth is turned off and on again. There’s a firmware update in the works that should make this problem go away, expect it in january. It should also fix the buffer mode failures, which are due to android packet drops.
Regarding firmware updates from SD card – this would require an overhaul of the bootloader itself, which can’t be changed once it’s installed. So I’m afraid it’s a feature I can’t add…
Happy New Year!