New firmware released to address Bluetooth issues
Meta Watch Bluetooth protocol stack and firmware debugging effort leads to firmware 0.8.0 release
There have been quite a few models of Android phones as well as a Linux OS and Mac OS that have some issues with Bluetooth communications with the Meta Watch platform. It's hard to tell if these are all the same issue or not or how many issues there are exactly. We have made some changes to the Meta Watch firmware and Bluetooth stack to address these issues.
First here is a summary of the different issues reported:
What works:
- The watch is discoverable without issues.
- It pairs (using standard pairing, not secure simple pairing).
- It connects and goes into sniff mode properly.
When there is an issue, these are possible symptoms of the issue:
- A single message from the phone to the watch seems to work (like vibrate).
- Multiple messages from the phone (like a notification screen) are painfully slow (20 - 60 seconds for all the data to get through).
- Multiple messages from the phone (like a notificaiton screen) cause the watch to lockup, reset, or cause a silent memory error.
- When a whole screen's worth of messages is sent, the Android APK sees no errors from the OS.
- The watch is programmed to wake from Sniff for any incoming data (the high level stack is in the MSP430), but we don't seem to come out of sniff with these devices reliably.
- One of the watch threads then crashes after a couple of these slow message events. This could be a memory allocation error.
- The crashed thread on the watch makes the watch hobble along and act slow to UI requests and can reset the watch, cause screen corruption, or just make the watch lock up.
- When the watch has a memory error, the MCU can no longer go to sleep and the battery life just craters.
Normal operation:
- Normally, the watch and phone would come out of sniff at the very first byte sent at the next sniff interval.
- The watch shouldn't crash or rest
- The watch should have a battery life of 4-5 days with 24/7 connection and 10+ notification screens per day
We've been working on replicating the described issues on some of the phones the community has reported. We've been doing some deep debugging including Blueototh radio HCI traffic capture and Bluetooth protocol sniffing. All hands are on deck including our Bluetooth stack licensor, the fabulously talented folks at Stone Street One.
As with most software bugs, there is not just one issue, but several. As you peel one back, others become more obvious. A new release of software is out today (v0.8.0) that has some proposed fixes and work arounds. The following phones were used in the test and seem to be working now with v0.8.0.
- HTC Sensation 4G
- HTC EVO 4G with Cyanogen 7.1 stable
- Samsung Galaxy S2
- Samsung Galaxy S 4G
- Samsung Infuse 4G
- Nexus S
- Nexus One
- Motorola Droid
We didn't have access to other phones, but we're hoping that these phones are representative of a wider range. I would suggest that *Everyone* upgrade to the new watch software regardless if you think you see issues or not. (FYI: There will be additional testing next week with HTC EVO Stock ROM.)
One interesting footnote is how amazingly different some of these phones act from one another with regards to Bluetooth, SPP, and memory requirements on the watch. We have not yet in our debugging found a phone that we could not fix on our side, that gives me good reasons to be optimistic that we can keep tackling these issues as they are found.
Thank you MetaWatchers for all your patience and for your assistance in helping us make this platform better for everyone.
Happy Hacking,
David Rosales
CTO, Meta Watch
Post Discussion
Leave a comment
1John
Thank you for the detailed blog information and continuous development for this exciting platform! (HTC Evo 4g user)
Hang With Us

Leave a Comment
Speak Your Mind
This thread has been closed from taking new comments.