Summary
The hardcoded radio.SPIsetRegValue(RADIOLIB_CC1101_REG_AGCCTRL2, 0xc7) in src/rtl_433_ESP.cpp (line ~208) makes the receiver effectively deaf to weak OOK signals from cheap 433 MHz remotes. The value caps DVGA gain to the lowest setting and targets a 42 dB IF level — fine for nearby weather stations or high-power sensors, but kills sensitivity for typical low-power keyfobs.
Switching to 0x03 (full DVGA gain available, MAGN_TARGET = 33 dB) dramatically improves reception.
Measured impact
Hardware: M5Stack ATOM Matrix + E07-M1101D CC1101, 8 dBi whip antenna. Signal source: a PT2262-class 433 MHz remote (~10 mW) at ~10 cm from the antenna.
| Config |
RSSI register during press |
Captures in 30s of pressing |
Default AGCCTRL2=0xC7 |
Flat at ~-89 dBm (no swing) |
0 events |
Override AGCCTRL2=0x03 (applied post-init via raw SPI) |
-90 → -20 dBm swing |
24 clean unparsed events with high consensus across retransmissions |
The default value's source comment in the file says "Settings borrowed from lsatan" — suggesting it wasn't independently chosen for this library or tested against weak-OOK signal sources.
Why this matters
A lot of rtl_433 use cases involve cheap sensors and remotes that transmit at low power. Anyone trying to use this library to receive PT2262/EV1527-family signals, garage fobs, doorbells, pyrotechnic cue remotes, etc. is likely to hit this same wall. In our case we spent hours convinced our wiring or antenna was bad before tracing the deafness to AGCCTRL2.
Proposed fix
The safer option is to expose this via a build flag so users can override without touching the library source:
#ifndef CC1101_AGCCTRL2
# define CC1101_AGCCTRL2 0xC7
#endif
// ...
state = radio.SPIsetRegValue(RADIOLIB_CC1101_REG_AGCCTRL2, CC1101_AGCCTRL2);
Paired with a README note explaining that weak-OOK use cases (sub-GHz remotes, keyfobs) often need -DCC1101_AGCCTRL2=0x03.
A bolder fix would be to change the default outright to 0x03. That would dramatically improve out-of-box reception for the cheap-remote use case, but could regress users who have tuned around the current value, so the build flag is probably the right tradeoff.
Happy to submit a PR for the build flag approach. Let me know if you'd prefer a different design.
Summary
The hardcoded
radio.SPIsetRegValue(RADIOLIB_CC1101_REG_AGCCTRL2, 0xc7)insrc/rtl_433_ESP.cpp(line ~208) makes the receiver effectively deaf to weak OOK signals from cheap 433 MHz remotes. The value caps DVGA gain to the lowest setting and targets a 42 dB IF level — fine for nearby weather stations or high-power sensors, but kills sensitivity for typical low-power keyfobs.Switching to
0x03(full DVGA gain available, MAGN_TARGET = 33 dB) dramatically improves reception.Measured impact
Hardware: M5Stack ATOM Matrix + E07-M1101D CC1101, 8 dBi whip antenna. Signal source: a PT2262-class 433 MHz remote (~10 mW) at ~10 cm from the antenna.
AGCCTRL2=0xC7AGCCTRL2=0x03(applied post-init via raw SPI)The default value's source comment in the file says "Settings borrowed from lsatan" — suggesting it wasn't independently chosen for this library or tested against weak-OOK signal sources.
Why this matters
A lot of
rtl_433use cases involve cheap sensors and remotes that transmit at low power. Anyone trying to use this library to receive PT2262/EV1527-family signals, garage fobs, doorbells, pyrotechnic cue remotes, etc. is likely to hit this same wall. In our case we spent hours convinced our wiring or antenna was bad before tracing the deafness to AGCCTRL2.Proposed fix
The safer option is to expose this via a build flag so users can override without touching the library source:
Paired with a README note explaining that weak-OOK use cases (sub-GHz remotes, keyfobs) often need
-DCC1101_AGCCTRL2=0x03.A bolder fix would be to change the default outright to
0x03. That would dramatically improve out-of-box reception for the cheap-remote use case, but could regress users who have tuned around the current value, so the build flag is probably the right tradeoff.Happy to submit a PR for the build flag approach. Let me know if you'd prefer a different design.