Skip to content

Releases: jrl290/RTNode-HeltecV4

v1.0.24: Node hash in WiFi config portal

21 Mar 03:08

Choose a tag to compare

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

14 Mar 16:19

Choose a tag to compare

v1.0.22 — SF5 option in config portal

12 Mar 01:43

Choose a tag to compare

  • Added SF5 as a selectable spreading factor in the configuration portal

v1.0.21 — Screen blank 5 min default, SF=5 option

12 Mar 01:36

Choose a tag to compare

  • 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

08 Mar 18:05

Choose a tag to compare

  • 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

06 Mar 04:39

Choose a tag to compare

  • Display blanking now defaults to 10 minutes (enabled by default)
  • EEPROM-saved user preference still overrides

v1.0.18 — Rename to RTNode-HeltecV4

06 Mar 04:35

Choose a tag to compare

  • 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

28 Feb 21:13

Choose a tag to compare

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:
    1. Detect board (reboot + flash_id)
    2. Check app exists - no app = full flash
    3. Check partitions match - mismatch = full flash
    4. Ask "Erase flash before writing?" - Y = full flash
    5. Full flash: merged binary at 0x0000
    6. 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

28 Feb 20:22

Choose a tag to compare

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_OUTPUT define: 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 v4

v1.0.14: Display blanking config in captive portal

28 Feb 20:16

Choose a tag to compare

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