DesignSpark Electrical Logolinkedin
Menu Search
Ask a Question

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.

Raspberry Pi setup

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.

Chronos Control Center

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)

eZ430 watch in sync mode

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.

1 Jun 2012, 11:51


June 3, 2013 12:51

First thing I did when upgrading to DS5. I really can't see the point - PCB design is an iterative process and you are always going to have DRC errors while building your design. Warning you about things that are obvious is pointless and annoying.

0 Votes

June 2, 2013 08:58

Thanks. I'll try it!

0 Votes

June 1, 2013 07:47

Right mouse button anywere on design screen and unmark Online DRC.

0 Votes

May 31, 2013 05:33

There seems to be a realtime Design Rule Check function in DSPCB 5 that checks if you have parts to close or outside of the PCB etc that comes up with an error message every time and leaves a scarlet warning on the PCB layout.

Whilst this may have it's uses, for me it really really slows down the layout process when I'm rotating parts or just trying different orientations of parts as there is the error window to close every time it does it and the only way to clear the scarlet messages is to run a Design Rule check with not design rules checked.


0 Votes