Chronos EZ430: An SDK packing watch for real techies

It's a timepiece, but not as we know it

The Windows software supplied will plot the accelerometer data onto pretty graphs, and even link motion to the Windows mouse-pointer. The hilarity of trying to control Windows whilst holding one's wrist steady enough to press the buttons (mapped to mouse clicks) was well worth the $50 alone - not only for the user attempting it, but also for colleagues and those passing by who might catch a glimpse of a frantically waving hand as the user misses the "Mouse Off" button yet again.

Wavy lines

All that shaking is vigorous testing, not the result of a hangover

But hijinks aside it's the accelerometer mode which is most flexible, and what we used for our application.

Documentation is surprisingly sparse: there is a burgeoning community of developers and a good wiki, but for communications between the watch and the computer we were left with only the vaguest clues. The protocol isn't very complicated, though, and using HHD's Free Serial Port Monitor we were able to monitor communications with the watch and build a usable model of the communications process.

Having decided that what we really wanted was a music system controlled with a flick of the wrist - surely a common aspiration - we looked at the gathered logs and established that first we'd have to switch on the radio, then request updates, then poll for those updates every half second or so.

We used Java, because it was nearby, and opened up a serial port at 8 data bits, 1 stop bit and no parity, with a speed of 115200. Once open we sent a command to switch on the dongle:

0xff  0x20  0x07  0x00  0x00  0x00  0x00

To which we received a confirmation of success.

0xff 0x06 0x07 0xXX 0xXX 0xXX 0xXX

With "XX" being replaced with the serial number of our watch.

So we followed that with request to switch on the radio communications:

0xff  0x07  0x03

...to which we also, generally, received a confirmation:

0xff 0x06 0x03

But before we could start polling we had to run the preinstalled ACC application on the watch. Once that's running we can send a polling request and receive values for the X, Y and Z axis: one byte for each axis:

0xff  0x08  0x07  0x00  0x00  0x00  0x00

Which was rewarded with the data we're actually interested in...

0xff 0x06 0x07 0x01 0xc0 0x05 0xde

With the last three numbers being the attitude of the x, y and z sensors.

Sponsored: Today’s most dangerous security threats