Skip to main content

Using the eZ430 Chronos with a Raspberry Pi

eZ430 Chronos

The eZ430 Chronos development kit from Texas Instruments represents great value for money and provides a wristwatch with a wireless-enabled microcontroller, accelerometers and temperature and barometric pressure sensors, and a USB programmer and RF access point. In this post I take a look at what it takes to get it up and running with a Raspberry Pi.

The Chronos RF access point simply presents itself as a serial port to the operating system and drivers are included in Linux, and so any heavy lifting in enabling communications between the watch and host has already been done for us.

With the access point plugged into the Raspberry Pi USB we just need to install a few dependencies in order to run the TI supplied demonstration software and a simple example Python script. Assuming that you are running Debian Linux this can be achieved using the command:

$ sudo apt-get install python-serial tcl8.5 tk8.5 xdotool

Chronos Control Center

Chronos Control Center is a GUI tool that provides a selection of applications which demonstrate the capabilities of the eZ430 Chronos. The Linux version of the software must have been developed with x86 architecture in mind as it's provided as a binary installer rather than a tar archive. However, since it's Tcl/Tk based it should run on just about any platform/architecture for which this software is available. It's trivial to repackage it so that it's not architecture-specific, and this just requires access to an Intel/AMD Linux machine on which to run the following commands:

$ unzip

$ ./Chronos-Setup

$ tar zcvf ccc.tgz ~/Texas Instruments/eZ430-Chronos

Obviously if you installed the software to a location other than the default as part of the second step, you will need to use that location for the second argument in the third step. The ccc.tgz archive can then be copied to the Raspberry Pi and unpacked to a suitable location.

The above image shows the Control Center software running, with the access point enabled and the watch set to ACC mode and with RF enabled. Real-time data from the watch accelerometers is displayed, and by selecting Mouse On it's also possible to use the watch to control the Raspberry Pi mouse pointer through gesture. As can be seen the Control Center provides a number of other simple applications that can be selected via the tabs at the top.

Setting the time via a Python script

It should be possible to write host-based applications for the Chronos in just about any language that provides access to serial devices. When using the Python language this is achieved via the pySerial library, and with a reasonably short script it's possible to configure the serial port, send the commands required to start up the RF access point, and then get the Raspberry Pi system time, format this into packets, transmit them to the watch and set the time accordingly.

Note that if you do wish to make use of the linked script you will need to change the line that configures the serial port parameters to read:

ser = serial.Serial('/dev/ttyACM0',115200,timeout=1)

The watch set to sync mode and with RF enabled


Together the Chronos eZ430 and Raspberry Pi opens up all sorts of exciting possibilities, where data can be sourced from the watch sensors or the Internet, processed and pushed in either direction. With the relatively powerful processing capabilities of the Raspberry Pi being made use of, and its hardware capabilities further extended via the GPIO port. As such it would seem like a winning combination for low cost experimentation with wearable and ubiquitous computing. And with a little enhanced support from within the Python language, it is easy to see how the Chronos could become an incredibly fun accessory to Raspberry Pi-based learning in schools.

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.
DesignSpark Electrical Logolinkedin