- Added support for BMA250 accelerometer and BMP85 pressure and temperature sensor (packed in the white PCB eZ430-Chronos)
- Added Black/White PCB dependencies in config.py
- Added new modules
- Music module now plays a shorter tune (Nokia tune instead of Super Mario Bros. theme).
- Altimeter module for white PCB
- Accelerometer module for white PCB
- Boiling point calculator for white PCB
- Cricket's chirp calculator (any PCB)
- Scrolling hello world (any PCB)
- Speed of sound calculator for white PCB
- Step counter calculator for white PCB.
Origin: github.com/BenjaminSoelberg/openchronos-ng-elf
Latest build status on Circle CI: circleci.com/gh/BenjaminSoelberg/openchronos-ng-elf
Releases and snapshot & firmware: github.com/BenjaminSoelberg/openchronos-ng-elf/releases
We use Slack to communicate, you are welcome to join us at: openchronos.slack.com juse shoot me an email
Modular opensource firmware for the TI eZ430 Chronos.
openchronos-ng is a major rework of openchronos. Compared to openchronos it has the following features:
- system message bus for system<->module communication.
- hardware RTC timekeeping (no more clock inaccuracy).
- rework of timer and ports drivers.
- implementation of a module system (drop in applications).
- rework of the display routines.
- rework of the menu system.
The firmware code is also conceptually simpler and smaller which leaves room for more modules (applications).
This repository is a fork of (seems unmaintained) : http://sourceforge.net/projects/openchronos-ng/
If you are running on a 64 bit Ubuntu system you need to install some packages first:
sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6 python-urwid
If you are running on a 64 bit Fedora system you need to install some packages first:
sudo dnf install ncurses-libs.i686 zlib.i686 libstdc++.i686 python-urwid
Download the open source MSP430 GCC compiler from TI here:
http://www.ti.com/tool/msp430-gcc-opensource
Please note that the installer is a 32 bit binary and will exit with no error if above dependencies isn't available on your system.
Execute :
chmod +x msp430-gcc-full-linux-installer-3.5.0.0.run
./msp430-gcc-full-linux-installer-3.5.0.0.run
sudo apt-get install mspdebug
Add this to your .profile
export MSP430_TI=~/ti/gcc
export PATH=$PATH:$MSP430_TI/bin
Run the following command to add exports to your current shell (including the dot):
. ~/.profile
or add it to your .bashrc.
Install the following support packages from TI in order to be able to download new firmware to the watch using the wireless radio:
Linux: http://www.ti.com/lit/zip/slac388
unzip slac388c.zip
chmod +x Chronos-Setup
./Chronos-Setup
Windows:http://www.ti.com/lit/zip/slac341
Installing the software (SLAC341/SLAC388) will also copy the following files to your computer:
- Control Centers
- Chronos Control Center binary
- Chronos Data logger binary
- GUI source code
- Documentation:
- eZ430-Chronos User Guide (SLAU292)
- Schematics, Layout (Gerbers) & BOM for Access Point, Debug Interface, and Watch
- Drivers for:
- RF Access Point
- eZ430 debug interface
- Application Binaries (Recovery) for Sports watch firmware, Data logger firmware (all frequency), Wireless updater (rf BSL), RF Access Point.
- Application Source Code for Sports watch firmware, Data logger firmware (all frequency), Wireless updater (rf BSL), RF Access Point. Both IAR and CCS projects are included.
-
Connect the internal watch module to the USB FET module
-
Reset the watch using the menu or reinserting the battery
-
Program it using mspdebug
cd /<install path>/eZ430-Chronos/Control Center/Recovery/Chronos Watch/Applications/
mspdebug rf2500
<snip>
(mspdebug) prog Recovery_ez430_chronos_<YOUR-WATCH-FREQUENCY-DONT-COPY-THIS-LINE-WITHOUT-PLUGGING-IN-YOUR-WATCH-FREQ>_2_1.txt
<snip>
Done, xxxxx bytes total
-
Disconnect the watch module and the watch should display BOOT
-
Press any button except DOWN and you should be up and running the new firmware
Please note that this method is slow but very useful if flashing over wireless fails.
Flashing the watch with original Chronos RFBSL firmware using mspdebug (MSP430F5509/CC1101 - white PCB)
-
Connect the MSP430F5509/CC1101 USB Access Point module
-
Reset the watch using the menu or reinserting the battery
-
Program it using mspdebug
cd /<install path>/eZ430-Chronos/Control Center/Recovery/Chronos Watch/Wireless Updater/
mspdebug rf2500
<snip>
(mspdebug) opt enable_bsl_access true
(mspdebug) prog Recovery_eZ430_Chronos_rfbsl_<YOUR-WATCH-FREQUENCY-DONT-COPY-THIS-LINE-WITHOUT-PLUGGING-IN-YOUR-WATCH-FREQ>_1_0.txt
<snip>
Done, xxxxx bytes total
- Press any button except DOWN and you should be up and running the new firmware.
- Connect the MSP430F5509/CC1101 USB Access point to the USB FET module (see pictures)
-
Connect the USB FET module with the MSP430F5509/CC1101 RF USB Access point module attached
-
Program it using mspdebug
cd /<install path>/eZ430-Chronos/Control Center/Recovery/RF Access Point/MSP430 v1.1 - white PCB/
mspdebug rf2500
<snip>
(mspdebug) prog Recovery_eZ430-Chronos_AP_<YOUR-WATCH-FREQUENCY-DONT-COPY-THIS-LINE-WITHOUT-PLUGGING-IN-YOUR-WATCH-FREQ>_2_2-white_PCB.txt
<snip>
Done, xxxxx bytes total
- Disconnect USB FET Programmer and the MSP430F5509/CC1101 USB Access point
Clone it from GitHub:
git clone https://github.com/BenjaminSoelberg/openchronos-ng-elf
Setup which modules to compile with:
cd openchronos-ng-elf
make config
Deselect anything saying EXPERIMENTAL as they are not fully functioning.
Build with:
make clean && make
The newly build firmware is in the binary file openchronos.elf and intel format in openchronos.txt
In openchronos-ng, the watch no longer boots directly into the clock firmware.
To enter the BOOT menu you can either:
- Use the Reset menu
- Reinsert the battery
If the display shows BOOT you have successfully reset the watch and are now in the boot menu. Press the DOWN button to enter the wireless flash updater (RFBSL). Any other button will run the watch firmware.
-
Connect the internal watch module to the USB FET module
-
Program it using mspdebug
make usb-install
-
Disconnect the watch module and the watch should display BOOT
Press any button except DOWN and you should be up and running the new firmware
Please note that this method is slow but very useful if flashing over wireless fails.
-
Connect the USB CC11x1 module
-
Reset the watch using the menu or reinserting the battery
-
Program it using ChronosTool.py (Note that sudo might be required. Also repeat this step if it fails)
sudo make install
-
Press Enter
-
Enter RFBSL by pressing the DOWN button on the watch
-
Press any button except DOWN and you should be up and running the new firmware.
Please note:
- RFBSL seems to fail a lot on some MacBooks (mine is a MacBook Pro Retina 2012)
- RFBSL seems to fail a lot for some if the watch battery is below 93%
If you need to reinstall the original firmware you can download a flash tool here (using windows XP):
http://www.bm-innovations.com/index.php/ez430-chronos
If you are on windows 7/8/10 and wish to update the watch via bm-innovations Flash tool then download the FET drivers (MSP430Drivers-1_00_00_01-windows-installer.exe confirmed working on Win10) from:
Data sheet for the CC430F6137 used in the watch:
http://www.ti.com/product/CC430F6137/technicaldocuments
eZ430 Chronos wiki:
http://processors.wiki.ti.com/index.php/EZ430-Chronos
MSP430™ Programming With the Bootloader (BSL):
http://www.ti.com/lit/ug/slau319l/slau319l.pdf
MSP430™ Programming With the JTAG Interface:
http://www.ti.com/lit/ug/slau320x/slau320x.pdf
Join us at Slack Team Channel: