LILYGO TTGO LoRa32 V2.1_1.6 915 MHz


I am curious whether anyone had luck in making this board working. Reading though previous posts, it looks like a couple of people had issues. Not sure if they have been resolved. If anyone has been successful, I would appreciate it if you’d point me in the right direction. I am using the PlatformIO set up and going through configuration choices.
In my setup I have some 915 MHz fineoffset transmitters including weather stations and sensors. I currently use a raspberry pi with rtl-sdr and Rtl_433 software. Using the TTGO module and the open gateway would simplify things quite a bit.

Part of the issue with 915Mhz is that some of the devices use 915Mhz are also using FSK Modulation, which is not supported.

But with that said I have ordered an Ecowitt WH51 sensor which operates on 915Mhz using FSK modulation to see if it feasible to get it working.

1 Like

That explains everything! Thank you so much!
I’ll be watching your rtl_433_ESP GitHub repo and will be happy to test when there is an update for this.

I’m currently using a LILYGO LoRa32 915Mhz ESP32 Development Board as my gateways. Is that the same board you’re using? If so it seemed to work for me without any issues. I can look at my configuration later and compare it with yours if you are willing to share.

Thanks Blake. Yes, I am using the same board you are using. But I think my problem is that the only devices that I am monitoring are variations of weather stations made by Fine Offset under different names like Ecowitt. These devices use FSK modulation which is currently not supported by the rtl_433_ESP. Can you tell me what devices you are able to receive and I can try to see if I can get hold one and test them. As for my configuration, I am using platformIO and after trying various starting default environments I ended up with ‘default_envs = lilygo-rtl_433’ . Other configurations changes involved configuring the mqtt broker and wifi which seem to be working. I see messages going to the broker but no devices are getting discovered. Did you have to change anything else?

I really have no clue how to program LOL. But is the code from the RTL SDR thing that works not on Github to copy and paste?
Please don’t beat me up for being stupid.

Well I received my FineOffset WH51 that runs at 915Mhz yesterday and have started the tuning for receiving FSK modulation. And can say that after some tuning, I was able to receive data from the device.

Am currently running thru regression testing of FSK modulation, and reviewing the receiver settings ( Am running a program that tests each setting for a few minutes to find the optimum setting ).

rtl_433_ESP(6): data_output {“model”:“Fineoffset-WH51",“id”:“0d57b7",“battery_ok”:1.0,“battery_mV”:1600,“moisture”:0,“boost”:0,“ad_raw”:45,“mic”:“CRC”,“protocol”:“Fine Offset Electronics/ECOWITT WH51, SwitchDoc Labs SM23 Soil Moisture Sensor”,“rssi”:-36,“duration”:10002}
N: Received message : {“model”:“Fineoffset-WH51”,“id”:“0d57b7”,“battery_ok”:1.0,“battery_mV”:1600,“moisture”:0,“boost”:0,“ad_raw”:45,“mic”:“CRC”,“protocol”:“Fine Offset Electronics/ECOWITT WH51, SwitchDoc Labs SM23 Soil Moisture Sensor”,“rssi”:-36,“duration”:10002}

Wow that’s great news! Awesome progress so fast. The data format looks right. This is what I get from my weather station on raspberry pi rtl_433: from rtt_433
“time”: “2023-05-12 12:12:35”,
“model”: “Fineoffset-WH24”,
“id”: 61,
“battery_ok”: 1,
“temperature_C”: 21.2,
“humidity”: 63,
“wind_dir_deg”: 311,
“wind_avg_m_s”: 7.7,
“wind_max_m_s”: 8.96,
“rain_mm”: 2118.9,
“uv”: 3393,
“uvi”: 8,
“light_lux”: 110747.0,
“mic”: “CRC”
Good luck with the rest of the task.

My bad for not paying attention to this…

I may have missed the part about FSK on your devices. I currently only use a LoRa connection to a heltec ESP32 device that is used essentially as a precense sensor. In my case, the gateway was rather simple.

Hi did you have any success with FSK? I was hoping to use my newly acquired Lilygo to get data from a 433MHz oil level sensor (Watchman). I think this uses FSK which I guess it why it’s not currently supported. Thanks for all the work so far.

It is progressing well, work with heltec/lilygo boards is complete, now shifting to cc1101 boards

Thanks - any way for me to try it (with protocol #43 enabled) on lilygo, is it available in the nightly dev builds or can I build it myself with gitpod? I’m not too experienced with that.

Self hosted builds need the entire tool chain, including rtl_433_ESP. So best to wait

1 Like

I tried the latest version with the entrire toolchain and did was not able to rerecieve any signals. I added these buid flags under [env:lilygo-rtl_433] in environments.iniand tested various combination of having them turned off or on. Is there another flag I am missing to make this work as they did in your tests?

build_flags =
; *** OpenMQTTGateway Config ***
  ;'-UZmqttDiscovery'          ; disables MQTT Discovery
  '-DvalueAsATopic=true'    ; MQTT topic includes model and device
  ; FSK flags
  '-DOOK_MODULATION=false'  ; if ook modulation is false then FSK is used
; *** OpenMQTTGateway Modules ***
; *** ssd1306 Display Options ***

Those are the settings that were used for FSK devices at 915mhz. And the latest development build of openmqttgateway.

With my tests I had a FineOffset WH51 soil sensor, and I had no issues with reception at about 5 meters

I got this working in OMG by incorporating your example in a portable environment file:

default_envs = 


platform = ${com.esp32_platform}
board = ttgo-lora32-v21
; ~/.platformio/packages/framework-arduinoespressif32/variants/.../pins_arduino.h
board_build.partitions = min_spiffs.csv
lib_deps =
build_flags =

; rtl_433_ESP flag 
  '-DONBOARD_LED=LED_BUILTIN'          ; Onboard LED is GPIO 25 on the Heltec Board
  '-DOOK_MODULATION=false'       ; False is FSK, True is OOK

; *** OpenMQTTGateway Config ***
  '-UZmqttDiscovery'          ; disables MQTT Discovery
  '-DvalueAsATopic=true'    ; MQTT topic includes model and device
  '-DGateway_Name="OMG_ESP32_LILYGO"'  ; MQTT Client Name
; *** OpenMQTTGateway Modules ***
; *** ssd1306 Display Options ***
;   -DLOG_TO_OLED=true'         ; Enable log to OLED
;  '-DJSON_TO_OLED=true'
custom_description = For ESP32, Gateway using RTL_433_ESP and RadioLib @915MHz
custom_hardware = ESP32 LILYGO LoRa32 V2.1

the only issue I had was that OMG overwrites the frequency and I had to add the following lines to the config_RF.h file

/*------------------- ZradioSX127x Radio Frequencies ----------------------*/
#ifndef SX1276_FREQUENCY
#  define SX1276_FREQUENCY 915.00

#if defined(ZradioSX127x)
float receiveMhz = SX1276_FREQUENCY;

It works and I receive data from all my devices. I periodically see this in the trace:

bitbuffer_add_bit: Warning: row count limit (50 rows) reached

But it is working great. Thanks again for implementing the FSK in rtl_433_esp!

1 Like

Tks for sharing you successes with the latest release.

For some of the RF setting like frequency, we will be migrating to soft settings in the future, so you should be able to set them via the WebUi.

1 Like

Using rtl_433 - f 915000000 -s 1020K on a PI, I can pick up my Bresser 7-1 Weather Station ,id 43980
I believe the protocol to be #173 Weather Center 7 in 1

I have a TTGO LoRa32 915Mhz and 433Mhz models and have tried setting both to 915Mhz but cannot connect to my Station. I am willing to build a custom image with PaltformIO if need be?

Maybe I am missing something simpler? Any pointers will be most welcome!

The Bresser needs FSK Modulation, so you need a custom build with the same settings as above.

I have a working RTL_433 on a Linux box with the following configuration:

output mqtt://,user=rtl_433,pass=pass,retain=1,events=rtl_433[/model][/id]
hop_interval  60
frequency     915.00M
convert     si
report_meta time:iso:usec:tz

And I am seeing my Gas meter on this setup but when I try to use this configuration above and get it compiled and installed I never see updates side by side when my RTL_433 updates.

Here is what I see in MQTT for the Gas Meter.


Any ideas to check?