CC1101 - No emission of signal

Hello,

I am discovering the ESPHome with newly bought ESP32-NodeMCU.
I have a home portal that I can open with a remote controller, I already cloned the signal to another remote controller ( 433Mhz).

Now, I would like to automatize, however I am not able to send any signal and I'm observing strange things as well.

The context:

I have two ESP32 on which I have plugged-in the same CC1101 controller.

On one of them (let's call it EMMITER), I see a lot of signal incoming (as it is configured for both emitting and receives), on the other one (let's call it RECEIVER as it's dedicated to listenning the EMMITER) I see a signal from time to time.

On the one on which I see a lot of signals, I have a loop which is sending the signal I have captured when pushing the button of my remote controller. However, I never see the signal on the RECEIVER, and the portal is also never reacting.

I have tried multiple configuration (with the help of gemini, sometimes I've let it search alone, other time I have guided it to some posts in this community), none of them work.

Here is my configuration for the EMMITER. The RECEIVER has exactly the same except that there is no trigger to send any signal.

Do you see any issue with this configuration?

esphome:
  name: radio-controller
  friendly_name: Radio Controller

esp32:
  board: esp32dev
  framework:
    type: esp-idf

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "xxxxx+pNZcKl8j1lbqDw="

ota:
  - platform: esphome
    password: "xxxxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Radio-Controller"
    password: "xxxx"

captive_portal:

# Configuration de la communication SPI
spi:
  clk_pin: GPIO18
  miso_pin: GPIO19
  mosi_pin: GPIO23

# Le nouveau composant natif CC1101
cc1101:
  cs_pin: GPIO5 # Ton Pin CSN
  frequency: 433.92MHz
  modulation_type: ASK/OOK
  # Note: Dans cette méthode stricte, on ne déclare pas gdo0_pin ici.

remote_receiver:
  pin: 
    number: GPIO4 # Ton GDO0
    mode:
      input: true
      output: true
      pullup: true
      open_drain: true
    allow_other_uses: true
  dump: all

# Émetteur pour envoyer le signal
remote_transmitter:
  pin: 
    number: GPIO4 # Ton GDO0
    mode:
      input: true
      output: true
      pullup: true
      open_drain: true
    allow_other_uses: true
  eot_level: false # Garde le pin bas après la transmission
  carrier_duty_percent: 100%
  on_transmit:
    then:
      - cc1101.set_idle:
      - remote_transmitter.digital_write: false
      - cc1101.begin_tx:
  on_complete:
    then:
      - cc1101.set_idle:
      - remote_transmitter.digital_write: true
      - cc1101.begin_rx:


# Boucle automatique pour tester la portée

interval:
  - interval: 30s
    then:
      - logger.log: 
          format: "========================================\n📡 TEST CAME - PROTOCOLE 1 (320µs)...\n========================================"
          level: INFO


      - remote_transmitter.transmit_rc_switch_raw:
          code: '011110111010'
          protocol:
            pulse_length: 320
            sync: [1, 31]
            zero: [1, 3]
            one: [3, 1]
            inverted: false
          repeat:
            times: 15
            wait_time: 0s
      - delay: 3s
      
      - logger.log: 
          format: "========================================\n📡 TEST CAME - PROTOCOLE 6 (320µs)...\n========================================"
          level: INFO

      - remote_transmitter.transmit_rc_switch_raw:
          code: '011110111010'
          protocol:
            pulse_length: 320
            sync: [1, 31]
            zero: [1, 5]
            one: [5, 1]
            inverted: false
          repeat:
            times: 15
            wait_time: 0s

      - logger.log: 
          format: "========================================\n📡 ENVOI DU PROTOCOLE 6...\n========================================"
          level: INFO

      # 1. On force la puce en mode ÉMISSION via le bus SPI
      - remote_transmitter.transmit_rc_switch_raw:
          code: '011110111010'
          protocol: 6
          repeat:
            times: 20
            wait_time: 0s
      - delay: 3s
      
      - logger.log: 
          format: "========================================\n📡 ENVOI DU PROTOCOLE 1...\n========================================"
          level: INFO

      - remote_transmitter.transmit_rc_switch_raw:
          code: '011110111010'
          protocol: 1
          repeat:
            times: 20
            wait_time: 0s

sensor:
  - platform: internal_temperature
    name: "Température ESP32 Radio Controller"
    update_interval: 60s

How should we read this?

1 Like

Yeah, are you trying to connect two ESP32 at once?

Hello,

I have two CC1101 and two ESP32 (I bought multiple at onces to have them less expensive).

One of them is used to send the signal (with the interval thing), the other one has the same yaml configuration (except for the name and keys) without the interval thing to avoid it to send messages.

I'm not able to understand if you have problem with transmission or receiving., neither the difference between "signal from time to time" and "a lot of signals". Observe what you get on logs when you transmit.
Is there a reason to complicate life with single pin setup?

I have an issue with the transmission only.
When I activate my remote controller, I correctly see the signal being received.

When I do no action, what I observe is that one of the board (the one that I call EMMITER) is showing me that he receives signals (background noise?), let's say 10 signals per minute, while the second board receives maybe 1 signal perminute.

About:

Is there a reason to complicate life with single pin setup?

No, but I was considering that as the feature is delivered it works. But I'll try with two PINs and let you know.

You might get some hint from the Emitter logs when transmission supposed to happen.

I agree. I have never tried though.
2-pin setup is straightforward, I would use that if I have free pin available on Esp.

2 Likes

Thanks, the 2-PIN worked straightforward.

Nice, you're welcome.