ESP32 and SX1278 (Ai Thinker Ra01 and Ra02) reception

Looking at this change


You only applied it to pulse_demod_manchester_zerobit and not the other decoders. Was that an oversight or ???

For my test I applied it to all decoders

And quickly rolled that back, as it was a very negative.

I only have the Oregon-CM160 which sends pulse_demod_manchester_zerobit and therefore will not be able to test others. So not an oversight, but intentional.

Results after running for 24 hours

Looking at the results

North LilyGo ( Release 0.1.6 )

7 Devices constituently being received and about 10 phantom devices

LilyGo Test B ( Signal Length Fixes )

7 Devices constituently being received and about 15 phantom devices
Of note:

Acurite Tower 5989 count is about 1/6th of the other acurite towers
Philips Temperature showed up ( this was the device with the signal length issue )
Acurite 986 - 20452 Disappeared

South LilyGo ( Signal Length Fixes and Receiver Tuning )

9 Devices constituently being received and about 3 phantom devices
Of note:

LaCrosse TX141 BV3 152 Disappeared - It is physically the furthest away from the test setup

For reference sensors in my setup I have a total of 10

2 x LaCrosse Bv3
3 x Acurite-Tower
2 x Acurite 986 ( These are in my fridge and are I find are very hard to receive )
1 x LaCrosse TX141W
1 x SkyLink Motion
1 x Philips Temperature

1 Like

As you said, each one’s mileage might vary, at the moment the CM160-watt meter on my test SX1278 device only works correctly with my customizations. I tried again the current release of OpenMQTTGateway. Also seperate test with SignalStartEndTuning. By itself no luck receiving successful packets at the location of the device.

Something to consider, I have a remote unit that stopped working and the only way to get it working again was to reset the radio using reset method on init.

@NorthernMan54 , sorry to bug, would you be able to test my changes again GitHub - diepeterpan/rtl_433_ESP: Trial port of the rtl_433 Library for use with OpenMQTTGateway on a ESP32 and a CC1101 Transceiver (master) but using the following RTL_433 compile DEF for your device.

; *** rtl_433_ESP Options ***
‘-DONBOARD_LED=LED_BUILTIN’
; ‘-DRTL_DEBUG=4’ ; rtl_433 verbose mode
; ‘-DRTL_VERBOSE=58’ ; LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth sensor
; ‘-DRAW_SIGNAL_DEBUG=true’ ; display raw received messages
; ‘-DMEMORY_DEBUG=true’ ; display memory usage information
; ‘-DDEMOD_DEBUG=true’ ; display signal debug info
; ‘-DMY_DEVICES=true’ ; subset of devices, hopefully the ESP has less to do
‘-DDISABLERSSITHRESHOLD=true’ ;
‘-DMINRSSI=-96’ ; we need to be a bit more sensitive :wink:
; ‘-DPUBLISH_UNPARSED=true’ ; publish unparsed signal details
; ‘-DRSSI_THRESHOLD=12’ ; Apply a delta of 12 (default 9)
‘-DOOK_FIXED_THRESHOLD=15’ ; Inital OOK Threhold - Only for SX127X
; ‘-DAVERAGE_RSSI=5000’ ; Display RSSI floor ( Average of 5000 samples )
; ‘-DSIGNAL_RSSI=true’ ; Display during signal receive

I will definitely test your changes, just need a few days ( in the middle of some other testing ).

Are their other Changes besides the compiler directives ?

I’m currently running this branch which is a mix of our changes so far, and will update it.

Do you want to do an initial pull request with your other changes ( the documentation on your setup etc )

Yes there are other changes, again things like the kbps with radio setup, but together with the compiler directives seems to work well. Let’s see after your testing whether it is worth to continue with or if any ideas come from it.

Just another interesting observation, where the antenna of the radio is not integrated or supplied with the ESP32 radio module there might need to be an adjustment required of MINRSSI and OOK_FIXED_THRESHOLD. I switched out the antenna om my Ai Thinker R02 which now have much better RSSI values and now use the following:

; *** rtl_433_ESP Options ***
‘-DONBOARD_LED=LED_BUILTIN’
; ‘-DRTL_DEBUG=4’ ; rtl_433 verbose mode
; ‘-DRTL_VERBOSE=58’ ; LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth sensor
; ‘-DRAW_SIGNAL_DEBUG=true’ ; display raw received messages
; ‘-DMEMORY_DEBUG=true’ ; display memory usage information
; ‘-DDEMOD_DEBUG=true’ ; display signal debug info
; ‘-DMY_DEVICES=true’ ; subset of devices, hopefully the ESP has less to do
‘-DDISABLERSSITHRESHOLD=true’ ;
‘-DMINRSSI=-88’ ; we need to be a bit more sensitive :wink:
; ‘-DPUBLISH_UNPARSED=true’ ; publish unparsed signal details
; ‘-DRSSI_THRESHOLD=12’ ; Apply a delta of 12 (default 9)
‘-DOOK_FIXED_THRESHOLD=15’ ; Inital OOK Threhold - Only for SX127X
; ‘-DAVERAGE_RSSI=5000’ ; Display RSSI floor ( Average of 5000 samples )
; ‘-DSIGNAL_RSSI=true’ ; Display during signal receive

Personally I find it better with automatic setting of the threshold, as I don’t need to worry about the level of background noise in my environment. The logic watches the RSSI level, and adjusts it every RSSI_SAMPLES. If you want more sensitivity would it make more sense to adjust RSSI_THRESHOLD ?

Currently in my ecosystem it is sitting at -91

‘-DOOK_FIXED_THRESHOLD=15’ ; Inital OOK Threhold - Only for SX127X

Have you read the section in the data sheet in regards to OOK Threshold ? I had started working thru automated threshold adjustment, but did not get it complete. I did find though that based on the approach in the datasheet, 90 was a pretty good value.

@diepeterpan Just loaded this into my environment, and started testing.

After about an hour of running

LilyGo TestB - Branch Signal Tuning and Receiver Tuning

North - V1.0.6

South - Your code base

So far your code base looks really good.

And 24 hours later

@diepeterpan This is looking really good

:+1: :+1: from @NorthernMan54 and myself - as he is restricted from this thread until someone else puts a post in :wink:

@diepeterpan I’m impressed with how well your changes work, and was going to promote them. Do you have any further changes ?

No additional changes since request 15d ago.