Trifecta bridge — beta 9
Pre-release
Pre-release
·
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.binfile at address0x0. - Upgrading an already-configured board: flash the plain
.binfile at
address0x10000— 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— setbridge.channel/bridge.secretfrom 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.