Releases: jrl290/RTNode-HeltecV4
Releases · jrl290/RTNode-HeltecV4
v1.0.24: Node hash in WiFi config portal
What's new
WiFi Config Portal: Node Hash display
The captive-portal setup page now shows the device's Reticulum destination hash at the top, making it easy to identify the node without opening a terminal.
- Hash is cached in RTC memory after the first normal boot and survives software reboots into config mode
- Displays a friendly placeholder on first-ever boot (before RNS has started for the first time)
Firmware binaries
| File | Board |
|---|---|
rnode_firmware_heltec32v3.bin |
Heltec WiFi LoRa 32 V3 (boundary mode) |
rnode_firmware_heltec32v4_boundary.bin |
Heltec WiFi LoRa 32 V4 (boundary mode) |
Flash with flash.py from this repo.
v1.0.23 — display orientation, DHCP recovery, transport mode note
v1.0.22 — SF5 option in config portal
- Added SF5 as a selectable spreading factor in the configuration portal
v1.0.21 — Screen blank 5 min default, SF=5 option
- Screen blanking default set to 5 minutes (was 10 minutes)
- Added SF=5 as a supported spreading factor option
v1.0.20 — LED indicators & headless mode support
- LED indicators on V3/V4 (with or without display)
- Solid: normal operation (radio online)
- Fast blink: entering WCC config mode (button held >5s)
- Slow breathe: WiFi Captive Configure portal active
- Headless mode: auto-detect missing OLED, operate without display
- Button press (1-3s) in WCC mode powers off; next boot enters normal mode
- Skip-config RTC flag only suppresses button-triggered re-entry, not unconfigured devices
v1.0.19 — Display blanking default 10 minutes
- Display blanking now defaults to 10 minutes (enabled by default)
- EEPROM-saved user preference still overrides
v1.0.18 — Rename to RTNode-HeltecV4
- Renamed project from RNodeTHV4 to RTNode-HeltecV4
- Updated firmware binary names to rtnode_heltec_v4.bin / rtnode_heltec_v3.bin
- Replaced 'boundary node' with 'transport node' in user-facing descriptions
- Updated OLED title bar to 'RTNode'
- Updated GitHub repo URL and flash utility references
v1.0.17
flash.py v1.0.17
Smart flash decision flow — settings never accidentally wiped
- App detection: Reads device at 0x10000 on connect. If no app firmware is present (blank flash), automatically does a full flash.
- Partition table check: If the device partition layout doesn't match expected, automatically upgrades to full flash.
- Clean decision flow:
- Detect board (reboot + flash_id)
- Check app exists - no app = full flash
- Check partitions match - mismatch = full flash
- Ask "Erase flash before writing?" - Y = full flash
- Full flash: merged binary at 0x0000
- Normal update: app-only at 0x10000 (settings preserved)
- Settings preservation: Normal updates extract the app portion from the merged release binary and flash at 0x10000, leaving NVS/EEPROM untouched.
Release binaries
rnodethv3_firmware.bin— Heltec WiFi LoRa 32 V3 (8MB)rnodethv4_firmware.bin— Heltec WiFi LoRa 32 V4 (16MB)
v1.0.15: Default TX power to board PA_MAX_OUTPUT
v1.0.15 — TX Power Default
- Board-specific TX power default: Captive portal now defaults TX power to the board's
PA_MAX_OUTPUT(V3=22 dBm, V4=28 dBm, other=20 dBm) instead of hardcoded 28 PA_MAX_OUTPUTdefine: Added for V3 (22) in Boards.h, with fallback default of 20 for unknown boards
Firmware Binaries
| File | Board |
|---|---|
rnodethv3_firmware.bin |
Heltec WiFi LoRa 32 V3 |
rnodethv4_firmware.bin |
Heltec WiFi LoRa 32 V4 |
python flash.py --board v3 # or v4v1.0.14: Display blanking config in captive portal
v1.0.14 — Display Blanking Configuration
- Captive portal Options section: New display blanking timeout dropdown with options: Never, 1, 5, 10, 30, 60 minutes
- EEPROM format change: Blanking value now stored as minutes (was seconds), supporting timeouts up to 255 minutes
- Default timeout: Changed from 15 seconds to 1 minute
Previous changes (v1.0.12–v1.0.13)
- Link MTU clamping fix (70% transfer stall root cause)
- Echo-back prevention for TCP clients
- Oversized frame detection and drop
- Path discovery starvation fix
- flash.py auto-download with GitHub cache
Firmware Binaries
| File | Board | Flash Size |
|---|---|---|
rnodethv3_firmware.bin |
Heltec WiFi LoRa 32 V3 | 8MB |
rnodethv4_firmware.bin |
Heltec WiFi LoRa 32 V4 | 16MB |
Flash with:
python flash.py --board v3 # or v4