Skip to content

Observer EastMesh Firmware v1.16.0-eastmesh-v2026.7.0

Latest

Choose a tag to compare

@github-actions github-actions released this 19 Jul 04:09
d350934

MeshCore EastMesh Observer

EastMesh observer-eastmesh firmware for MeshCore boards with secure MQTT uplink and optional local web management, based on MeshCore firmware v1.16.0 plus upstream dev updates (as of 2026-07-09).

This release syncs with upstream MeshCore dev — bringing power-off/deep-sleep improvements, SX1262 LDO support, hardware channel-activity detection, and board/platform fixes — realigns saved settings storage with upstream so future syncs can't shift or corrupt EastMesh settings, and restores EastMesh/MeshMapper broker TLS trust after a server-side certificate change.

What's Changed

  • Merged upstream MeshCore dev updates including power-off/deep-sleep improvements, SX1262 LDO support, hardware channel-activity detection, radio gain fixes, and board/platform fixes.
  • Realigned saved node settings to upstream byte offsets and moved EastMesh-specific fields behind a reserved gap so future upstream syncs no longer shift or corrupt them.
  • Restored EastMesh and MeshMapper broker TLS trust after mqtt2.eastmesh.au moved from Let's Encrypt to a Google Trust Services certificate.
  • Bumped CI build and docs workflows to Python 3.13.

Breaking Changes

  • The saved settings layout changed: devices upgrading from 2026.6.6 or earlier may need EastMesh-specific settings (such as fan control and bridge peer) and recently added radio settings reconfigured after the update.

Notes

  • If your observer stopped uplinking to eastmesh-au or meshmapper with TLS certificate errors, this release is the fix — update and the connection will recover on its own.
  • After updating, check your fan control, bridge peer, and recently added radio settings (see Breaking Changes) and re-set any that came back at defaults.
  • eastmesh-au remains the recommended MQTT endpoint once mqtt.iata is configured; meshmapper and waev are available as global second brokers.
  • Select brokers from the Primary and Secondary dropdowns in the web panel, or toggle them from the CLI (set mqtt.eastmesh-au on, set mqtt.meshmapper on, set mqtt.waev on, etc.). A maximum of two brokers can be enabled at once.
  • waev (mqtt.waev.app) uses a 1-hour auth token that the firmware refreshes automatically, so no extra configuration is needed. Set your Waev account email with set mqtt.email <email> so Waev can link the observer to your account.
  • MQTT status messages report cumulative packets_sent and packets_received alongside the existing radio stats; both counters reset on reboot.
  • LetsMesh EU/US are retired but still selectable for legacy use.
  • Custom MQTT is available for private broker deployments and uses username/password auth only. For TCP custom MQTT, use the broker host and port as before. For WSS custom MQTT, set the host and port, select WSS transport, and the firmware connects using wss://host:port/mqtt.
  • WSS uses TLS encryption and validates against the ESP-IDF x509 root CA bundle.
  • For maximum heap headroom on busy observers, use the web panel for setup and troubleshooting, then disable it with set web off.
  • Browsers may still require accepting the self-signed certificate warning on first HTTPS access.
  • flood.max.unscoped defaults to 64; lower it only if you want to limit how far unscoped flood traffic repeats.
  • flood.max.advert controls the hop limit for flooded advert packets.

Documentation

xjarid.github.io/MeshCore-EastMesh

Flashing

Assets

  • .bin - standard update image
  • -merged.bin - full ESP32 image for flashing after erase