The hackable watch: a wearable MSP430 MCU

It’s quite some time now that I started programming with low-cost MSP430 MCUs development kits, I must admit that sometimes I need more RAM and flash but I like this MCU a lot: its advanced clock configuration options, the 16bit Von-Neumann architecture and the low power modes make this MCU an ideal option for battery powered applications and a great development platform for beginners.

Additionally, there is a small but vibrant community on 43oh (see: http://forum.43oh.com/) and Texas Instruments helps a lot to spread the platform giving away free development kits to schools or other not-for-profit organizations.

A few days ago I decided to buy the eZ430 Chronos development kit, it was just 29.99 $ shipped and I needed a watch with altimeter for my mountain activities.

The watch

Basically, this is an MSP430 development kit in a watch case, it integrates a radio that can communicate with your PC through the provided USB dongle. It means that you can read sensors and send data to your PC and even upload a new firmware through the radio link. On the other hand you can control your PC from the watch by sending commands, for example the watch accelerometer can be used to move the mouse pointer on the computer screen.

In the box

In the box, you find:

the watch

a screwdriver to unmount the watch

spare screws

an USB RF (radio frequency) access point dongle

an USB FET eZ430 programmer

some printed materials and fliers

In the picture you can see the single items. Please note that the current version has a white PCB instead of the black one.

Getting started on Linux

Inside the package you find a single self-extracting archive that you must launch to unzip everything on your hard disk, by default, the software is installed in your home folder under Texas Instruments sub-folder .

Inside the zip you find:

user manual

recovery firmwares

control center software

schematics, BOM

source code of the watch software (with some binary blobs for proprietary parts)

The control center

The control center is written in Tcl/Tk (wow: I can’t tell the last time I saw Tcl/Tk software!) and provides the following functions:

accelerometer graph

mouse emulation (move a pointer on the screen)

PPT (presentation control)

time/altitude syncronization

wireless firmware update

Note: the wireless update do not work out of the box (see next paragraphs).

To start the control center, you will need Tcl/Tk installed (xdotools is also needed to emulate the mouse or bind keys to watch commands):

How to fix wireless update

Due to a bug in the USB Access Point firmware, before being able to do wireless firmware upgrades you need to install a new firmware on the dongle itself, first you must solder the tiny male connector to the AP dongle as shown in page 46 of the user manual (slau292.pdf , in the above mentioned software/documentation bundle).

Then you connect the AP dongle to the eZ430 programmer and you upload the new firmware with mspdebug.

If you don’t have mspdebug installed, you can easily find it in the Energia packages for your Linux architecture: http://energia.nu/download/

The new firmware can be found in the above mentioned software/documentation bundle under ~/Texas Instruments/eZ430-Chronos/Recovery/RF Access Point/MSP430 v1.1 – white PCB , a sample session follows, of course you will choose the firmware version that matches your radio frequency (868MHz is for Europe):

After the AP firmware upgrade, you will be able to use the AP dongle to upload a new firmware to the watch.

Custom firmwares

Of course, you will want to compile and upload a custom firmware, there are several good reasons to do that: first you will want to get rid of proprietary parts (like heart beat measure) and related menus and last but not least: you are a hacker, aren’t you?

To compile a new firmware you will need the compiler and header files, installing Energia as suggested above is probably the easyest way to have all the toolchain installed.

The good is that there is a nice OpenChronos firmware project, the bad is that there are many forks and it’s difficult to understand where to to start.

When the watch is reset (or applied power for the first time, from battery etc..) instead of going directly into the main openchronos-ng menu. It displays BOOT in the screen. At this boot menu you can do two things: If you press the backlight button, you will enter the wireless updater mode. If you press any other button, you will get the regular openchronos-ng menu.

Janek

After unziping software slac388.zip I have only “Chronos Setup” and I dont know what to do. After clicking open new window Pypar2 ???
Under Windows two programs installed good. After upgrade my watch work bad, and I want repair it.
mspdebug under Ubuntu 13.10 not working. Massage is:
fet: unknown device
.
.
fet: identify failed
picture from terminal is on http://tjmps.netau.net
What is not good ? Help me.

Vinayak

Hi,
I am trying to make a peer to peer connection between 2 ez430 chronos watches…
I am using SMPL_Link on 1 watch and SMPL_LinkListen on another watch but both the API’s are returning SMPL_TIMEOPUT.
Can anyone help me on this ?

Vinayak

Hi,
I am trying to make a peer to peer connection between 2 ez430 chronos watches…
I am using SMPL_Link on 1 watch and SMPL_LinkListen on another watch but both the API’s are returning SMPL_TIMEOUT.
Can anyone help me on this ?

GIS

Linux

Partner

Meta

ItOpen.it is not affiliated with or endorsed by the Joomla! Project or Open Source Matters. The Joomla! logo is used under a limited license granted by Open Source Matter the trademark holder in the USA and other countries.