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: Lost on configuring Smart RF Studio7

Part Number: CC1101

Beginner on so many way but still need your expertise.

Have a 433MHz transmitter sending out a heartbeat every 1 Second when its powered on, there isn't any other function.

I can pick up the signal with a 2 transistor ASK receiver (too noisy, super regenerative receiver, bad PCB) and I can see it on my SDR.

Need help to pick up and decode this signal with Arduino-SpaceTeddy/CC1101 {example provided work as it can talk to each other (2x CC1101)}

My Register setting is from SmartRF Studio7

Tried with no sync, no preamble, 15/16 sync, 16/16 sync, address check on or off

Tried so many different setting and examples but either picking up nothing or noise on GO0

                   0x29,  //IOCFG2 GDO2 OUTPUT PIN CONFIGURATION
                   0x2E,  //IOCFG1 GDO1 OUTPUT PIN CONFIGURATION
                   0x06,  //IOCFG0 GDO0 OUTPUT PIN CONFIGURATION
                   0x47,  //FIFOTHR RX FIFO AND TX FIFO THRESHOLDS
                   0xD3,  //SYNC1 SYNC WORD, HIGH BYTE
                   0x91,  //SYNC0 SYNC WORD, LOW BYTE
                   0xFF,  //PKTLEN PACKET LENGTH
                   0x04,  //PKTCTRL1 PACKET AUTOMATION CONTROL
                   0x05,  //PKTCTRL0 PACKET AUTOMATION CONTROL
                   0x00,  //ADDR DEVICE ADDRESS
                   0x00,  //CHANNR CHANNEL NUMBER
                   0x06,  //FSCTRL1 FREQUENCY SYNTHESIZER CONTROL
                   0x00,  //FSCTRL0 FREQUENCY SYNTHESIZER CONTROL
                   0x10,  //FREQ2 FREQUENCY CONTROL WORD, HIGH BYTE
                   0xA7,  //FREQ1 FREQUENCY CONTROL WORD, MIDDLE BYTE
                   0x62,  //FREQ0 FREQUENCY CONTROL WORD, LOW BYTE
                   0xF7,  //MDMCFG4 MODEM CONFIGURATION
                   0x22,  //MDMCFG3 MODEM CONFIGURATION
                   0x39,  //MDMCFG2 MODEM CONFIGURATION
                   0x00,  //MDMCFG1 MODEM CONFIGURATION
                   0xF8,  //MDMCFG0 MODEM CONFIGURATION
                   0x15,  //DEVIATN MODEM DEVIATION SETTING
                   0x07,  //MCSM2 MAIN RADIO CONTROL STATE MACHINE CONFIGURATION
                   0x30,  //MCSM1 MAIN RADIO CONTROL STATE MACHINE CONFIGURATION
                   0x18,  //MCSM0 MAIN RADIO CONTROL STATE MACHINE CONFIGURATION
                   0x16,  //FOCCFG FREQUENCY OFFSET COMPENSATION CONFIGURATION
                   0x6C,  //BSCFG BIT SYNCHRONIZATION CONFIGURATION
                   0x03,  //AGCCTRL2 AGC CONTROL
                   0x40,  //AGCCTRL1 AGC CONTROL
                   0x91,  //AGCCTRL0 AGC CONTROL
                   0x87,  //WOREVT1 HIGH BYTE EVENT0 TIMEOUT
                   0x6B,  //WOREVT0 LOW BYTE EVENT0 TIMEOUT
                   0xFB,  //WORCTRL WAKE ON RADIO CONTROL
                   0x56,  //FREND1 FRONT END RX CONFIGURATION
                   0x11,  //FREND0 FRONT END TX CONFIGURATION
                   0xE9,  //FSCAL3 FREQUENCY SYNTHESIZER CALIBRATION
                   0x2A,  //FSCAL2 FREQUENCY SYNTHESIZER CALIBRATION
                   0x00,  //FSCAL1 FREQUENCY SYNTHESIZER CALIBRATION
                   0x1F,  //FSCAL0 FREQUENCY SYNTHESIZER CALIBRATION
                   0x41,  //RCCTRL1 RC OSCILLATOR CONFIGURATION
                   0x00,  //RCCTRL0 RC OSCILLATOR CONFIGURATION
                   0x59,  //FSTEST FREQUENCY SYNTHESIZER CALIBRATION CONTROL
                   0x7F,  //PTEST PRODUCTION TEST
                   0x3F,  //AGCTEST AGC TEST
                   0x81,  //TEST2 VARIOUS TEST SETTINGS
                   0x35,  //TEST1 VARIOUS TEST SETTINGS
                   0x09,  //TEST0 VARIOUS TEST SETTINGS

  • Wasn’t expecting immediate answer but don’t want to just wait and never get any help.

    Please look at the waveform and if you experienced on cc1101 and similar device configuration than should be able to give me some advise how to configure registers to able to receive and decode it.

    On my calculations the data rate 3.6kbps 1.6ms for the whole  data transmitted (is that right?)

    Reading up on preamble and what is it how to setup for it but I just don’t get it.

    Please consider it to help/guide me on this.

    Ty

  • Hi,

    What are the boards you are using? Are they from TI?

    What is the setting you used in SmartRF Studio to generate Register Settings?

    If you want to use OOK/ASK, you should start with using the setting "Data Rate 1.2K, Mod: ASK" under typical settings.

    If you have used GFSK setting then it may not work.

    I suggest the following.

    1. Use TI Boards (if you have it) both sides ( Tx and Rx)
    2. Use SmartRF Studio ( Please download the latest version) on both sides.
    3. Select "Data Rate 1.2K, Mod: ASK" from Typical settings
    4. Use default configuration for both Tx and Rx sides.
    5. Just change the Frequency to the desired Frequency on both sides ( Tx and Rx).
    6. On the Tx side, select Packet Tx tab and on the Rx Side select Packet Rx Tab.
    7. Click "Start" button on the Packet Rx and also Start Button on Packect Tx Tabs.
    8. Observe the PER/BER statistics ( just above the Start Button) on the Packet Rx tab.
    9. If everything is good then you should see No Errors or very few errors.
    10. If the above works then change Rx Bandwidth and Data rate as per your requirement and try again. Please refer to SWRA215 for setting up the Registers.
    11. Once everything works fine with your requirements (Freq, Data rate etc..) then export the Register settings and use it in your code.

    Attached is SWRA215 for your ready reference.

    DN-22-swra215e.pdf

    Thanks,

    PM

  • Thanks for the response.

    It’s not a ti board, can’t afford 2x $500 board.

    It’s a amazon special $13  (the chip is Ti CC1101)

    Using  it with Arduino Nano 3.3V

    I’m probably more confused on the signal being transmitted, don’t know how to  make sense of the logic analyses captured data, there is 2 Manchester code mode 01-10 so my sync word could be different but not detected either way, I’m might even start reading the waveform from the wrong bit IDK.

    Yes I have the latest SmartRF Studio, since have no development board I can’t connect to it to observe anything.

    I just opened in offline mode and tried many different register values (obviously the frequency and modulation always the same)

    I can communicate with the 2 board using the demo RX/TX so the do work.

  • Hi,

    You mentioned  the boards can communicate in Tx/Rx Demo.

    What code you used for this Demo? Which modulation (GFSK or OOK) you have used in the Demo?

    Can you try replacing the Register Values (Default - No changes except the Freq and No Manchester) in the code with the Register Settings  of the  "Data Rate 1.2K, Mod: ASK" from SmartRF Studio?

    If the Demo works with the above settings then you can turn on Manchester and try again.

    if the above demo works with Manchester then you can change the data rate to your desired setting and try. For this, please refer to SWRA215 for setting the Reg values.

    Thanks,

    PM

  • Hi,

    Any update on this issue?

    Thanks,

    PM

  • Ordered new radio modules, still not Ti dev as high price tag but based on cc1101.

    instead of arduino now using esp3 with different library.

    Demo still works between 2 board 433.92Mhz 4.8k ASK

    Im just not sure how to configure cc1101 to receive this data.

    Short pulse width about 148uS, long is 285uS

  • Hi,

    You could use the RF settings for the shorter duration pulse(148us) and see if you get SmartRF studio to receive anything.

    Also, if you are not using sync and preamble you will have to use serial mode (see section 27 in datasheet) and decode the received packet with softwareopn MCU.

    Thanks.

  • Thanks for all the reply's, unfortunately i wasn't able to configure CC1101 for packet handling and ASync mode was to noisy despite many different AGC setting, a $2 AKS receiver and capture and identify data much cleaner.

    Thanks