Issues with Lilygo RTL433

I am trying to implement a 433mhz to MQTT gateway for an OpenHab system that I have had running for many years. I am experiencing a few issues.
The gateway is built on a TTGO Lora32 board and I have installed LilyGo 433RTL on the board … all good. The setup was easy and it all went smoothly.

  1. The board restarts about every 50 minutes - I have watched freemem and freestck - these both see quite stable. About every 2 days, the gateway just locks up requiring a power cycle. I have reflashed the board after a full erase AND tried the latest dev version - all with the same result.
  2. Every few minutes, the gateway publishes some ‘rubbish’ to one of the topics I use for monitoring temperature sensors. This generates an error in OpenHab due to a failed JSONPATH transform.
    Message example
    Executing the JSONPATH-transformation failed: Invalid path ‘$.battery_ok’ in ‘{“model”:“Springfield-Soil”,“Soil”:5,“channel”:113,“nnel”:1,“tery_ok”:1,“nsmit”:25.9,“emperature_C”:67,“e_C”:0,“sture”:“ton”," Moisture":-65,“ture”:1154000}’

The topic is actually Conrad-S3318P (that the gateway decodes correctly most times). I also see lots of strange topics for devices that I do not have and can find no source for (eg Rain gauges, smoke detectors etc). The payload sometimes looks valid - other times it is corrupted (like the above).

I have tried everything I can think of - so any suggestions would be appreciated very much.


Try the development version:

Will do.
I’m just trying another board (exactly the same type) and it seems different - it is reporting different sensor types - they actually make more sense. I’ll see if it is stable and report back. I’m running it in parallel on a different base topic.

New board restarted after 3247 seconds :slight_smile:
Trying the dev code now.

Development version does exactly the same thing (stability).
BTW - I’m graphing “uptime” in MQTT Explorer.

If you this issue relates to the hardware I selected, what hardware would you recommend for best stability and range? I’m happy to purchase whatever will work best.

You are also receiving gibberish with the dev version?

I haven’t tried putting the development version into the production environment where OpenHAB is subscribed to its topics.
I did however put version 1.6 on my testing board to monitor stability (in my RF environment) and found that it too randomly restarts about every 3000 to 6000 seconds and then after some time (overnight ) goes unresponsive.

Just a little more info on this issue. I have just noticed that when I have two boards running (one on version 1.6 and one on v1.7) - they both reboot that the same time (within about 5 seconds). This suggests that the issues relates to some 433mhz RF signal that they are both receiving. Unfortunately, I have no way of knowing what that signal is or from where it originates. There are about 45 different 433mhz sources within my environment.

This is a screen shot from MQTT Explorer, Note the highlighted line - published to a Esperanza-EWS topic. It contains data from a Conrad-S3318P device (that I do have). Could this point to an issue?

Could you try the dev version please ?

I have installed the dev version and had it running for about 6 hours. I have not seen any corruption in the MQTT topics so far, but it has published a lot of topics for devices I don’t have, and the LilyGo has rebooted 12 times.

I have had the dev version running for some time now. I have not seen any corrupt data, but the board still re-boots at least every hour (sometimes 5 or 6 times within a few minutes) and locks up every couple of hours. I still see lots of MQTT topics for devices I don’t have.

Would it be possible to capture the serial output when it reboots?

Sure, I’m happy to try. Can you provide some guidance on how that is best achieved?

Just a little guidance please

Of course, you have several possibilities to get the serial logs (from the easiest):
With your board connected by USB

  1. ESP Tool
    Select 115200 as baudrate, connect and start the console. You will see the logs.
  2. Arduino IDE Tools-> Serial Monitor (select 115200)
  3. PlatformIO, even if PIO is easier for developing or building , regarding the serial monitoring it involves a few more steps than the solution above, so this is why I add it as the last option
  • Download VSC visual studio code
  • Add PlatformIO extension
  • Click on the serial button

Once your board is connected and sharing serial logs, the goal is to capture and share a restart.

Note the first solution may not be ideal if the reboot occurs after several hours; I haven’t tested it for a long time.

Just an update on this - sorry it has been a few days, I have been away.
I have installed the latest dev version (7a3fae) on a second board (so I can keep it close to a serial port). It has been up for 4 hours with no issues.
I will report back again tomorrow.

Here is a reboot

N: Send on /RTL_433toMQTT/Smoke-GS558/4085 msg {"model":"Smoke-GS558","id":4085,"unit":19,"learn":0,"code":"31feb3","protocol":"Wireless Smoke and Heat Detector GS 558","rssi":-41,"duration":1561000}
N: Send on /RTL_433toMQTT/Esperanza-EWS/2/106 msg {"model":"Esperanza-EWS","id":106,"channel":2,"battery_ok":1,"temperature_C":5.05556,"humidity":0,"mic":"CRC","protocol":"Esperanza EWS","rssi":-64,"duration":908996}
N: Send on /RTL_433toMQTT/GT-WT02/2/90 msg {"model":"GT-WT02","id":90,"channel":2,"battery_ok":1,"temperature_C":-178.2,"humidity":100,"button":0,"mic":"CHECKSUM","protocol":"Globaltronics GT-WT-02 Sensor","rssi":-41,"duration":2335996}
CORRUPT HEAP: Bad head at 0x3ffea1f8. Expected 0xabba1234 got 0x00000000

assert failed: multi_heap_free multi_heap_poisoning.c:253 (head != NULL)

Backtrace: 0x40083c6d:0x3ffe2bc0 0x4008dd1d:0x3ffe2be0 0x40093ac9:0x3ffe2c00 0x4009371f:0x3ffe2d30 0x40084131:0x3ffe2d50 0x40093af9:0x3ffe2d70 0x4013081d:0x3ffe2d90 0x4013082d:0x3ffe2db0 0x400dd2ad:0x3ffe2dd0 0x400ddba1:0x3ffe2e60 0x400de5ea:0x3ffe2ef0 0x40127849:0x3ffe2fd0 0x401d704e:0x3ffe3010 0x4010d9ba:0x3ffe3030 0x40128e1b:0x3ffe3110 0x401297fd:0x3ffe3130 0x40127b8e:0x3ffe3170 0x400fd333:0x3ffe31a0

ELF file SHA256: c718025f7e4e674c

ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 188777542, SPIWP:0xee
mode:DIO, clock div:2
entry 0x400805e4
************* WELCOME TO OpenMQTTGateway **************
N: Config disc changed: false
N: Config ohdisc unchanged: false
N: SYS config loaded
N: SSD1306 config initialised
N: No SSD1306 config to load
N: Setup SSD1306 Display end
N: OpenMQTTGateway Version: 46160c
N: Config loaded from flash
N: Attempting Wifi connection with saved AP: 0
N: OpenMQTTGateway URL:
N: ZwebUI setup done
N: RF Config not found using default
N: Enable RTL_433 Receiver: 433.92Mhz
N: ZgatewayRTL_433 setup done 
N: OpenMQTTGateway modules: ["LilyGo_SSD1306","WebUI","rtl_433"]
N: ************** Setup OpenMQTTGateway end **************

1technophile - I hope this capture helps. Just let me know if you want me to do any testing to further this - very happy to help.