Improve Heltec v4 RX reception with undocumented register patch#1398
Improve Heltec v4 RX reception with undocumented register patch#1398ripplebiz merged 3 commits intomeshcore-dev:devfrom
Conversation
|
UPDATE (2026-01-31) - v1.12.0 Repeater builds with Display Off: heltec_v4_repeater-1.12.0-pr1398-no_display-builds.zip UPDATE (2026-01-29) - v1.12.0 Repeater builds: heltec_v4_repeater-1.12.0-pr1398-builds.zip pr1398-boost_on - Standard build without any extra flags (Boosted Gain on) [OLD UPDATE] (2026-01-22) - v1.11.0 Repeater builds: pr1398-boost_on - Standard build without any extra flags (Boosted Gain on) [OLD BUILDS] Repeater builds for testing: |
|
@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? |
Did you measure it from the USB port or the battery port? |
|
Yep the new build uses a lot more power than the last with the "powersave on" enabled at least when powering from USB. Will try to test using the battery input next week. In the previous build while powering the v4 over usb roughly, In today's build 1/29/2026 that was synced with 1.12 also powered from USB I saw The 3+ watt blips may be the transmitting and the .21-.373W may be the receiving. Either way the previous version used way less power. |
One of the things IOTThinks has mentioned is that you have to measure power draw from the battery terminals and not the USB because using the USB means you're powering extra components. |
I was powering via the same USB on the previous firrmware version and was seeing much lower lower levels. |
Good catch. It's a bit unclear for me which of the plenty power enhancement releases has made it to 1.12.0, but I assume one of the first releases? Nevertheless, this topic focuses on RF issues with the V4. Could you chime in on the power-saving GitHub topics and post a referral link to this topic to not overload this topic with distracting content? Reminder: we still haven't made it to dev/GA with this pull, so we need focus in this topic on RF. And we are all convinced it's mandatory to get this register patch into the code, it really works fine. |
From the tests I have done this week, I assume the V4+register patch (boosted gain default = on as the standard in this PR) plus my cavity receives better than the RAK4631 with the cavity. As stated by Socalix, it's very hard to compare days over time. At least I can tell that the SNR (the quality of the signal) is a few dB higher on the V4+PR1398+cavity, and also the score results on letsmesh.net (meshcore). Of course, the RSSI also increased due to the LNA, but we can't take that as a valid value to compare. Regarding your last point. Every device with an amplifier in RX has a higher NF, and the owner needs to do the math to remove 17dB from the NF when comparing to none LNA enabled devices. It's not a bug in hardware or in software; it's how RF works. |
|
The weird thing is, v4 + patch + rxbg on + cavity is now getting closer than 17dB to other devices nf, so its not as simple as removing the number. |
|
EDIT: Thanks, it's been taken care of. Thanks so much for your excellent work! Would somebody please be so kind and create a ble companion firmware based on 1.12.0 including this pr? Thanks in advance! |
|
Here is the prev version that was posted here with the date 2026-01-22 with this RX fix and a newer 1.11 nightly that has the much lower power usage. |
Thank you so much! Do you know if this newer 1.11.0 also includes the feature to overwrite contacts (like in 1.12.0)? |
|
@Torcado I don't know about that feature, but it did have the change private key remotely fix included. |
@beachmiles Yeah, that's exactly the one I am running now. It's doing wonders for the v4. Sadly it does not include the contacts overwriting feature of 1.12.0. |
|
@spiralshapeturtle Sorry to anyone who didn't think I should post the power issue here, but, its a major issue and needed to be said quickly. I also posted it in several FB groups and discord. Several peeps where going to deploy this weekend and would have been so disappointed. So, we saved them. @beachmiles You did it right, I went back to the 1.11 that was posted on 1/22 and that works great. this will all get dialed in. |
|
The CLI command powersaving either on or off seems to work, but at this
time I haven't tested the current draw
…On Fri, 30 Jan 2026 at 15:11, towerviewcams ***@***.***> wrote:
*towerviewcams* left a comment (meshcore-dev/MeshCore#1398)
<#1398 (comment)>
@spiralshapeturtle <https://github.com/spiralshapeturtle> Sorry to anyone
who didn't think I should post the power issue here, but, its a major issue
and needed to be said quickly. I also posted it in several FB groups and
discord. Several peeps where going to deploy this weekend and would have
been so disappointed. So, we saved them.
@beachmiles <https://github.com/beachmiles> You did it right, I went back
to the 1.11 that was posted on 1/22 and that works great.
this will all get dialed in.
—
Reply to this email directly, view it on GitHub
<#1398 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AUNJMXPPBNB6D3FZJ6GEZYT4JNYB5AVCNFSM6AAAAACRXNJN4KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTQMRUGI2DIMRTHA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
|
@Old-Dave573 correct it does work and drops the current down to about 32mA. @1337Reaper forgot to answer.....all tests are at the batt connector. If you flash the previous version that @beachmiles put back up, then, your back to 11mA ok, enough of this, back to RX issues. We all want to get this in the next update! |
|
A quick clarification about what's included in the builds - PR builds are based off of dev branch, which is always firmware release + additional stuff that's in progress. That's how my prior v1.11.0 builds in this PR had the powersaving cli already in. I looked through the changes that were committed between Jan 14 (when this PR branch was created) and yesterday (when it got updated) and I see one change that I'm suspecting could be impacting power consumption. Again, this PR for improving Heltec v4 RX is complete, fully tested and ready to be merged. |
|
I did some trace testing before and after upgrading my v4 firmware with RX fix patch (boost on and packet log off). I'm seeing about a 3dB increase in SNR for receive. It wasn't a super scientific test as I did the before testing yesterday and the after testing this morning. I've attached my results for your perusal - https://docs.google.com/spreadsheets/d/1Ea-OlRJqY9TSWgVZXqYa9vFH9_Ut44FpyHqMTLuSDUE/edit?usp=drivesdk |
Nice job! The boost version worked better for me as well with a stock v4 and no cavity filter. |
|
We confirmed that the v4 display PR that was merged to v1.12.0 is causing higher power consumption. Thanks @towerviewcams for helping with the testing! As a quick solution for now, I added another builds zip up here #1398 (comment) with no_display builds, where the display is completely turned off and power consumption is back to 11mA. |
|
With powersaving on it makes sense to turn off the display at the same time. Easy pull request to get accepted? |
A permanent fix for the display power is being worked on in a different PR. The build provided here was just a quick solution for now. |
|
@Socalix is it possible to add rx patched no oled esp now bridge and rs232bridge builds to your builds ? (I suppose they still base on nightlies) |
Do you have the PR numbers thats way easier to confirm? I have created this based on v.1.12.0 + the PR's mentioned. Is the where you are looking for? heltec_v4_companion_ble_v1.12.0-pr1398-pr1335-pr1569.bin more files in the link |
looking for bridge builds with the 1398. (not the std repeater/companion). |
@LanWolf Here's a zip with repeater_bridge builds. I did not see rs232 bridge in heltec_v4 config, so I copied it over from v3. Is that what you needed? heltec_v4_repeater_bridge-1.12.0-pr1398-no_display-builds.zip |
|
What is the current status of this PR? I see there's been a huge amount of work and testing put in by a huge number of people here and it looks like things might be working properly now? Am I right in thinking the consensus is that the register patch that was suggested by @Quency-D is looking like the correct way to approach this, and it means we don't have to fight RadioLib for control of the RfSwitch? Are we waiting for confirmation from Heltec on some testing? |
This PR for improving Heltec v4 RX is complete, fully tested by several people here and ready to be merged. |








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: