There are a lot of options for local weather stations; most of them, however, are sensors tied to a base station, often requiring an internet connection to access all features. [Vinnie] over at vinthewrench has published his exploration into an off-grid weather station revolving around a Raspberry Pi and an RTL-SDR for communications.
The weather station has several aspects to it. The main sensor package [Vinnie] settled on was the Ecowitt WS90, capable of measuring wind speed, wind direction, temperature, humidity, light, UVI, and rain amount. The WS90 communicates at 915 MHz, which can be read using the rtl_433 project. The WS90 is also available for purchase as a standalone sensor, allowing [Vinnie] to implement his own base station.
For the base station, [Vinnie] uses a weatherproof enclosure that houses a 12V battery with charger to act as a local UPS. This powers the brains of the operation: a Raspberry Pi. Hooked to the Pi is an RTL-SDR with a 915 MHz antenna. The Pi receives an update from the WS90 roughly every 5 seconds, which it can decode using the rtl_433 library. The Pi then turns that packet into structured JSON.
The JSON is fed into a weather model backend that handles keeping track of trends in the sensor data, as well as the health of the sensor station. The backend has an API that allows for a dashboard weather site for [Vinnie], no internet required.
Thanks, [Vinnie], for sending in your off-grid weather station project. Check out his site to read more about his process, and head over to the GitHub page to check out the technical details of his implementation. This is a great addition to some of the other DIY weather stations we’ve featured here.

I’m using an Ambient Weather WS-5000, blocked from internet (base station and pile of various ~900Mhz sensors), and pushing data to a handler under intranet-only IIS that stuffs to custom SQL Express tag database. Intranet website serves up data to local clients. Having fun with data presentation and local IoT / “thing” integration.
The WS-5000 is simple and just issues http request on interval w/ data in query params to a specified endpoint. Easy to consume.
For me, using a Raspberry Pi as an off-grid application is contradictory. Way too much overhead. Way too much power consumption just to transmit a few bits of data. An ESP32 LORA device with rtl_433_esp costs less and consumes a fraction of the energy. It’s much more resistant to disruptions. Works for days, even when the panels are snow-covered. All the Docker stuff can still be processed in the house. Efficiently with dozens of other tasks. I feel sorry for all the powerful Raspberry Pis being thrown at small problems.
Agree.
I think LoRa’s not even necessary here unless you’re in a very crowded space or need very long distance. I run my outdoor sensors on an ESP32C3, with solar using a cheap ($15, I think it was at the time, pre-2025) USBC panel w/integrated battery/BMS, and transmit over regular 2.4GHz WiFi.
I plan to iterate on that to use custom 2.4GHz via ESPNow in mid-Spring (when I’m less nervous about touching my thermostat system) so I don’t have to spend so much radio-on time doing handshakes and connecting, and change the program to update every 2 minutes like my indoor sensors, instead of the 5 minute intervals it does now (5 minutes is totally fine for the weather data I use it for, but I need to pretend I have a reason for increasing its efficiency). At 5-minute intervals, I’ve never lost power, even though it’s been almost nothing but clouds and snow for the past month.
They all report to the big brains of the operation, an underutilized Le Potato, which is the thermostat (controls the relays) and handles web server duties (including database management for graphs) and controls the irrigation relays (also using ESP32C3s).
BUT, if everyone liked the same flavor of ice cream, we would live in a very dull world indeed.
LORA IS necessary in this case, because it replaces the SDR-Dongle equivalent of the RasPI.
If you want to send the data over LORA you need a second Module. But as i assume from the article, the build here does send the data over WiFi…
I”m going to use my ESP32-C6 with Zigbee. I have a Zigbee network collecting all kinds of data so the C6 is a natural for this type of project.
Pricing for these sure went through the stratosphere and never returned to the ground level where it is needed.
Year or two ago I scored a disused/non-working wireless bundle for nada ~$60 including S&H. It even arrived in its original packaging, but I digress. That’ about the price of the sensors, and it sure as **** doesn’t need $200+ additional wares, a lowly/ordinary $8 ESP32 wifi (or ble) talking to another $8 ESP32 (or your cell phone) is all you really need, given you want to invest some time.
It goes like this – ALL of these sensors have plugin wires. You unplug them from the transmission unit and plug into your own unit you make. Could be fancy-shmancy 915mhz, too, tho, since it is line-of-sight near location, theoretically, even a low power AM transmitter made with 2n2222 would work. Because sensor readings are THAT simple.
Most of these weather stations you can buy just push 915mhz. All the “cloud” stuff is in the base station. You can usually toss all that in the trash and just use rtl_433 to your own ends. I’ve been doing this with an Ambient Weather ws-2902 for years.
My favorite kind of post: one that’s not just another YouTube link!
This guys blog is worth a browse – lots of good stuff from tech to farming to cooking bacon, well organized, written and explained.
Neat project and that WS90 looks like a really nice piece of kit, just a little too expensive for my frugal blood. Round about four years ago I was sitting on the couch looking out the back windows around Christmas time and noticed something new at the properly line with my neighbor off in the distance. “Huh.” He said.. “The neighbor has a new weather station. Neat.” About two minutes later it clicked; “Nah. WE have a new weather station!”
Already years deep in home automation via Home Assistant and decades of playing with RF, I added an RTLSDR dongle to my server, installed rtl_433 and configured it to push the json output to an MQTT broker in Home Assistant displaying all the live weather data on my dashboard. With the same setup I also discovered the beacon from my “smart” natural gas meter which I’ve also been able to include in HA. REALLY wanted water and electricity, too, but was never able to locate anything from either of those even after extensive research into the exact models of meters my city uses. Best I can tell, the electric meter could be using a zigbee mesh network, but once again I was unable to find anything related sniffing around 2.4ghz.
If any of you haven’t played with these sdr dongles and rtl_433, I recommend checking it out. Across the various ISM RF Bands, you’ll find all kinds of…. interesting things! Weather sensors, home security devices, gate remote controls, TPMS beacons from cars..