Community fork of Mark Qvist's RNode firmware adding support for additional DIY hardware (MeshAdventurer-S3, MeshPoE-S3, Aethernode, and others), wired Ethernet support, OTA updates, an on-screen settings menu and much more.
  • C 87.5%
  • C++ 10.2%
  • Python 1.6%
  • CMake 0.2%
  • Makefile 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nickie Deuxyeux 008f101f7b
Some checks failed
Build Firmware / compile (push) Failing after 22m53s
Backup: skip path_store on every board, report files that could not be carried
Measured on the P4: a backup was 19 MB, 65% of it path_store (a regenerable
route cache), and took 7 minutes at one 256-byte KISS round trip per read.

- path_store/ is no longer backed up or replaced by a restore, on all boards.
  bkp_skip_name() is the one list backup, the path allowlist and the restore
  wipe share, so they cannot drift apart (the wipe had its own copy).
- EXPORT_BEGIN gains a trailing incomplete(2) count: files over the 4000-entry
  cap, too deep, with a name the restore would refuse, or over 4 GB. The walk
  used to drop them silently. The byte total now saturates instead of wrapping.
  Older hosts read only the first six bytes and are unaffected.
- urns_backup_test.py: read what is available instead of read(4096), which
  waited out its 0.2 s timeout on every short reply (1.2 KB/s measured vs 46
  KB/s real); print the incomplete count; hostile test covers path_store.

Tested on Guition P4: backup 47 files, CRCs verified, hostile PASS. Built for
meshadventurer_s3.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 21:30:44 +03:00
.claude/skills Add rak4631_eth variant: RAK13800 (W5100S) KISS-over-TCP on nRF52 2026-10-03 17:46:31 +03:00
.forgejo/workflows Set run-name so runs display as "Build Firmware" consistently 2026-07-29 18:38:34 +03:00
.github/ISSUE_TEMPLATE Updated issue template 2025-01-05 16:06:37 +01:00
boards Migrate build system to PlatformIO 2026-08-26 19:19:45 +03:00
Builds/Handheld RNode Added build guide 2023-01-16 12:37:12 +01:00
components Fix BLE HID multi-collection report parsing and a NimBLE stop/scan crash 2026-09-23 03:11:36 +03:00
Console Restructure sources for ESP-IDF Kconfig support; tune PSRAM offload; add Messenger/Bluetooth settings 2026-09-05 13:34:18 +03:00
Documentation Radio menu: Avoid Interference setting 2026-10-13 17:12:37 +03:00
lib P4 UI: path-request bar, Ping on announces, via <hash>, fixed "Announce now" button 2026-11-11 08:39:24 +03:00
partitions Heltec V4 non-URNS, R8 and R8 URNS: menu-triggered network OTA 2026-10-27 20:26:54 +03:00
pio_scripts P4: fix the WiFi "C6 wedge" (host SDIO RX buffers allocated up front), keep the UI off the C6, diag evidence 2026-11-09 12:11:06 +03:00
Python Module Cleanup 2023-01-16 12:48:22 +01:00
Release Change interference threshold for Promicro 2026-05-01 15:11:51 +03:00
RNode_Firmware Backup: skip path_store on every board, report files that could not be carried 2026-11-11 21:30:44 +03:00
scripts gen_manifest: add ESP32-P4 bootloader offset (0x2000) 2026-10-27 23:47:53 +03:00
tools Backup: skip path_store on every board, report files that could not be carried 2026-11-11 21:30:44 +03:00
.gitignore Guition P4: camera and picture messages (LXMF FIELD_IMAGE) 2026-10-11 18:17:42 +03:00
arduino-cli.yaml Move promicro mirror off git.rns.moscow, onto flasher.rns.moscow 2026-07-29 17:38:39 +03:00
esp32_btbufs.py Cleanup 2025-04-12 20:59:00 +02:00
LICENSE Updated license to GPLv3 2022-11-10 12:34:33 +01:00
Makefile Generate manifest.json for ESP32 release zips; fix S3 boards' flash_size 2026-09-09 16:44:49 +03:00
MIRROR.md Updated readme 2025-12-28 01:07:31 +01:00
partition_hashes Set firmware hashes on nRF 2025-01-13 11:37:29 +01:00
platformio.ini P4: move esp_hosted's SDIO memory pool to PSRAM (+48 KB internal / DMA-capable heap) 2026-11-09 13:15:23 +03:00
README.md Add full user manual and restructure README 2026-09-24 03:00:47 +03:00
release_hashes.py Cleanup 2024-10-11 16:39:38 +02:00
sdkconfig.defaults Automate heltec32v4pa_urns_ble's PSRAM sdkconfig override 2026-09-23 01:24:48 +03:00

RNode Firmware

This is a fork of RNode_Firmware by Mark Qvist, aimed at expanding device support and adding additional features and UI improvements.


Additional community device support

Additional LilyGO/Heltec/RAK device support

  • LilyGO T-Beam Supreme v3
  • LilyGO T-Beam 1W
  • Heltec WiFi LoRa 32 V4 R8
  • Heltec Mesh Node T096
  • Heltec Mesh Node T1
  • Heltec Wireless Tracker V2
  • RAK3401 (RAK13302 1W Booster)

Additional features

  • RNode Settings Menu - configure most board settings straight from the RNode's screen
  • microReticulum Transport Support (only for ESP boards with PSRAM support)
  • Built-in LXMF Messenger (only for ESP boards with PSRAM support)
  • Buzzer/Beeper Support
  • Rotary Encoder Support
  • BLE Keyboard Support (only for ESP boards with PSRAM support)
  • Wired Ethernet (W5500) Support (only for MeshPoE-S3 board)
  • GNSS Receiver Support
  • Environment Sensor Support
  • OTA Firmware Update Support (only for selected ESP boards)
  • Promiscuous LoRa Mode Support (LoRa packet monitor)

For details on flashing, the settings menu, and every feature above, see the User Manual.

Licensed under GPLv3, same as upstream.