First radio waves

First prototypes of our Radio Board v1 have been implemented succesfully. The board is based on TI’s CC430 technology platform. The exact model of the chip is CC430F5137 with 32K of flash and 4k of RAM, although these prototypes are using samples with only 8K of flash.

The CC430 combines an MSP430 MCU and a CC1101 sub-1-GHz radio module.

The MSP430 is a cheap ultra-low power 16-bit microcontroller platform. You can get a LaunchPad development board with two MSPs and a USB cable for 4.30$. There was a one euro difference in the price of the CC430 and the plain CC1101 radio in Digikey so we didn’t really consider using the plain CC1101 directly with STM32 but went for CC430 where we can have the SW stack for radio running in a dedicated MSP430.

The CC1101 can use frequencies like 868 MHz (Europe) and 915 MHz (USA) but we are using 433 MHz (Worldwide) for better structure penetration. Internally the CC430 is using a cpu interface with memory mapped registers for communication between the MCU and radio core. The CC1101 is quite convenient to the application developer as it can send and receive CRC checked variable length messages sent to specified address.


Home-made Radio Board v1 prototype

First Radio Board v1 prototype


Our initial plan was to use Dash7 as the radio SW stack but it doesn’t fit to 8K and seems to be quite an overkill for our initial use cases. TI provides a free but proprietary stack called SimpliciTI but the license seems to restrict redistributing the source code (although I’m no lawyer) and we prefer open source solutions anyway. Luckily TI provides a nice set of RF examples for the CC430 and since the CC1101 provides a high level packet handling API, one can get quite far by using only this API.

The MSP430 is well supported in Linux and e.g. Ubuntu provides msp430-gcc and msp430-gdb. The CC430 RF examples do contain a couple of lines specific to TI’s proprietary Code Composer Studio IDE but they can be relatively easily ported to GCC. Connect the LaunchPad via USB to your Linux box and your CC430’s TEST and RST to the launchpad and you are ready to go. More about the exact instructions later.


CC430 prototyping

Mimicing TI's CC430 evaluation board with leds and a button


Currently we are implementing the CC430 firmware for better interoperability with the Control Board and finalizing the Radio Board v1 gerbers for PCB order from ITead Studio.

This entry was posted in Hardware and tagged , . Bookmark the permalink.

14 Responses to First radio waves

  1. Louis says:

    I need to use cc430f5137 in a project that needs few dozens boards. Will you have them available for sale anytime soon?
    Also, how did you get to solder the chip and the small components on your custom made board?


  2. Bharat says:

    its looks great
    does ur boards arrived from ITead Studio

    • Tuomas Kulve says:

      Yes, the boards arrived. But there is some weird bug or configuration issue and because of that we can’t yet send anything between the new boards.

      • Bharat says:

        Dear Tuomas
        have you checked the impedence on boards
        do they match on all boards
        this could be one of the problem …

        • Tuomas Kulve says:

          We have tried to follow the TI’s references and examples closely. The home made boards work and the iTead ones do now. I guess the biggest difference is that the newer boards are double sided. The newer boards did have some bugs (missing GND lines) there as well but they should be all fixed.

          We’ll try to do more measurements and experiments.

  3. Bharat says:

    you can use TI standard examples which wont have configurations issues to start with
    Later you can change to what ever you want

  4. Tuomas Kulve says:

    After some measurements we noticed that the iTead boards send in 50kHz lower frequency than the first protos. That’s probably the reason they don’t work with each other. And some of the newer boards seem a bit unstable but we did get a proper signal through with some of the boards.

  5. Bharat says:

    so where do u think is the pronblem for that missing 50kHz
    is it matching circuit or the impedence of the boards ?
    Did u use any spectrum analyzer to find that misssing 50kHz or with Network Analyzer ?

    • Tuomas Kulve says:

      Sorry for answering half a year late.. I don´t really know what was causing that 50Khz difference but since it was only with the single sided self made boards we didn´t put too much effort on it.

      Version 1 boards from ITead were 1.6mm thick and the version 2 boards were 0.8mm, which is as per the reference. We didn´t check if there still is a difference but at least the version 1 and 2 boards can communicate with each other so the difference must be small enough.

      We were using a spectrum analyzer to debug the boards. I don´t know much about those but at least already the very basic functionality helped a lot.

  6. Vaclav says:

    it is a nice project and i have to appreciate that you are providing also the schematics.
    I would like to work with the CC430F5137 but i have a small problems with the example code from

    None of them seems to be working on my evaluation boards, which i get on

    I’m also using msp430-gcc and msp430-gdb but unfortunately im not possible to debug very effectively. Could you give me some advice? It looks, that the Radio receive some message, but the data are corrupted or whatever and at the end after few attempts to send something the ECU will end probably in endless loop.

    Thank you very much,

    • Tuomas Kulve says:

      Why can’t you debug effectively? It’s really hard to work with microcontrollers without proper debugging tools.