Conversation
added 14 commits
September 26, 2026 20:21
Signed-off-by: Vladimir Rusnak <kira@MacBook-Pro-uzivatela-Vladimir.local>
Signed-off-by: Vladimir Rusnak <kira@MacBook-Pro-uzivatela-Vladimir.local>
Signed-off-by: Vladimir Rusnak <kira@MacBook-Pro-uzivatela-Vladimir.local>
Signed-off-by: Vladimir Rusnak <kira@MacBook-Pro-uzivatela-Vladimir.local>
Signed-off-by: Vladimir Rusnak <kira@MacBook-Pro-uzivatela-Vladimir.local>
Signed-off-by: Vladimir Rusnak <kira@MacBook-Pro-uzivatela-Vladimir.local>
Signed-off-by: Vladimir Rusnak <kira@MacBook-Pro-uzivatela-Vladimir.local>
Signed-off-by: Vladimir Rusnak <kira@MacBook-Pro-uzivatela-Vladimir.local>
Signed-off-by: Vladimir Rusnak <kira@MacBook-Pro-uzivatela-Vladimir.local>
Signed-off-by: Vladimir Rusnak <kira@MacBook-Pro-uzivatela-Vladimir.local>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add native OpenMQTTGateway support for the Heltec WiFi LoRa 32 V4.3 high-frequency board (ESP32-S3R2, SX1262, KCT8103L, 16 MB flash, 2 MB QSPI PSRAM), while preserving the existing Arduino-LoRa implementation for SX127x-based boards. V4.2/GC1109 and V4 R8 are not covered.
What changed
heltec-wifi-lora-32-v4environmentrxboostedgainthrough existing MQTT commands, state, NVS and a V4-only WebUI checkbox; default off, including migration of old NVS recordsCompatibility
The radio abstraction is compile-time selected. Existing SX127x boards continue to use
sandeepmistry/LoRa; RadioLib is linked only by the Heltec V4 environment. Builds withoutZgatewayLORAdo not require either LoRa library.Existing MQTT topics and text/hex payload formats are unchanged. SX127x WebUI frequency/power/SF choices and state schema remain unchanged. The V4.3 profile defaults to 868 MHz, 14 dBm connector output, SF7, 125 kHz, CR4/5, preamble 8, sync word 0x12, CRC on, IQ inversion off and RX boost off. Hardware maximum settings are not a statement of regulatory permission.
Validation
heltec-wifi-lora-32-v4heltec-wifi-lora-32ttgo-lora32-v1ttgo-lora32-v21esp32dev-blegit diff --check, shell syntax check and board JSON validationFresh hardware flashing and offline validation passed on two Heltec V4.3 868 MHz boards. Each reports 16 MB flash, 2 MB PSRAM, an OLED I2C acknowledgement and ready SX1262 with no radio error. A temporary serial-only adapter invoked the production LoRa command handler and observed its normal received-message queue/dispatch; neither this adapter nor offline overrides are included in the PR.
All 38 sequential test packets were received in both directions at 4 dBm requested connector output: normal/boosted/normal RX gain, SF5 and SF12, 15500/15600 Hz bandwidth interoperability and binary hex payloads. RSSI/SNR metadata, invalid-frequency rejection and NVS save/load passed. Previous LoRa settings were restored after testing. This is a close-range functional check, not a long-range, sensitivity, calibrated power or loss-rate measurement.
Live MQTT broker/WebUI end-to-end checks and outdoor range validation remain pending; this PR stays draft. No private Xiaomi BLE/offline dashboard features are included.
Run
bash test/host/run_heltec_v4_radio_tests.shafter the V4 PlatformIO build has installed ArduinoJson, or setARDUINOJSON_INCLUDEto itssrcdirectory. Local formatter checks, shell syntax, board JSON validation andgit diff --checkalso passed. A final clean production V4.3 rebuild passed after all temporary hardware hooks were removed. Upstream clang-format 9 and security checks passed on24ef8e3; the V4.3 matrix build is still queued, so its result is not yet claimed.Relation to #2339
#2339 implements an SX1262 FSK weather-sensor gateway. This change targets the existing OpenMQTTGateway LoRa transport and adds a native V4 board/environment instead of using the V3 board definition as a pin-compatible workaround. The changes are complementary, although they touch some of the same board setup files.