Skip to content

MeshGrid ESP32 - factory_v0.0.5 (BUILD 107)

Latest

Choose a tag to compare

@toygar toygar released this 03 Jul 07:36

Release asset: factory_v0.0.5.bin — single merged image, flash at 0x0000.

Previous public release: factory_v0.0.4.bin (BUILD 102).

SHA256: 16c23d2792cc1b6c7748049f4eb1385659570a54a52c16f95b0f33cc723cbcf1

Verify after flash: USB serial 115200[MeshGrid] boot BUILD 107 or statsBUILD=107.


Summary (user-facing)

This release improves multi-node LoRa airtime sharing, BLE backpressure under sustained Signal Test / probe load, and scheduler capacity for rostered deployments. No provisioning or MeshLink wire format change is required if you already use v0.0.4 with the same mesh password and roster IDs.


BUILD 107 — Roster-aware probe slotting + queue headroom

Problem addressed: Under rostered multi-node stress, probe collisions and scheduler/ACK saturation could reduce delivery rate and stress BLE when a phone stays connected.

Fixes:

  • Roster-aware signal-test probe slots: when roster is enabled, each node’s probe TX delay uses its index in the sorted roster ID list (not CSV order); without roster, callsign hash % 8.
  • ACK trackers: 8 → 12
  • Pending direct staging: 2 → 4

Validation:

  • Dual-node rostered soak ~6 h~99.96% / 100% probe delivery, no lockup
  • Sim-B: roster 5 IDs + 2 live nodes, 2 h — completed without lockup

BUILD 106 — Probe airtime + BLE backpressure (Phase 1)

Fixes:

  • Signal-test probe slotting: 2 slots @ 2500 ms8 slots @ 600 ms
  • Skip flood duplicate broadcast TX when channel pressure ≥ 2
  • Scheduler TX slots: 16 → 24
  • Do not enqueue LoRa→BLE notify when phone not connected; drop signal-test probes when BLE notify queue is nearly full

Validation: 10 min dual-node stress — 0 bleNotifyQueue full (vs baseline BUILD 105 long soak)


BUILD 105 — BLE connection telemetry + notify queuing

  • Improved BLE disconnect reason reporting and connection-state handling
  • Refined BLE notify queuing under load

Compatibility

Item Notes
Mesh password Same as v0.0.4 — no re-provision required for upgrade
Roster Manual on every node; must include all participating node IDs for multi-node use
NVS Build number change clears pending TX replay queue only (existing behavior)
Official MeshGrid app Signal Test + map layers benefit from BUILD 106–107
Flash esptool.py --chip esp32 --port <PORT> --baud 460800 write_flash -z 0x0 factory_v0.0.5.bin

Flash size

  • Merged image size: ~1.63 MB (4 MB flash board, min_spiffs / 1.9 MB app partition)

Internal limits (changed since BUILD 102)

Limit BUILD 102 BUILD 107
ACK slots 8 12
Scheduler slots 16 24
Pending direct 2 4
BLE hold ring 24 24
Probe slots 8 × 600 ms (roster-aware)

Capacity planning: firmware roster cap 8; practical production ceiling for GPS+chat traffic ≤ 5 nodes; 7–8 marginal.


Serial bench commands (115200 baud)

  • txprobe CALLSIGN SEQ — e.g. txprobe ALPHA 42
  • stress on / stress on BRAVO1 / stress off — automatic probe every 5 s (bench use)