Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

CC1101 issues with receiving a byte..

Not open for further replies.


Member level 2
Aug 15, 2007
Reaction score
Trophy points
Activity points

I'm working on a CC1101 sub 1 Ghz Transceiver IC along with MSP430G2553 for a project.
I did find some code which I debugged and got it working on the basic level (like strobing and reading the status register , all those sort of stuff ). I have verified the connections and they are all good.

Since I do not own a Spectrum Analyzer I'm unable to verify transmission. However upon couple days after discussing at the TI forum's I came to know that the GDO_PIN will sync only if the transmission was successful. However I still cannot be 100% sure as I don't own a spectrum Anlalyzer.

Im unable to receive any sort of packet at all. There some seems to be a minor issue which I just don't seem to pick up. I had spent more than 4 weeks on this module now.

Upon debugging in line mode , I found out that the MCU enters line 65 in main.cpp irrespective whether there is a transmission on the transceiver or not.

LINE 65 :
if(cc1101.ReceivePacket(rxBuffer, &len))

The MCU does not enter the true part of the logic at line 65 from the second pass onwards ( even if there is a transmission from the transceiver ).

I had checked the interface modules with Arduino and they are working perfectly.So should'nt be problem with the modules.

Im attaching the project code to this post, could somebody tell me what the problem is and correct it . It would be of great help.


  • CC1101.rar
    89.4 KB · Views: 63

you do not need to use a spectrum analyzer. a simple diode detector and an oscilloscope can be used to see if it is transmitting anything. you can build your own schottky power detector with a schottky diode and a capacitor.

Then if you see power being transmitted at the ~ right time, you can also check the FSK modulation with a delay line frequency discriminator and an oscilloscope. Often something in the header is corrupted, and then the receiver can not decipher it. A delay line frequency discriminator is just a splitter, length of cable, ad a DC coupled mixer.

You say that you have tested the modules. do you mean the radio modules? And you have verified radio operation using Arduino?
I recommend using SmartRF Studio from TI for debugging RF. Then you can first, test the modules against each other, then leave one of them in RX/TX and try to send/receive from the module your coding.
When working with RF you need to have a structure for testing from the beginning, else small mistakes like sync word etc can ruin.


Yes these are Radio Modules, I have tested both Tx & Rx operation with Arduino by sending 2 packets.They are transmitting and receiving flawlessly.

The problem with smarttRF studio is that they support only TI modules, well mine are the cheap one's from ebay .

I believe the problem with Smart RF Studio is that it's using the TI Transceiver evaluation board to communicate with the transceiver modules. The modules have a plain SPI interface, I guess the same as your "Ebay" CC101 modules. But there's no documented interface of Smart RF Studio to connect a custom SPI driver, e.g. a FTDI chip.

As far as I see, your code is written from the scratch, not using TI MSP430 libraries. We all know that a lot can go wrong, but a single trivial error can be sufficient for communication failure. I agree with biff44's point that a simple level detector can monitor transceiver operation. I would primarly rely on the status information you can get from the transceiver to watch the radio state machine.

So it's all about finding suitable ways of debugging code and CC1101 operation.

Not open for further replies.

Part and Inventory Search

Welcome to