Continuous signal transmission and decoding issues with CC1101 433 MHz module

I'm encountering some problems while working with a 433 MHz module (V2.0 E07-M1101D) and an Arduino, and I would greatly appreciate any assistance or insights from the community.

The main issues I'm facing are:

  1. Continuous Signal Transmission:
  • I'm trying to send a very short signal, like the ASCII character "a", but the signal is being transmitted continuously without stopping.

  • I would expect the signal to stop after a short period, but it keeps being sent indefinitely.

  • As you can see from SDR# the signal from some reason does not halt even though the data is very short:

  1. Decoding the Signal:
  • When analyzing the recorded signal in Audacity, I'm unable to decode any meaningful information from it.
  • The expected ASCII value of "a" (97) is not being decoded from the signal, it is just a continuous sine wave, not ASK modulated:

Here's the code I'm using:

#include <ELECHOUSE_CC1101_SRC_DRV.h>

void setup() {
  int gdo0 = 6;
  int gdo2 = 2;
  Serial.begin(9600);

  if (ELECHOUSE_cc1101.getCC1101()) {
    Serial.println("Connection OK");
  } else {
    Serial.println("Connection Error");
  }

  ELECHOUSE_cc1101.Init();
  ELECHOUSE_cc1101.setGDO(gdo0, gdo2);
  ELECHOUSE_cc1101.setModulation(2);
  ELECHOUSE_cc1101.setMHZ(433.92);
  ELECHOUSE_cc1101.setPA(12);
}

void loop() {
  ELECHOUSE_cc1101.SendData("a", strlen("a"));
  delay(5000);
}

Additional Information:

  • I'm using the ELECHOUSE_CC1101_SRC_DRV library version 2.5.7.
  • My receiver setup uses an RTL-SDR dongle.

Expected Behavior:

  • When sending the ASCII character "a", I expect the data to be encoded as the ASCII value 97.
  • I anticipate the signal to be transmitted for a short duration and then stop.

I've tried various configurations and settings, but I haven't been able to resolve these issues. If anyone has experience working with this module or has encountered similar problems, I would greatly appreciate any suggestions, troubleshooting tips, or code modifications that could help me send short signals and properly decode the transmitted data.

As for the wiring,
I did it according to SmartRC-CC1101-Driver-Lib/img/Nano_CC1101.png at master · LSatan/SmartRC-CC1101-Driver-Lib · GitHub and took the example of Arduino Nano even though I'm using Arduino Uno

And the pinout of my E07-M1101D I took from:
rtl_433_ESP/docs/E07-M1101D-TH_Usermanual_EN_v1.30.pdf at main · NorthernMan54/rtl_433_ESP · GitHub

Thank you in advance for your assistance!

My guess is that you are just seeing spurious signals from the on-chip 433 MHz oscillator.

The burst to send the "a" would be extremely short, every 5 seconds, and not easy to catch. Try putting the radio to sleep between transmissions, moving it across the room from your bench, and send longer bursts of data much more frequently.

From the data sheet:

That was very helpful and put me on the right direction, thank you :slight_smile:
In order to see the real data I sent I was changing the baud rate to very small value like so: ELECHOUSE_cc1101.setDRate(0.02);

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.