Using the eZ430 Chronos with a Raspberry Pi
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 slac388a.zip
$ 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.
CommentsAdd a comment
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.
IS THERE ANY WAY TO TURN THIS REALLY IRRITATING FUNCTION OFF?