Indigresso Wiki

Open Source Stuff for DASH7

User Tools

Site Tools


opentag:platforms:cc430

TI CC430 (Platform)

The CC430 from Texas Instruments is an RF+MCU SoC and one of the official platforms supported by OpenTag. Its notable features are its low cost and relative ease of development with OpenTag. Additionally, it is constructed as a single-die, enabling certain form factors (such as smartcards) than might not be possible with SiPs or two-chip solutions.

This page describes, primarily, the MCU attributes of the CC430. The CC430 uses a variant of the MSP430 MCU core very similar to the normal MSP430F5 series. There is also a CC430 Radio Wiki describing the radio core attributes of the CC430 SoC. The CC430 thus is a radio and a platform, by the OpenTag parlance. Hypothetically, a board could be developed that uses a CC430 as a radio only, or alternatively a CC430 as an MCU only.

Variants

The CC430 comes in several variants. The ones that work best with OpenTag are the CC430Fx137 variants, which include a 12 bit ADC, 4 KB SRAM, and 32 KB Flash. The CC430F6xxx devices contain a segment LCD driver, which might be useful for some applications (it makes a nice demo on the Chronos Kit), but it is not required at all for OpenTag. However, current OpenTag implementations do make use of the 12 bit ADC for generating high-quality random numbers (good for cryptography), so CC430 variants containing a 12 bit ADC are recommended.

Model Number ROM/SRAM/ADC/LCD Usage Notes
CC430F5133 8KB/2KB/Yes/No Not enough ROM for most OpenTag apps
CC430F5135 16KB/2KB/Yes/No Minimal resources for two-way (TX+RX) OpenTag apps
CC430F5137 32KB/4KB/Yes/Yes Enough resources for most OpenTag apps
CC430F6125 16KB/2KB/No/Yes Not recommended: no ADC
CC430F6126 32KB/2KB/No/Yes Not recommended: no ADC
CC430F6127 16KB/4KB/No/Yes Not recommended: no ADC
CC430F6125 16KB/2KB/Yes/Yes CC430F5135 + segment LCD driver
CC430F6127 16KB/4KB/Yes/Yes CC430F5137 + segment LCD driver

CC430-based Development Kits

There are several CC430-based development kits on the market. Basically, anything with a CC430 and an antenna on it can run OpenTag. Here is an incomplete list of CC430 dev kits; please contact me if you know of others.

Kit Manufacturer Supported Bands Notes
WizziKit Wizzilab 433 MHz An XBee & Arduino form-factor kit using CC430F5137
Agaidi DASH7 Kit (No longer manufactured) Agaidi 433 MHz An improved version of the EM430F6137RF kit, using CC430F5137 instead, and including an FTDI USB interface
EM430F6137RF900 TI / Amber 866/915 MHz Main CC430 dev tool, but requires difficult soldering to enable 433 MHz
ez430-Chronos TI 433/866/915 MHz Really cool form-factor, but poor antenna performance and crippled development toolchain. Best as a demo, not a dev kit.
WTF-AA-0420 JP 433 MHz Highly integrated, breadboard-able, small-size OpenTag dev board.

Platform Implementation Notes

The TI CC430 can be configured in a variety of ways and used with a variety of embedded toolchains (IDEs). There are guides on this wiki about using certain toolchains with OpenTag. The links below are for the toolchains that work with the CC430.

RTOS vs. Bare Metal

There are certain RTOSes, like FreeRTOS and TinyOS, which support the MSP430F5 series microcontroller and therefore the CC430 as well. However, the CC430 variants currently available max-out at 32 KB of Flash ROM and 4 KB of SRAM, so it is probably not worth it to implement an RTOS alongside OpenTag. With the CC430's limited resources, it is unlikely that the user application is going to require more than a single task, and as such OpenTag on the CC430 is best implemented on the “bare-metal.” If we see future variants of the CC430 family with greater resources, this position may be reassessed at that time. Until then, CC430 on OpenTag will only officially support the Native Kernel.

CC430 Development Toolchains

The most notable CC430 development toolchain is TI's CCS program, which itself is a Windows app based on Eclipse and mspgcc. TI CCSv5 (or v4) is the de facto toolchain used for development of OpenTag on the CC430, however some others may work as well. Please contact me (or join the wiki and add yourself) if you know of other toolchains that work and are unlisted.

Toolchain Status Est. Price Linux Mac Windows Notes
TI CCSv5 Official US$500 No No Yes Eclipse-based, TI supported, very reliable
IAR Workbench Eval'ed US$2000 No(1) No(1) Yes Easily the best toolchain, but also very expensive
Rowley CrossWorks Eval'ed US$1500 Yes Yes Yes Unstable, crashed frequently, not recommended
Code::Blocks + mspgcc Official $0 Yes Yes(2) Yes A free toolchain assembled by Wizzilab
Eclipse + mspgcc $0 Yes Yes(2) Yes Eclipse using mspgcc as Cross GCC

- There is some evidence that IAR can run on POSIX OSes via wine

  1. Code::Blocks supports Mac OS X, as does mspgcc, but getting get mspgcc properly compiled on x86-64 (required by OS X 10.7) is an extreme challenge

CC430 Developer Resources

This is just a list of websites and documents that I have found or prepared, which might assist developers.

  • Spreadsheet for determining amount of time between RX startup and “Valid RSSI” condition. The time units are in µs (microseconds). The 3rd-RSSI-stabilization (RSSI #3) tolerance is accurate enough for DASH7 CS/CCA spec (if you don't want to read it, you can safely assume 400µs). ( MS Excel)
opentag/platforms/cc430.txt · Last modified: 2012/06/09 23:58 by jpnorair