ESPHome and 433mhz superheterodyne RF receiver

Hello, I recently purchased a 433mhz rf receiver and transmitter set, and I am encountering some difficulty reading remote codes with ESPHome. Here are the components I ordered: link.

I soldered the antennas to the modules and connected them to a Wemos D1 mini. Finally, is my ESPHome code:

  - id: rf_in
    pin: 
      number: RX
      inverted: True
      mode: INPUT_PULLUP
    dump: all
    tolerance: 50%
    filter: 250us
    idle: 4ms
    buffer_size: 2kb

I have tried my code with and without multiple options such as inverted, tolerance, filter, etc., however I receive no output in the log when operating a 433mhz RF remote near the receiver (I am trying to capture codes to rebroadcast them with the transmitter). The receiver module is labeled RX470C-V01.

As far as I know, I have the module wired correctly, with VCC to 5V, GND to ground, and the data pin to a free pin on the Wemos (I have tried the data pin on the RX pin, as well as D1, D4, and D6.

1 Like

Posting here because Iā€™m interested. I bought a Sonoff RFBridge hoping to get 433 MHz data from my weather station. Apparently because itā€™s not broadcasting an officially recognized remote protocol, the Portisch firmware for the RFBridge isnā€™t going to pass the weather station data back to ESPHome, and thatā€™s a huge disappointment. What youā€™re trying is exactly what I was about to do next, so Iā€™m paying close attention.

What is the specific RF Remote youā€™re using?

I just checked Reddit for any similar projects, and someone suggested this IR configuration. While itā€™s not 433 MHz, itā€™s still a raw data signal, which comes out of the 433 MHz receiver module. Might want to give this a shot.

This Github project page recommends using pin D5 as an input.

Hi, this is the configuration I have:

remote_receiver:
  - id: RF_RCV
    pin: 
      number: D2
    tolerance: 60%
    filter: 350us
    idle: 4ms
    buffer_size: 2kb

It took a while to get it working at all.

1 Like

Hi, I am using the remote from this ceiling fan kit: link

The manufacturer indicates that the remote does in fact run on 433mhz. I tried pin D5 with no luck. I am wondering if it is the fault of the superheterodyne type receiver? My understanding is that it should work better but maybe it is not compatible with ESPHome.

I might try ordering these to see if I get better results.

@challs I tried these settings with no luck.

Is there an FCC ID on the remote or the fan module? The vendor on Amazon actually said ā€˜443 MHzā€™ which seems wildly incorrect, but the FCC review should report the frequency correctly.

Iā€™m not able to find an FCC ID on the remote, and Iā€™m hesitant to unwire the unit in my fan. However, inside the remote I found a crystal oscillator labeled ā€œ13.560ā€ (the resonant frequency). This matches the oscillator crystal on the transmitter I purchased, which also reads 13.560.

Iā€™m not sure if this translates to matching transmission frequencies between the two, but it is all the information I have at the moment.

Edit: Also, in another post the amazon vendor says the unit runs at 433MHz, so I am fairly certain the 443 MHz comment is a typo.

Okay, then itā€™s definitely 433.92 MHz.

13.560 * 32 = 433.92

I might try ordering these to see if I get better results.

I had a lot of problems getting it going at all - you are much more likely to have a problem with your circuit at this stage than it being completely down to the components.

I am using these:

https://www.aliexpress.com/item/1952684664.html?spm=a2g0s.9042311.0.0.69fa4c4ds4Yho8

The circuit looks like this. Sorry I donā€™t have a circuit schematic to hand at the moment.

Try turning on very verbose debug logging. This should give you more information about whether the receiver is working at all.

logger:
  level: VERY_VERBOSE
  tx_buffer_size: 896
  logs:
    remote_receiver.esp8266: VERY_VERBOSE
2 Likes

I was not aware any complex circuitry was necessary for the module to work. Per the manufacturer specs here for a similar item: link, it should be able to be wired directly to an arduino or equivalent. Perhaps it has an issue with the Wemos D1 mini? I wanted to use the superheterodyne module for its better range but I have ordered a standard RF pair to test in the mean time. I will also try verbose logging of my module, I suppose thereā€™s a possibility, although unlikely, it is just dead :rofl:

Donā€™t give up hope, @devjklein. That photo simply shows both the transmitter and receiver connected to the Esp8266 with a LED added. I have a 433 MHz receiver/transmitter pair arriving tomorrow, and will get the receiver module running Tuesday evening or Wednesday some time, using a Wemos D1 mini clone.

Thanks Keith, I too ordered a pair similar to the HiLetgo module you linked, and I am also using a D1 mini clone. Weā€™ll get this figured out. :+1:

1 Like

One thing I noticed is, the module I ordered appears to need 5VDC for Vin. If you wired your module to 3.3VDC Vcc signal, that might explain why itā€™s not returning any data? Is it connected to the USB/5VDC pin on the D1 mini?

Yes, it is on 5V.

1 Like

My 433 MHz receiver/transmitter pairs arrived late this afternoon. Now I just need to find my Wemos D1 mini clones. Weā€™ve got construction going on in the house this week, and finding things is a bit of a challenge right now. :wink:

Fortunately, I had an unused authentic Lolin D32 ESP32 board handy. Set it up with the 433 MHz receiver board on pin 5, and VERY_VERBOSE logging. Holy heck did it ever start spewing a LOT of data received. :crazy_face: Shifting to only VERBOSE logging now that itā€™s clear itā€™s working. Nope, VERBOSE was way too much, too fast, as well.

Found the Wemos D1 Mini clone, still need to cable it up. I have to wonder, can the ESP8266 handle the enormous amount of data coming in? I mean, it should, but you never know. Got it cleaned up, connected, and configured. Itā€™s definitely receiving raw 433 MHz RF data. :slight_smile: Hereā€™s the setup photo, and the ESPHome YAML config:

esphome:
  name: d1mini_433mhz_rcvr
  platform: ESP8266
  board: d1_mini

wifi:
  ssid:     "My_2_4_Ghz"
  password: "12345678"

#
# 433 MHz receiver board
#
remote_receiver:
- pin:
    number: D5
    mode: INPUT
    inverted: True
  dump:
  - raw: {}
  - rc_switch: {}
  tolerance: 75
  filter: 500us
  idle: 100ms

# Enable logging
logger:
  level: DEBUG

# Enable Home Assistant API
api:
  password: "12345678"

ota:
  password: "12345678"
1 Like

It mostly handles it okay if logging is not set to verbose, although I do occasionally get some strange crashes and stack traces which I didnā€™t get to the bottom of yet.

This :point_up: is actually the one receiver nobody should should use because of itā€™s insane noise (which can not be fixed). Itā€™s not superheterodyne (thatā€™s the type you want) anyway.

I definitely noticed the constant noise. Iā€™ve since moved on to directly tapping the 433 MHz signal from the weather station receiver, as another person did.

Sorry Iā€™ve been MIA. I got a similar receiver to yours, however I am facing the same issue of wayyyy too much noise. Iā€™m also not sure that my receiver screw is set correctly, it was not glued in place as it should have been when it arrived.

Hi folks.
Iā€™m doing something very similar. Iā€™m using ā€œthe one receiver that nobody should useā€ lol.
It does not filter out noise. If fact, if you connect it to a speaker, you will hear the hiss, and any data that comes in.

Mine is connected directly to a PIC microcontroller. This basically continually loops until it detects a ā€˜preambleā€™ of around 8ms. This is doing the work of filtering out the static noise.
After that, it waits for the first bit, then reads in the code.
This is specific timing to what I have created, it canā€™t read anything else.

Once the information has been read, it outputs it over 9600 8n1 serial data into an ESP8266, which in turn sends that out to HA via restful.

I was under the impression that an 8266 on its own wasnā€™t fast enough to capture RF data. I would like to be proved wrong on this as it would make life a lot easier.

Just an observation, that RF receiver is missing an aerial.
For 433Mhz, a 32cm wire should be soldered to the connection at the bottom right, thatā€™s assuming your going to use it again.

Hi guys,

posting here as I spent some time on the topic as well.
I have a RXB6 receiver (Link) which i used with few different 433mhz buttons and door/window sensors with a D1 mini pro / Lolin D32 Pro / and ESP32 DEVKIT DOIT.

Strange thing I realized is behavior is quite different and settings needs to be adjusted accordingly to the board, with D1 mini pro definetly having the more consistent behavior.
I was really surprised by this and canā€™t explain why it is happeningā€¦any idea?