Release 0.2.2-beta.1 · Public beta · 794956a35501
Library sources and rebuilding modified firmware
LORA Tunnel's original application is MIT licensed. Its firmware also links Arduino-ESP32 and TinyGPSPlus under LGPL-2.1-or-later, alongside components under their own MIT, BSD, Apache and other licenses. The application's MIT license does not replace those licenses. You may modify the LGPL libraries, rebuild/relink the application for your own use, and reverse engineer the firmware to debug those modifications. No project term restricts those rights.
Download both the application source archive and
LORA-Tunnel-0.2.2-beta.1-relink.zip from the same release as the firmware.
The companion provides the complete installed Arduino-ESP32 3.3.12 source
package and sources for TinyGPSPlus 1.1.0, ArduinoJson 6.21.5, LovyanGFX 1.2.24,
NimBLE-Arduino 2.5.2 and RadioLib 7.8.1, with their original notices. The
application archive supplies the remaining source, board/build configuration,
local Recon/OpenDroneID libraries and embedded artwork. There is no dependency
on a private application object file or private signing key.
The companion excludes host .exe utilities, which are not linked into the
firmware; corresponding Python build utilities remain. Compiler, uploader,
platform and precompiled ESP-IDF SDK packages are downloaded at the pinned
versions in platformio.ini and the included platform/package metadata.
The SDK's component lock and configuration are included for provenance. This
companion is a library source/relink package, not a mirror of every build tool
or the whole ESP-IDF source repository.
Rebuild and relink
Use Python and PlatformIO Core on your host. From the extracted application source directory, install the pinned dependencies without connecting a device:
python -m platformio pkg install -e heltec-v4-r8-tft
Extract the companion next to the application checkout. Its MANIFEST.json
records SHA-256 hashes of every included file, the matching released firmware
images, and all application compilation inputs. Check the downloaded archive
against the published release hash and verify its internal inventory:
python tools/package_relink.py verify ../LORA-Tunnel-0.2.2-beta.1-relink.zip
The local library sources used by the normal build are:
| Component | Editable build source | Matching companion source |
|---|---|---|
| Arduino core and built-in libraries | .pio-core/packages/framework-arduinoespressif32/ |
framework/ |
| TinyGPSPlus | .pio/libdeps/heltec-v4-r8-tft/TinyGPSPlus/ |
libraries/TinyGPSPlus/ |
| Other direct libraries | .pio/libdeps/heltec-v4-r8-tft/<library>/ |
libraries/<library>/ |
Compare these files with the companion's hashes before editing. The companion
source can be copied over the corresponding installed source directories to
restore the supplied source; retain PlatformIO's local .piopm metadata and
host tools. Make the desired library changes in those editable build paths.
Do not run a package update/reinstallation after editing, because that can
replace local changes. Clean the old compiled application and library objects,
then compile and link the modified sources:
python -m platformio run -e heltec-v4-r8-tft -t clean
python -m platformio run -e heltec-v4-r8-tft
The new .pio/build/heltec-v4-r8-tft/firmware.elf and firmware.bin contain the
rebuilt library and application. All required application source is available,
so relinking is accomplished through a complete rebuild rather than a binary
patch. Preserve local modifications separately before changing build packages.
Use the normal hardware verification, backup and flash procedure in
RECOVERY.md only when you intend to install your modified build;
none of the commands above opens a device or uploads firmware.
The pinned source/configuration supports rebuilding and modification. Exact byte-for-byte output across hosts is not promised: compiler metadata, build paths and timestamps can affect the ELF/image. Published hashes identify the release artifacts, not every independently rebuilt executable.
Source and notice provenance
Arduino source: Espressif 3.3.12.
SDK: ESP-IDF 5.5.5 commit
b774170ff46c393eeb5e495ea37936038d3f4f4f; its separately licensed radio
components remain under their own redistribution terms. The exact platform
metadata names the upstream download URLs and toolchain versions.
Framework/runtime notices
supplement the direct-library notices and
third-party inventory. Their source manifest records
immutable revisions and retrieved-file hashes. LGPL-2.1 sections 4 and 6
describe source and relinking distribution terms; the retained license text
is in third_party/licenses/LGPL-2.1.txt.
Release maintainers generate the companion from the isolated packages that built the preserved release images:
python tools/package_relink.py package 0.2.2-beta.1 dist/LORA-Tunnel-0.2.2-beta.1-relink.zip
The tool reads explicit library/framework roots and versioned build artifacts; it never reads a device, SD configuration, capture log or private backup. It refuses to overwrite a companion and verifies every archived file afterward. Publish this companion, its hash and the matching application source beside every downloadable firmware copy, including the web flasher release page. An upstream URL by itself is not the corresponding-source release asset.