Every mesh conversation eventually lands on the same question: how far will it actually go? Not the theoretical LoRa number from a mountaintop in a press release, but the range you get in the real world, with real trees and real hills in the way. So we set out to answer it the hard way.
We took three popular boards, a Heltec WiFi LoRa 32 V4, a Seeed Studio XIAO nRF52840 & Wio-SX1262 kit, and a RAK Wireless 1W LoRa booster kit built on the RAK3401, configured each one as a standard MeshCore repeater, and put them side by side about 50 feet in the air. Then we drove around rural South Carolina pinging them and logging every result.
It started as a head-to-head comparison. It ended up as something more useful: an honest coverage check of what a MeshCore repeater at 50 feet can do in the tree-heavy Southeast. Big thanks to Circle B Rentals for letting us borrow the lift.
The Build: Three Repeaters on One Plate
This whole thing came together fast. We decided on a Friday to test MeshCore that weekend, so the hardware was built in about two days. The repeater mount is a plate of 1/4 inch acrylic with small brackets holding USB-C connectors, which means the modules are interchangeable. If we want to swap a board out, it unplugs and something else goes in.
Power is about as simple as it gets. A small splitter lets one USB power bank run all three devices, so the whole plate can hang from the lift with no extra wiring. The RAK kit was still in the mail while we were building, but it made it onto the plate for the test.
A couple of setup notes worth sharing. All three repeaters were set to 911 MHz instead of 910 so we wouldn't step on the MeshCore network that's already running in the area. And when we flashed the Heltec V4 as a repeater, the transmit power came up at 10. We raised it to 22, and the configuration wouldn't let us go higher, even though the V4 hardware is rated well above that.
One thing Heltec does better than the other two: flashing. With the V4 you use a web flasher right from the browser. No programmer, no compiling, no JTAG, nothing to install on your computer. The first time I did it, I just said "wow." Web flashers have made getting started with this stuff dramatically easier.
The Rover and the Test Software
The rover node is a Heltec V4 running as a USB companion. It lives in a small plastic case with neodymium magnets on the back, a U.FL connector for the antenna, and a USB-C connector, so any module can be dropped in and tested on the roof. Copper tape inside adds a little ground plane, maybe some shielding, and a bit of thermal protection. On top we ran a small 5 dBi antenna, plus a small GPS antenna.
We had to use a Toyota for this job. The Ford has an aluminum roof, and magnets don't care how good your plan is.
The test software was written specifically for this. It finds the companion on whatever serial port it's on, then cycles through the three repeaters sending zero-hop pings. Each repeater replies with how it heard us, signal level and SNR, and we record how we heard it back. That gives a full two-way signal report for every ping, stamped with a GPS position so we know exactly how far we are from the lift. The plan was to collect all of it and put it on a coverage map.
What the Drive Test Showed
With the plate at about 50 feet (the lift goes up 35 feet, and we added roughly 15 more on top), we headed out. Here's how it played out by distance. All numbers are SNR in dB as reported during the drive.
Close In
Right at the start, all three were answering with nearly identical SNR: 11.5, 12.8, and 12.2. Before we left, I said I'd be surprised if we made it a mile. I ended up taking that back.
1 to 1.3 Miles
Around the one mile mark, the Seeed and RAK both timed out while the Heltec kept answering. Then everything came back. At 1.1 miles we had 6.2 on the Seeed, 6.8 on the RAK, and 9.5 on the Heltec. At 1.3 miles the Seeed and RAK were around 10.8 and the Heltec was at 12.2. That's very good for that distance.
1.6 to 2.2 Miles
This is where it got shaky. At 1.6 miles we lost all three, then the Heltec came back. At 1.9 miles we heard nothing. At 1.8 miles on another stretch, all three came back with the Seeed leading at around 11, the RAK at 10, and the Heltec at 9.5. At 2.2 miles the Seeed had 11.2, the Heltec 10, and the RAK 9.8. The leader kept changing.
3 Miles and Beyond
By about 3 miles, the repeaters were missing more often than they were answering, so we turned around. Our best maximum for all three was 3.1 miles on that route. In the direction with good, direct line of sight, we got about 4 miles. In the other direction, through lots of trees, we couldn't even make a mile.
The Dirt Roads
Out on the famous South Carolina dirt roads, next to a peach field, we were 1.7 miles out with all three running and an average SNR of about 3 to 4. They bounced around enough that there was no winner at all.
Why the Numbers Bounced Around
A few things made this messier than a lab test, and they're worth knowing if you try something similar.
- Sequential pinging while moving. The software pings one repeater, then the next. A couple of seconds between pings at driving speed means a different spot, different elevation, and different obstacles. Stopping periodically gave cleaner comparisons than rolling.
- Antenna spacing. The three antennas sat in a row with less than a full wavelength between them. We joked that we may have accidentally built a Yagi. Joking aside, they almost certainly interact, and an omni antenna still has lobes in its pattern. We should have spaced them further apart.
- Which antenna faced us. On the way back at 0.6 miles, one cycle showed the Seeed at 2, the RAK at 2.5, and the Heltec at 10.5, and the next showed 1.2, 0.5, and 9.5. That's a huge gap at short range, and the best explanation we had was antenna position on the plate. I believe the Heltec was on the end facing us.
- Time of day. We ran the test in the heat of the day, which is likely the worst propagation of the whole day.
- Possible software quirks. A few times, dropouts seemed to happen right as we started moving again. That could be multipath, or it could be something in the software. We haven't ruled out either one.
Calling this a three-device comparison would be wrong. It turned into a coverage check, and the coverage map is drawn by the trees, not the radios.
Key Takeaways
No winner. The Heltec was the one we expected to come out ahead, and near the end of the run it was consistently the strongest, with readings like 11.2 against 10 and 9.5 at 0.6 miles, or 12.5 against 11.5 and 6.2 at 0.9 miles. But at other points the Seeed and RAK led. When the spread is 9.5 versus 11.5 SNR, that's a small difference. Pick any of these three and you'll get roughly the same results. Those extra milliwatts may give a slightly better signal, but I don't think they're worth chasing on their own.
Plan on a repeater about every mile. At 1 mile we had great coverage. Between 1.5 and 2 miles, it starts to fall apart. Past 2 miles it's unstable unless you have clear line of sight. If we built a network here, we'd need a repeater roughly every mile, and that's a lot of repeaters.
Line of sight is everything. The pine trees are the biggest problem mesh networks face in the Southeast. I think we're both a little spoiled by VHF, where going from 1 watt to 4 or 5 watts makes an impressive difference.
Mesh or GMRS?
This test raised a fair question: if a mesh network needs this much infrastructure, what does it give you that a GMRS repeater wouldn't? It's a hard one. Mesh nodes are much cheaper to get started with, which makes it easier to bring people in. But the amount of infrastructure needed in terrain like ours offsets that, and a GMRS repeater ends up cheaper for the same coverage. That's not the answer I wanted to give, but it's the true one.
That doesn't mean mesh isn't worth doing. It means you should go in with realistic expectations, put your repeaters high, and pick sites with a clear view rather than the most convenient pole.
The Hardware: Key Specs
Heltec WiFi LoRa 32 V4
ESP32-S3 with a Semtech SX1262 LoRa radio, 16MB flash and 2MB PSRAM. Heltec rates the high-power version at 28 ±1 dBm transmit. It adds a solar panel input and a GNSS connector over the V3, and it can be flashed from a web browser.
Seeed XIAO nRF52840 & Wio-SX1262
A Nordic nRF52840 paired with Seeed's Wio-SX1262 module, covering 862 to 930 MHz. The Wio-SX1262 module is rated at up to 22 dBm transmit with very low sleep current.
RAK3401 1W Booster Kit
A RAK3401 WisBlock core (nRF52840) on a RAK19007 base board with the RAK13302 LoRa booster module, which pairs an SX1262 with a power amplifier, LNA, and RF filter. RAK says the hardware can reach about 1 watt, with about 24.5 dBm listed for its US FCC-certified configuration.
Test Setup
All three repeaters on 911 MHz, mounted together about 50 feet up on a scissor lift. Rover: Heltec V4 USB companion with a roof-mounted 5 dBi antenna and GPS, sending zero-hop pings and logging two-way SNR.
Frequently Asked Questions
How far can a MeshCore repeater reach?
With repeaters about 50 feet up in wooded South Carolina terrain, we had solid coverage out to about 1 mile, usable but intermittent coverage from 1.5 to 2 miles, and 3 to 4 miles only with good line of sight. Through heavy pines, we couldn't hold even a mile.
Which repeater had the best range: Heltec V4, Seeed XIAO, or RAK?
None of them, really. The Heltec V4 was often strongest at shorter distances, but the Seeed and RAK led at other points. The differences were usually a couple of dB and bounced around constantly. Terrain and antenna placement mattered far more than the board.
What is a zero-hop ping in MeshCore?
It's a direct ping to a repeater that isn't relayed through any other node. The repeater reports how it heard you, including signal level and SNR, and you see how you heard it, so you get a signal report in both directions.
Do trees really affect LoRa range that much?
Yes. We reached about 4 miles with a clear path and couldn't make a mile through dense pines in another direction. In the tree-heavy Southeast, plan on a repeater roughly every mile for reliable coverage.
What transmit power do these boards support?
Per the manufacturers, the Heltec V4 high-power version is rated at 28 ±1 dBm, the Wio-SX1262 module in the Seeed kit at up to 22 dBm, and the RAK3401 booster kit can reach about 1 watt in hardware, with about 24.5 dBm listed for its US FCC-certified configuration. In our setup, the Heltec repeater configuration wouldn't go above 22.
Is a mesh network or a GMRS repeater better for local coverage?
Mesh is much cheaper to start with and easier to get people into. But if your terrain needs a repeater every mile, the infrastructure adds up, and a single GMRS repeater can be the cheaper way to cover the same area.
Conclusion: The Radio Matters Less Than the View
We went in wanting to crown a winner and came out with something better: real numbers on what MeshCore does from 50 feet up in pine country. About a mile of solid coverage, up to 2 miles of maybe, and 3 to 4 miles only when the terrain gets out of the way. Honestly, everything worked a little better than I expected, and none of the data surprised me.
If you're picking between the Heltec V4, the Seeed XIAO kit, and the RAK booster kit for a repeater, you'll get roughly the same range from any of them. Spend your real effort on getting the antenna high with a clear view.
We collected a lot of data on this run, and there's more analysis to do. Two lessons for next time: space the antennas further apart, and stop more often to take readings instead of pinging on the move.