Skip to content

Trifecta bridge — beta 9

Pre-release
Pre-release

Choose a tag to compare

@smellyspice smellyspice released this 31 Aug 21:38
· 10 commits to espnow-ip-bridge since this release

What's new since beta8

  • Advert-timer jitter, all roles. Identically-configured boards (e.g.
    several room servers attached to the same repeater's ESP-NOW bridge) were
    flood-adverting in perfect sync — the timer is a fixed offset from
    boot/last-fire time, so boards flashed/configured together stayed
    locked together indefinitely. Both the flood-advert timer (+/-10 min) and
    the local/zero-hop advert timer (+/-2 min) now apply a random offset,
    re-rolled every reschedule, so nodes drift apart instead of firing
    together. Applied identically to the repeater, room server, and
    companion/sensor code paths that share this timer pattern.

Flashing

  • Blank/fresh board: flash the -merged.bin file at address 0x0.
  • Upgrading an already-configured board: flash the plain .bin file at
    address 0x10000 — this preserves identity, radio config, WiFi/BLE
    bonds, and all CLI settings; it does not erase the board.
esptool.py --chip esp32s3|esp32c3 write_flash 0x0 <file>-merged.bin        # blank board
esptool.py --chip esp32s3|esp32c3 write_flash 0x10000 <file>.bin           # upgrade in place

Debug vs non-debug repeater/room-server builds

The _debug envs have full debug logging compiled in (BRIDGE_DEBUG,
MESH_DEBUG, etc.) — small timing/CPU cost, meant for pairing with
watch_boards.py while troubleshooting. Non-debug envs are the same code
with logging compiled out — quieter, for regular use once you're done
troubleshooting.

Tools

  • watch_boards.py — multi-board serial monitor.
  • set_bridge_params.py — set bridge.channel/bridge.secret from the
    command line.

Reference site with the full breakdown of every piece (ESP-NOW companions,
room servers/Echo Boards, the IP bridge, and the safety mechanisms behind
it): https://smellyspice.github.io/MeshCore/


This is an unmerged personal fork — developer release only. Please don't
run it on a mesh you depend on.