This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1101: CC1101 very short range, low sensitivity, constant LQI

Part Number: CC1101
Other Parts Discussed in Thread: CC110L, SIMPLICITI, MSP-EXP430FR4133, ENERGIA

Hi.

I am experiencing problems with my wireless devices, which are using CC1101 modules to communicate in 868 MHz band.

I hope, that somebody can help me find a solution. Thank you in advance.

For testing purposes I use two devices, which exchange simple messages (ping-pong) to check wireless range and stability.

The main issue is very short range - I can't get more than about 30 m LoS using external whip antenna with 3 dBi gain, cca 1 m above ground. I am using register settings generated from SmartRF studio: GFSK, 4.8 kBaud/s optimized for sensitivity.

I measured RSSI and LQI during the test. When the devices are close (cca 50 cm) I am getting RSSI -22 dB, LQI 47. When I increase distance (to cca 30 m) RSSI drops linearly to cca -80 dB, LQI stays at 47-50. When I increase the distance (to about 40 m) the communication is very unstable - only sometimes I receive packets, RSSI is about -85 dB. I am not receiving packets with lower RSSI.

Range measurements were performed on multiple places (environments), including large field, where no interference was expected.

I expect, that the range should be significantly better - about 300 m. Also the receiver sensitivity is very strange - CC1101 chip should go under -100 dB RSSI. However the weakest packets have RSSI -85 dB.

Why is LQI almost the same all the time? Is it normal? Shouldn't the LQI be much lower, when there is no expected interference?

At first I was using CC1101 modules from Aliexpress, I tried multiple antennas with similar results. Than I bought Anaren modules (Booster packs from TI Store) with onboard Antenna - I got similar results, of course I couldn't use LQI (it is not supported on CC110L).

Do you have any ideas, where could be the problem? I can perform another tests to get you more information.

Thank you.

  • Tomas,

    You are correct you should be able to get packets with RSSI's below -85dBm without any issues. Are you using the TI tool called SmartRF Studio for your testing? If not, what software are you using for your testing?.

    The Anaren module has a 27MHz XTAL reference and almost all examples we have online are based on a 26MHz XTAL frequency, so therefore if you do not modify the settings in your software before testing. The programmed frequency (868MHz) will not be 868MHz and you could end up testing in a band that is very noisy.

    The LQI is a measurement of correlation and it will remain very flat until very close to the noisefloor of the device (3-6dB away). Therefore using LQI is not very common.

    Regards,
    /TA
  • I am using SimpliciTI stack in my custom testing application. SmartRF studio is used to generate CC1101 register settings. One of my devices is access point, the other is end device.
    My testing software is quite simple: End device joins network and than sends ping message (2 bytes) every 1 second. Access point receives ping messages, extract RSSI and LQI info and show them on LCD display. Error checking (CRC) is performed by SimpliciTI.

    I don't have CC1101DK development kit. Is it possible to perform tests using SmartRF studio and TI LaunchPad (with Anaren BoosterPack connected)? I didn't find such information in documentation.

    Yes, when I used Anaren modules I had to change crystal frequency - I came along this problem earlier.

    LQI: Can I assume, that LQI value of 50 is OK?

    Thank you for your time.
  • Have you tested with the out of box settings that came with SimpliciTI? My reason for asking if that the CCA level could be set too high and therefore when SimpliciTI does a "listen before talk" it stops sending long before it should.

    Regards,
    /TA
  • I made a test with out-of-box SimpliciTI settings (which is 900 MHz, 250 kBaud/s) and got little worse results - a lot of frames lost when RSSI was -80 dBi.
    I don't think this is CCA issue, because SimpliciTI would return CCA failure. Sending of packets seems to be OK (from debugger perpective).

    Maybe it is CS (Carrier Sense) issue, but I cannot figure it out.
    Today I made more experiments by modifying SmartRF presets with following results:
    - When I increase output power (from 0 to +10 dBi) I am not getting better range, maybe a bit shorter.
    - When I modified CARRIER_SENSE_ABS_THRESHOLD to 0x09, I could get down to -90 dBi (RSSI), the range was better (about 50 m). This is still bad result, I expect much more (based on other forum threads).
    - I have also tried 433 MHz band (with 868 MHz module), the result was extremely bad - only 10 m range. Purpose of this test was to verify selectivity of onboard filter.

    Tomorrow I will try to do range test using firmware from www.youtube.com/watch (I will only change the frequency to 868 MHz) and will post the result.

    If you (or anybody else) have some ideas, I would be happy to try them out.
    Thank you.
  • I have results from testing using another firmware (www.youtube.com/watch

    I used MSP-EXP430FR4133 and AIR BoosterPack (868 MHz).

    Experiment 1: Same register settings as the author

    - Didn't work. Author of the video uses 433 MHz modules.

    Experiment 2: Same settings as the author except crystal frequency (I used 27 MHz) and base frequency (I used 868 MHz)

    - Didn't work.

    Experiment 3: SmartRF Studio preset 1.2 kBaud/s, GFSK:

    - Worked, 50 m LoS. Still very low.

    /* Address Config = No address check */
    /* Base Frequency = 868.000000 */
    /* CRC Autoflush = false */
    /* CRC Enable = true */
    /* Carrier Frequency = 868.000000 */
    /* Channel Number = 0 */
    /* Channel Spacing = 199.813843 */
    /* Data Format = Normal mode */
    /* Data Rate = 1.20056 */
    /* Deviation = 4.943848 */
    /* Device Address = 0 */
    /* Manchester Enable = false */
    /* Modulated = true */
    /* Modulation Format = GFSK */
    /* PA Ramping = false */
    /* Packet Length = 255 */
    /* Packet Length Mode = Variable packet length mode. Packet length configured by the first byte after sync word */
    /* Preamble Count = 4 */
    /* RX Filter BW = 60.267857 */
    /* Sync Word Qualifier Mode = 30/32 sync word bits detected */
    /* TX Power = 0 */
    /* Whitening = false */
    /* PA table */
    #define PA_TABLE {0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
    /***************************************************************
     *  SmartRF Studio(tm) Export
     *
     *  Radio register settings specifed with C-code
     *  compatible #define statements.
     *
     *  RF device: CC1101
     *
     ***************************************************************/
    
    #ifndef SMARTRF_CC1101_H
    #define SMARTRF_CC1101_H
    
    #define SMARTRF_RADIO_CC1101
    #define SMARTRF_SETTING_IOCFG0     0x06
    #define SMARTRF_SETTING_FIFOTHR    0x47
    #define SMARTRF_SETTING_PKTCTRL0   0x05
    #define SMARTRF_SETTING_FSCTRL1    0x06
    #define SMARTRF_SETTING_FREQ2      0x20
    #define SMARTRF_SETTING_FREQ1      0x25
    #define SMARTRF_SETTING_FREQ0      0xED
    #define SMARTRF_SETTING_MDMCFG4    0xF5
    #define SMARTRF_SETTING_MDMCFG3    0x75
    #define SMARTRF_SETTING_MDMCFG2    0x13
    #define SMARTRF_SETTING_MDMCFG0    0xE5
    #define SMARTRF_SETTING_DEVIATN    0x14
    #define SMARTRF_SETTING_MCSM0      0x18
    #define SMARTRF_SETTING_FOCCFG     0x16
    #define SMARTRF_SETTING_WORCTRL    0xFB
    #define SMARTRF_SETTING_FSCAL3     0xE9
    #define SMARTRF_SETTING_FSCAL2     0x2A
    #define SMARTRF_SETTING_FSCAL1     0x00
    #define SMARTRF_SETTING_FSCAL0     0x1F
    #define SMARTRF_SETTING_TEST2      0x81
    #define SMARTRF_SETTING_TEST1      0x35
    #define SMARTRF_SETTING_TEST0      0x09
    
    #endif
  • Range testing with Energia Demo for AIR Boosterpack

    I found example project in Energia - AIR430BoostEuropeETSI.

    I performed range testing with my AIR modules and got the same result - reliable communication on distance up to 40 m. Communication on bigger distance failed.

    I also tried to change channel or transmit power, but without significant difference.

    Do you have any ideas where the problem could be?

    Now I am using only TI products and I can't get expected results.