MWKit – a Cocoa framework for talking to the MetaWatch

EDIT: this page is outdated, visit the new project page at


As said before, I’ve been putting together a little framework to talk to the MetaWatch.

Well, here it is, as promised, it works on both, Mac OSX and iOS (jailbroken)


  • Implements the MetaWatch Message Protocol
  • Modular Architecture
    • Mac OSX support via IOBluetooth or IOCTL
    • iOS support via btstack
  • Device Inquiry or direct connections
  • Image rendering
  • Text rendering
  • Button configuration and events


Large parts of the MW Message Protocol are implemented already, but many minor messages are still missing.


Update: as of firmware version 0.8.0 this should no longer be an issue!

Due to issues with the watch’s internal bluetooth stack connections may become slow (really slow) after sending a few messages.

In detail, the issue is related to a power-saving feature on the bt link-layer that goes by the name “sniff mode”. It’s enabled automatically after a few seconds of inactivity, and makes the radio listen only in a preconfigured interval to reduce power consumption. In the event of incoming data, sniff mode should be exited automatically until the connection becomes inactive again, this however seems to be not working with various bt stack implementations, including the Mac OSX one, leading to long delays(1-2s) between delivery of messages.


For source code and documentation head over to github

1 comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: