433MHz and RMT, again...
Posted: Tue Mar 05, 2019 4:42 pm
Well, it's me again, I am afraid. The below is a bit lengthy, but I found it necessary. Please bear with me
I am still struggling to get the 433MHz reception stable on the ESP32. While everything seemed to work with a cheap FS1000A sender and the accompanying (equally cheap) green receiver module in a short distance, increasing the range has shown several oddities.
The basic receiver is well known for being bad, so I got me some reportedly better modules: a RXB6, a RXB12 and a SRX882. I even switched the sender to a STX882, that worked slightly better with the cheesy green receiver module.
The results are disappointing, though:
whereas the expected pulse lengths are around 250 (one bit) and 500 (two bits) ticks. The cheap receiver clearly shows these:
So I thought the filter threshold in the rx_config could be wrong - it is set to 100, assuming the regular bit will have at least double that ticks. The documentation is a bit unclear to me here:
What can I do?
Thanks for reading the whole mess
I am still struggling to get the 433MHz reception stable on the ESP32. While everything seemed to work with a cheap FS1000A sender and the accompanying (equally cheap) green receiver module in a short distance, increasing the range has shown several oddities.
The basic receiver is well known for being bad, so I got me some reportedly better modules: a RXB6, a RXB12 and a SRX882. I even switched the sender to a STX882, that worked slightly better with the cheesy green receiver module.
The results are disappointing, though:
- The SRX882 seems to receive plainly nothing. I connected the CS pin to Vcc to get it out of sleep mode of course, but still there is only silence on the data pin.
- The RXB6 and RXB12 modules are behaving similarly: they seem to pick up a lot of noise. I can see the transmitted data coming in (just from the fact that the receiver starts spitting out data), but it is not recognizable any more. This is spiced with occasional "E (805682) rmt: RMT RX BUFFER FULL" messages.
Code: Select all
1:369 0:13
1:296 0:20
1:296 0:37
1:276 0:15
1:239 0:3
1:62 0:9
1:241 0:11
1:297 0:21
1:41 0:27
1:930 0:38
1:197 0:21
1:33 0:37
Code: Select all
1:485 0:505
1:482 0:258
1:237 0:504
1:235 0:261
1:235 0:258
1:238 0:258
1:485 0:256
1:240 0:501
1:486 0:505
1:234 0:262
1:482 0:261
What is "source clock", then? The 80MHz? Then the maximum value of 255 for thresh would mean a mere 3ns. But if the clock is that after the clock divider is applied, the 100 should easily suppress the shorter periods as are shown in the example.In receive mode, channel 0-7 will ignore input pulse when the pulse width is smaller than threshold. Counted in source clock, not divided counter clock.
What can I do?
Thanks for reading the whole mess