-
Notifications
You must be signed in to change notification settings - Fork 453
Improve Heltec v4 RX reception with undocumented register patch #1398
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
|
UPDATE (2026-01-22) - Repeater builds: heltec_v4_repeater-1.11.0-pr1398-builds2.zip pr1398-boost_on - Standard build without any extra flags (Boosted Gain on) ==== [OLD BUILDS] Repeater builds for testing: pr1398 - Standard build - without any extra flags |
|
@Socalix thanks for this spinoff. It would get more traction if you embed the table from your last post in the other PR with the results. Would you do me a favor for the letsmesh MQTT output the debugging should be off to keep my RS232 stable. Could you build a set with this flag only? I love to test the files. Build firmware with the -D MESH_PACKET_LOGGING=1 flag enabled using PLATFORMIO_BUILD_FLAGS. PS: I have a cavity I could test with the RX boosted gain also. But not want to mesh up your PR. Let me know. |
|
I guess that this patch can also be applied to the Heltec Tracker v2. |
See also this branch: https://github.com/weebl2000/MeshCore/tree/semtech_patch - I've added it for Heltec Tracker v2 there. I'm not sure about the boosted gain=0. For me it seems boosted gain still improves reception. |
Good idea. PR summary updated with testing information.
Updated the zip file above with a new "pr1398-packetlog" and "pr1398-boost-packetlog" builds. |
Yes, you can simply add |
Thanks my second V4 arrived today going to test on the similar antennas. |
|
Thanks for this fix! I've been tying to get my v4 node connected to the area mesh, and though I could TX fine (packets seen on analyze.letsmesh.net), I rarely was getting responses. Tried 5 different antennas. This branches firmware seemed to have solved all the issues for me. |
@spiralshapeturtle Thank you for testing! Yep, I'm "lucky" to be the only one running Meshcore around me.. :)
Looks like the one without the RX Boosted Gain has around 3db lower noise floor, which could translate to 2% more lower-signal packets getting picked up. Of course can also be antenna and location related, so switching things around will be interesting. Since you have 6% TX, I wonder if having both repeaters running next to each other at the same time means that we're seeing them helping each other get more packets? i.e. only one repeater hears the original packet and the other repeater hears the packet from the first one repeating it, so the RX % will be similar. |
|
@Socalix test without TX mode. Firmware: 1.11.0-pr1398-boost-packetlog-4575800 (Build: 15-Jan-2026) Well I have run them without TX for a while and I put the SNR/RSSI values into claude.ai. Below the summary which I can reuse upcoming week after swapping the pigtails today. Im only swapping the IPX connector on the boards and keep everything the same. As stated earlier I have to different antennas so that could still be a factor to mitigate by swapping the connectors. WARNING below is an AI generated summary. |
|
Here is a big question and I'm hoping someone can help. How can we use this running Powersaving10 firmware so that we can turn off the LNA pre-amp at noisy tower sites. This would be a game changer. But we cant use the standard 1.11 firm as it draws to much power. suggestions ? 1/19/2026 update - its there already...... "powersaving on" and your set |
These tests are great! The difference of 20% RX with Boosted Gain and 25% without boost I believe confirms that TX enabled in the prior test let the repeaters "help" each other hear packets, so definitely TX disabled is the right way to test. Also 5% difference by itself may not sound much, but it's 25% better RX over the one with boosted gain. I also agree with the AI summary as it matches my previous tests - boosted gain is reducing the node's ability to hear some packets and causes the SNR overall to be lower. After you complete the test with flipped antennas, it would be great if you don't mind running one more test - pr1398-packetlog vs standard v1.11.0 so that we can see the RX difference there. |
This PR fix includes 2 things:
|
I have the test equipment to test this but my knowledge on how to modify the code is where Iack. Is this a command line entry? what do i download and how how do I bring it up and I'll find the rest. So I have the powersaving10 file and what to do from there? |
I don't know how it works with the file and coding, but I can tell you that on my V4 I can use the "powersaving on|off" command. So it might come with the nightly builds where the power saving is already included for the v1.12.0 release. Just type "powersaving on" For the record my tests are done without powersaving enabled. |
|
Hello guys, I was doing some tests on #1249 and while i was on it I also tried this PR. Here is a crosspost from the findings Hello guys Stock firmware: Reference: 296 messages, V4 received: 284, loss: 4 % |
|
@Socalix I only swapped the antenna IPX connector and now 24 hours later the result is as follow. AI summarized the data.
Firmware: 1.11.0-pr1398-boost-packetlog-4575800 (Build: 15-Jan-2026)
Firmware: 1.11.0-pr1398-packetlog-4575800 (Build: 15-Jan-2026)
PA5B Houten repeater is quite far away from me and that seems to be the differentiator, more on that at the bottom. I asked AI again about the far away repeater, arround 2 PM I changed the antenna cable where you can see the load rising and lowering, so the antenna with the tape label is better. Yesterday the (better) antenna with the tape label was on this node: This 24hours I swaped the (better) tape labeled antenna to this node
|
|
@spiralshapeturtle Can you also clarify which changes the boost-packetlog and packetlog firmwares contain? boost-packetlog -> is this boosted_gain=0 and the register fix? |
#1398 (comment) i just copied this, the only thing I know. |
packetlog = this PR which means register patch and NO boosted gain flag turned on. |
Thanks for testing! This is an interesting test and results. What antennas are you using on these nodes? |
I think the AI summary is a bit confusing today, but if I understand the letsmesh graphs correctly - what we see today is that antenna choice has a bigger impact on RX % than boosted gain flag. We still see the same 20% RX vs 25% RX on the same antennas regardless of the boosted gain. Correct? |
Antenna is: https://www.laskakit.cz/nicerf-sw868-zd210-antena-3dbi-21cm-868mhz/ ( on both nodes ) Also for the additional tests: |
Correct! The packet increase is related to the better antenna. But the interesting part is this see the distance table. Edit: can copy it on mobile will do tonight. Antenna Swap Test Results - Yesterday vs TodayTest Configuration
Better antenna = Original antenna without tape Complete Node Detection & Performance ComparisonUtrecht Node (~13.6 km)
Key Finding: Both firmwares show significant performance degradation with standard antenna Radome West Node (~4.0 km)
Key Finding: Anomaly - boost-packetlog improved with standard antenna (likely temporal variation) PA5B Houten Repeater (7.25 km)
Key Finding: Only packetlog firmware detects this repeater, regardless of antenna Zeist Slot (0.91 km) - Local Node
Key Finding: Only boost-packetlog detects this local node loramesh.nl (8.02 km)
Key Finding: Only boost-packetlog detects this node Zeist Sanatoriumbos (2.66 km) - Problem Node
Key Finding: Node has become unreachable for both setups today Summary StatisticsNode Reach Comparison
Performance Changes After Antenna SwapV4_2 (boost-packetlog): Better → Standard Antenna
Net Result: +2 nodes, -1 node, mixed performance V4 (packetlog): Standard → Better Antenna
Net Result: No new nodes, significant score decreases Critical Observations1. Antenna Performance is ComplexThe "better antenna" shows:
2. Firmware Dominates Results
3. Temporal Variations Matter
V4 (packetlog) with Better antenna achieved the highest single score (902) and best SNR (6dB), making it the optimal choice for long-range mesh networking. boost-packetlog excels at discovering local nodes but benefits less from the better antenna, suggesting its signal processing is optimized differently. |
|
@Socalix which one should I flash with the regular firmware? |
Yes did that! So packetlog v.s. standard is running now, where standard is on the better antenna and should get the same percentage RX. |
|
Just tested both the PR1398 packetlog and the PR1398 Boost Packetlog and both support Powersaving! This is amazing - I did not see this mentioned! it works! To confirm, the PR1398-packetlog has the LNA (17db pre amp) DISABLED. Is this correct? |
Totally agree on that, thanks for your time invested. And for the record I put my V4 out in the field now: heltec_v4_repeater-1.11.0-pr1398-4575800.bin this file from your links is the normal file without, debugs, packetlogs etc? Which I could load into my repeaters. This file is good to go until @Quency-D / Heltec managed to get this PR merged into the new builds. Again thanks! |
|
@spiralshapeturtle I updated the builds zip up here #1398 (comment) with better names: pr1398-boost_on - Standard build without any extra flags (Boosted Gain on) |
|
@spiralshapeturtle & @Socalix |
@towerviewcams The boost on/off is for the SX126X_RX_BOOSTED_GAIN flag. After all the testing that was done by different people here we could not identify one setting that's consistently better for everyone. It seems to be more of a case-by-case basis, depending on environment, antenna, noise level, etc. That's why I put 2 different builds - so anyone can experiment and choose whichever works best for them. This is from Semtech documentation: |
|
Thanks @Socalix for your helpful answers. Tonight I created a PlatformIO builder myself, and it seems I'm able to build firmware on my own. There is one small missing piece for me, and that is the default for the RX_BOOSTED_GAIN flag. From my own research, it seems the default is 1 (enabled) in the MeshCore GA builds. Since this PR opts in to the register patch and the default seems to be RX_BOOSTED_GAIN=1. I should run a file with the "pr1398-boost_on" naming to match the results 1:1 in the near future when this goes to GA. Does my code analysis skills worked this out correctly😊? |
Correct. The official builds have Boosted Gain enabled (RX_BOOSTED_GAIN=1) by default. |
|
How good is a Heltec V4 with the register patch compared to a Heltec V3? |
Hard to put it in numbers. Close or even better? I think it still depends on the location. Close to a cell tower every LNA enabled device got a harder job than a none LNA enabled device. But out in the open field the LNA can surprise you. With a cavity and this PR on my V4 with the default boost on 25-50km reach on a 9dBi McGill antenna. And a cell tower at 400meters. Of course these are the outliners, probably high remote locations. But the V4 is able to decode the packets. |
|
You have directions on how to do that flying wire? Also can you compare it like you did above? |
|
@dt267 Thanks for the interesting tests! In your first test (register patch with boosted gain on) the v4 received all the packets that v3 received, even though the reported RSSI and SNR were lower. This is a great improvement over what many of us experienced without the register patch, so it'll be interesting to see what you get as well. In your second test where you compared the v3 with boosted gain vs the v4 without boosted gain, there is a significant difference in the v4 noise floor for some reason (-80 vs -115). I wonder why such a big difference, but I suspect the high noise floor impacted the packets received. Like I mentioned before, we noticed that boosted gain help in some cases and not so much in others. Looks like in your case boosted gain did help. In your third test with LNA bypass - the results are very impressive! what firmware did you run on the v4? standard? with register patch? with boosted gain?
I disagree with "does not help" conclusion. I think what you meant is that the v4 with the register patch still performs worse than v3 or RAK4631 or v4 with LNA bypass, which all seem true. Unfortunately, microscopic soldering to bypass the LNA is not something many of us can easily do. The register patch helps significantly over the standard firmware for those who cannot bypass the LNA. Maybe one day Heltec would recall v4.2 and send us all a v4.3 once they fix it? 😉 |
|
@Socalix Bypassing the LNA is not that hard at all. its really not. Go to harbor freight and get a headset magnifying glass tool. It made ALL the difference for me. I have 3 deployed that are mod like this and its suppppper amazing. Basically, you get the 4630 receiver and +28.3 ish of transmit. I have some sites that have massive noise with a local PUD reading meters at 900Mhz and a rak would survive at -98 ish noise floor. V4 ha ha no way..... now with LNA truly gone, noise floor is the same or maybe 2db better at most. I also tape (super 33+) and shield my V4 with 4 wraps of tin foil inside my case. works so nicely and i can still WiFi OTA with my phone within 25ft of the board. Now, the register patch is defiantly better then current stock firm (1.11) or even the powersaving11.2 Having all these options is key and the work that's gone into the register patch great. my conclusion - |
@towerviewcams Do you mean this? https://www.harborfreight.com/head-lamp-magnifier-58788.html
[off-topic, but I'm curious] |
|
The test results are really hard to understand. Mixing different antennas just adds another variable making results even harder to determine. Here is what I summed up,
Thank you all for all the work to make this very popular device even better. |
|
I think this PR is simple and straightforward enough to go with. At this point, I'm just waiting for this PR to be merged and in an official build. |
|
@towerviewcams do you have a picture of a modified board with the jumper? |
Yeah your summary is right. |
|
@Socalix @spiralshapeturtle @beachmiles @jhuebert Hopfully I didn't miss anyone. So the PR does NOT disable the 17db preamp LNA. It cannot be bypassed with any firmware for the V4. I have also verified this with Heltec direct. So, the smartest thing to do is to take a V4 with you that has this mod and one that does not. then test at our site. If your in the forest with nothing around, dont waste any time and deploy a V4 stock with the register patch and kick butt. However, if your in a noisy area then you must be prepared with a V4 that has no receiver amplifier if you want to survive and work well. I dont have a completed photo, they are all in service, plus, my bypass wire was to big. I have ordered PCB jump wire that is the correct wire to use and will upload a photo of that end of this week. Here is a detailed photo with drawing.
you now have bypassed the receiver amplifier! works amazing!!!!!!! |
Does this cause a drop in total TX strength? |
Would be interesting to see which one outperforms: RAK4631, Heltec V3, Heltec V4 with bypass, Heltec V4 original state with register fix. If you are in a noisy area, I can't imagine that an outside PCB wire won't pick up any external noise; it's in fact an antenna. If you take a look at the very good RAK4631 receiver, there is a very nice metal shield placed over the components. |
No, it does not. The TX is in a separate path with separate flags. |
|
@ towerviewcams |
|
Just flashed the one with boosted gain on and HOLY COW it works great on my repeater! |
|
@beachmiles is the improvement with boosted gain ON or boosted gain OFF for you? |
I flashed the one with boosted gain on. Will try the other one when I get a chance. |
@spiralshapeturtle I put Heltec V3, Heltec V4 original, Heltec V4 bypassed external LNA, and Rak4631 into a noisy area to measure their noise floors with dummy loads on. Heltec V3, Heltec V4 bypassed external LNA, and Rak4631 all have a -118dBm noise floor. Heltec V4 original has a -98dBm noise floor. Do you know what this means? |
|
Hope to get this mod for a companion firmware! |
http://tmp.dreams.sk/public/helv4_semtechpatch_only.bin for helt v4 bt companion. Semtechpatch with rxboost left on there is also this http://tmp.dreams.sk/public/helv4_semtechpatch+norxgain.bin whitch is the same but with SX126X_RX_BOOSTED_GAIN turned off |
















Following several rounds of testing Heltec v4 RX reception as part of PR #1249 I found out that the best solution was using the original v1.11.0 code, with undocumented register 0x8B5 patch (setting LSB=1) as desribed by @Quency-D (Heltec engineer) here: #1249 (comment)
and without the RX Boosted Gain feature.This PR is doing just that: turning on the 0x8B5 LSB
and turning off RX Boosted Gain flag.UPDATE: After several rounds of testing here we determined that Boosted Gain flag should be turned on/off on a case-by-case basis, so this PR is now updated to only set the register value that has proven to consistently improve RX.
=== Additional Details ===
Test Process:
I put RAK4631 and Heltec v4, both with Alfa 915 antenna and repeater v1.11.0 firmware in the same location (attic, about 7 inches apart). I then took Heltec T114 with companion v1.11.0 about 1.25km (0.75mile) away and did ping every 3 seconds to the same repeater about 20-30 times. I then flashed the v4 with different firmwares and pinged again.
Test Sample: