Skip to content

Releases: dobrevit/RetiMesh_Node

v0.0.6

Choose a tag to compare

@github-actions github-actions released this 26 Aug 23:52
0c54cd5

Commits since v0.0.5

  • docs: document the branch and pull-request workflow (c661e74)
  • Merge pull request #11 from dobrevit/docs/branch-and-pr-workflow (c2962cf)
  • feat: support the LilyGO T-Beam (ESP32, AXP192/AXP2101 PMU, GPS, no SD) (10cf96b)
  • fix: drive the T-Beam radio from VSPI, not the flash bus (b9618cd)
  • fix: draw the QR page instead of falling through to the status page (0e2a477)
  • Merge pull request #12 from dobrevit/fix/display-page-dispatch (fd0d269)
  • Merge pull request #13 from dobrevit/feat/tbeam-board-support (8574cd6)
  • feat: read the GNSS receiver on the T-Beam and take the clock from it (0752b56)
  • fix: address the review on the GNSS branch (ff82897)
  • Merge pull request #14 from dobrevit/feat/gps (7aa528f)
  • feat: derive the transmit budget from the band the channel sits in (dfb79da)
  • fix: address the review on the duty-cycle branch (349cb82)
  • Merge pull request #15 from dobrevit/feat/duty-cycle-from-band (d988bc9)
  • fix: charge the cell on terms we set, and say when it is happening (e08c71a)
  • feat: redesign the display pages around labelled readings (55f0600)
  • fix: address the review on the display branch (2a44cff)
  • Merge pull request #16 from dobrevit/feat/display-status-icons (0c54cd5)

RetiMesh Node 0.0.6

🚀 Features

🐛 Fixes

  • fix: draw the QR page instead of falling through to the status page (#12) @mclueppers

📻 Radio / protocol

📖 Documentation

🧰 CI & tooling

Install

  • Browser: open the web flasher, pick your board, click Install.
  • Terminal: pipx run --spec "git+https://github.com/dobrevit/RetiMesh_Node#subdirectory=tools/retimesh-flash" retimesh-flash install
  • Manual: flash retimesh-node-0.0.6-<board>-merged.bin at 0x0 with esptool; per-partition files and offsets are in release.json.

SHA-256 checksums for every asset are in sha256sums.txt.

v0.0.5

Choose a tag to compare

@github-actions github-actions released this 26 Aug 20:45

RetiMesh Node v0.0.5

The node now keeps its Reticulum state across restarts, respects an hourly
transmit budget, and shares the channel the way an RNode does.

🚀 Features

  • Reticulum storage on the microSD card. When a card is mounted at boot,
    the path table, known destinations, announce cache and packet hashlist live
    on it (/sd/rns) instead of the ~900 KB flash partition shared with the web
    app. The card is then reserved: it cannot be formatted while in use, and
    pulling it is reported rather than ignored. Turn it off with Reticulum store
    on SD
    on the settings page.
  • Node QR codes. GET /api/qr?what=wifi|portal|address returns an SVG
    generated on the device, and the display gains a QR page — point a camera at
    the node to join its Wi-Fi instead of typing the password. The Wi-Fi code
    needs the admin credentials whenever the access point is protected.
  • Hourly duty-cycle limiter. duty_cycle_pct (default 1, 0 = off) caps
    how much of each hour the node may transmit for — 1 % is the ETSI allowance
    for 868.0–868.6 MHz, where the default channel sits. When the budget is
    spent, packets wait in the queue instead of being dropped; the status page
    and display show how much is left and when it frees up.

📻 Radio / protocol

  • RNode-compatible CSMA. Wait for a clear channel, hold it clear for a DIFS
    of two slots, then count down a contention window drawn from one of four
    bands sized by recent channel use, restarting whenever a frame arrives. A slot
    is 12 symbol times clamped to 24–100 ms (25 ms at SF8/BW125). Sharing a
    channel with real RNodes is the point, so the sizing follows theirs.
  • Airtime accounting using the Semtech time-on-air formula, reported through
    /api/status.airtime (short- and long-term channel use, budget used, CSMA
    slot and band).

🐛 Fixes

  • Reticulum state no longer survives only until the next reboot. microStore
    deleted every record whose timestamp was "in the future", and on a device
    whose clock restarts at zero that is everything the previous run wrote — the
    path table, known destinations and hashlist were wiped on every restart.
    Fixed in our fork; the firmware now builds against it.
  • The path list on the status page was always empty. Paths had moved into
    microStore's table; the firmware was still reading the legacy in-memory one.
  • The DevKitC-1 release image put the web app inside the app partition.
    Packaging read the wrong partition table for boards that inherit one from
    their board definition, so esp32s3-qspi images from earlier releases boot
    without a web UI. Offsets now come from the partition table that was built.
  • The SD store could silently fall back to internal flash even with a
    healthy card, because the boot mount retried through a probe that
    re-initialises the card. Retries are plain mounts now, over a longer window.
  • A stack overflow could reboot the node: the SD task idled with under 1 KB
    of its 4 KB stack. It has 8 KB, and the heartbeat reports every task's
    headroom.
  • Stored paths whose interface no longer exists are dropped instead of
    lingering unroutable; the bulletin-board probe no longer logs an error on
    every status poll.

📖 Documentation

  • Duty cycle and channel access explained in docs/configuration.md; the QR
    endpoint, airtime and storage objects in docs/api.md.

⚠️ Upgrading

Nothing to do — settings and the node identity are preserved. If you flashed an
esp32s3-qspi image from v0.0.4 or earlier, reflash: the filesystem went to the
wrong offset.

Commits since v0.0.4

  • Use PSRAM: 128-byte malloc threshold and ring storage in external RAM (10d2141)
  • Wi-Fi station mode: join a LAN alongside the access point (abd463e)
  • Power profiles, battery gauge, HIL harness (790674a)
  • Bench env against the local microReticulum/microStore fix branches (f1ad68c)
  • Document the t3s3-upstream environment (b6b62a4)
  • Build against the forked microReticulum/microStore by default (088f3d9)
  • Give the SD card task an 8 KB stack; report per-task stack headroom (dd57809)
  • Packaging: take partition offsets from the built partition table (805848b)
  • Keep the Reticulum store on the SD card, and make it survive reboots (cad5b09)
  • Node QR codes on the portal and the display (d778e28)
  • Drop stored paths whose interface no longer exists (33a5296)
  • Airtime accounting, an hourly duty-cycle limiter, and RNode's CSMA (de047fd)
  • Fix the SD store falling back to internal flash at boot (5ab00cd)

Install

  • Browser: open the web flasher, pick your board, click Install.
  • Terminal: pipx run --spec "git+https://github.com/dobrevit/RetiMesh_Node#subdirectory=tools/retimesh-flash" retimesh-flash install
  • Manual: flash retimesh-node-0.0.5-<board>-merged.bin at 0x0 with esptool; per-partition files and offsets are in release.json.

SHA-256 checksums for every asset are in sha256sums.txt.

v0.0.4

Choose a tag to compare

@github-actions github-actions released this 26 Aug 18:36

RetiMesh Node 0.0.4

  • Zero-config peering (AutoInterface): the node joins Reticulum's IPv6 multicast discovery on its Wi-Fi, so Sideband/RNS clients on the AP find it without entering an IP or port; each peer becomes its own Transport interface.
  • mDNS: the portal and RNS port are reachable as retimesh.local.
  • Sideband hand-off: LXMF entries in the neighbour list link straight into Sideband to message that peer.
  • SD card support: hot-plug detection, capacity/partial-volume reporting, admin-protected format, event log on the card with download from the settings page.
  • OLED transport page, announce limits, settings export/import, heap watermark (the "0.1" milestone items).
  • Host-native unit tests (HDLC framing) and a CI test job.
  • Quieter console: explicit / and favicon routes, no board.json probe, named interface deregistration.
  • Docs: full user documentation set — getting started, architecture, configuration, Reticulum integration, hardware, HTTP API, troubleshooting, development, and examples (rnsd/RNode configs, announce watcher, beacon listener, remote NomadNet peer, API curl); Sideband ratchet-cache note.
  • Release tooling: draft notes now include the commit list since the previous tag.

Install

  • Browser: open the web flasher, pick your board, click Install.
  • Terminal: pipx run --spec "git+https://github.com/dobrevit/RetiMesh_Node#subdirectory=tools/retimesh-flash" retimesh-flash install
  • Manual: flash retimesh-node-0.0.4-<board>-merged.bin at 0x0 with esptool; per-partition files and offsets are in release.json.

SHA-256 checksums for every asset are in sha256sums.txt.

v0.0.3

Choose a tag to compare

@github-actions github-actions released this 26 Aug 13:26

RetiMesh Node 0.0.3

Commits since v0.0.2

  • Reticulum announces and identity; announce-based neighbour discovery (ac378d5)
  • BOOT button navigates the OLED (c8b0d64)
  • transport: microReticulum spike — core starts with the node identity (3c88f32)
  • Display sleeps after 60 s without a button press (2ef4610)
  • transport: LoRa and per-client TCP interfaces on microReticulum Transport (e5cfc21)
  • README: list microReticulum and friends in the license notice (0245d17)
  • transport: drive Transport::jobs() every second; DEBUG logging compiled in (dc0d6c8)

Install

  • Browser: open the web flasher, pick your board, click Install.
  • Terminal: pipx run --spec "git+https://github.com/dobrevit/RetiMesh_Node#subdirectory=tools/retimesh-flash" retimesh-flash install
  • Manual: flash retimesh-node-0.0.3-<board>-merged.bin at 0x0 with esptool; per-partition files and offsets are in release.json.

SHA-256 checksums for every asset are in sha256sums.txt.

v0.0.2

Choose a tag to compare

@github-actions github-actions released this 26 Aug 11:00

RetiMesh Node 0.0.2

  • No changes

Install

  • Browser: open the web flasher, pick your board, click Install.
  • Terminal: pipx run --spec "git+https://github.com/dobrevit/RetiMesh_Node#subdirectory=tools/retimesh-flash" retimesh-flash install
  • Manual: flash retimesh-node-0.0.2-<board>-merged.bin at 0x0 with esptool; per-partition files and offsets are in release.json.

SHA-256 checksums for every asset are in sha256sums.txt.

v0.0.1

Choose a tag to compare

@github-actions github-actions released this 26 Aug 09:18

RetiMesh Node 0.0.1

  • No changes

Install

  • Browser: open the web flasher, pick your board, click Install.
  • Terminal: pipx run --spec "git+https://github.com/dobrevit/RetiMesh_Node#subdirectory=tools/retimesh-flash" retimesh-flash install
  • Manual: flash retimesh-node-0.0.1-<board>-merged.bin at 0x0 with esptool; per-partition files and offsets are in release.json.

SHA-256 checksums for every asset are in sha256sums.txt.


Warning

Release Drafter could not find a previous published release for dobrevit/RetiMesh_Node. This draft was created without a comparison baseline.

Important

Treat this draft as a manual starting point.
Review the proposed version, tag, and notes before publishing.

If you did not expect this to happen, open an issue.