EastMesh

EastMesh · Releases

from GitHub · updated 2026-07-19

10 releases

  1. v2026.7.0 # 2 variants 17 days ago · 2026-07-19 04:09 UTC
    observer eastmesh observer-eastmesh-v2026.7.0 View ↗
    observer eastmesh bridge espnow observer-eastmesh-bridge-espnow-v2026.7.0 View ↗

    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
  2. v2026.6.6 # 2 variants 1 month ago · 2026-06-27 13:12 UTC
    observer eastmesh observer-eastmesh-v2026.6.6 View ↗
    observer eastmesh bridge espnow observer-eastmesh-bridge-espnow-v2026.6.6 View ↗

    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.

    This release adds packet counters to the MQTT status payload — each observer now reports cumulative packets_sent and packets_received totals in its status message — so brokers and dashboards such as Waev and MeshMapper can track per-node throughput.

    What's Changed

    • Added packets_sent and packets_received counters to the MQTT status payload stats object, reporting cumulative radio TX/RX packet totals to align with the Waev/MeshMapper status schema.

    Breaking Changes

    • None in this release.

    Notes

    • 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 now 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
  3. v2026.6.5 # 2 variants 1 month ago · 2026-06-26 02:52 UTC
    observer eastmesh observer-eastmesh-v2026.6.5 View ↗
    observer eastmesh bridge espnow observer-eastmesh-bridge-espnow-v2026.6.5 View ↗

    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.

    This release adds the Waev curated broker as a selectable MQTT uplink — with automatic short-lived auth tokens to satisfy Waev's requirements — and widens the Custom MQTT settings panel in the web panel.

    What's Changed

    • Added the waev curated broker (wss://mqtt.waev.app:443/mqtt) using WSS, verified TLS, and MeshCore JWT authentication with the broker host as the token audience.
    • Added get mqtt.waev and set mqtt.waev on|off to toggle the Waev broker, and added Waev to the Primary MQTT and Secondary MQTT dropdowns in the web panel.
    • Added per-broker JWT auth token lifetimes; Waev receives a 1-hour token to match its shorter maximum token lifetime, while the other brokers keep the existing lifetime.
    • Fixed the web panel so the Custom MQTT settings panel spans the full width of the MQTT Servers card when Custom is selected.
    • Updated the README and custom CLI guides for the Waev broker.

    Breaking Changes

    • None in this release.

    If you are upgrading from before 2026.6.4, that release's changes still apply: get mqtt.status switched from per-broker fields to p:/s: broker slots, and saved LetsMesh EU/US selections are cleared once on upgrade.

    Notes

    • 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.
    • 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
  4. v2026.6.4 # 2 variants 1 month ago · 2026-06-23 00:27 UTC
    observer eastmesh observer-eastmesh-v2026.6.4 View ↗
    observer eastmesh bridge espnow observer-eastmesh-bridge-espnow-v2026.6.4 View ↗

    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.

    This release replaces the retired LetsMesh brokers with the new MeshMapper broker and reworks broker selection into Primary and Secondary slots.

    What's Changed

    • Added the meshmapper curated broker (wss://mqtt.meshmapper.net:443/mqtt) using WSS, verified TLS, and MeshCore JWT authentication with the broker host as the token audience.
    • Added get mqtt.meshmapper and set mqtt.meshmapper on|off to toggle the MeshMapper broker.
    • Reworked the web-panel broker section into Primary MQTT and Secondary MQTT dropdowns that enforce the two-broker maximum and reveal the custom host, username, and password fields when Custom is selected.
    • Retired the unmaintained LetsMesh EU/US brokers; they remain selectable but are marked retired, and saved selections are cleared once on upgrade so dead brokers stop retrying.
    • Shortened get mqtt.status to report the two active broker slots as p:<broker>:<state> and s:<broker>:<state> (for example p:meshmapper:up), keeping the reply within the LoRa text limit.
    • Custom MQTT remains username/password only; no JWT/web auth is used for custom brokers.
    • Updated the README, web panel, and custom CLI guides for MeshMapper and the Primary/Secondary broker layout.

    Breaking Changes

    • get mqtt.status output changed from per-broker fields to p:/s: broker slots; update anything that parses the previous format.
    • Saved LetsMesh EU/US broker selections are cleared once on upgrade; re-enable a broker such as MeshMapper if you need a second uplink.

    Notes

    • eastmesh-au remains the recommended MQTT endpoint once mqtt.iata is configured; meshmapper is available as a global second broker.
    • 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, etc.). A maximum of two brokers can be enabled at once.
    • LetsMesh EU/US are retired but still selectable for legacy use.
    • Custom MQTT is available for private broker deployments. 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
  5. v2026.6.3 # 2 variants 2 months ago · 2026-06-09 10:19 UTC
    observer eastmesh observer-eastmesh-v2026.6.3 View ↗
    observer eastmesh bridge espnow observer-eastmesh-bridge-espnow-v2026.6.3 View ↗

    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.

    This release adds secure WebSocket transport support for custom MQTT brokers from the Observer web panel and CLI.

    What's Changed

    • Added TCP/WSS transport selection for custom MQTT brokers.
    • Added web-panel Custom MQTT transport control for switching between TCP and WSS.
    • Added CLI support for viewing and setting the custom MQTT transport.
    • Kept custom MQTT authentication to username and password only; no JWT/web auth is used for custom brokers.
    • Verified custom MQTT WSS connections with the ESP-IDF x509 root CA bundle.
    • Fixed custom MQTT WSS to use the /mqtt WebSocket path.
    • Configured custom MQTT WSS using a full wss://host:port/mqtt URI so ESP-MQTT handles the WebSocket connection consistently.
    • Updated get mqtt.status to show the custom MQTT transport and state, for example custom:wss:up.

    Breaking Changes

    None.

    Notes

    • eastmesh-au remains the recommended MQTT endpoint once mqtt.iata is configured.
    • Custom MQTT is available for private broker deployments.
    • 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 will connect 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
  6. v2026.6.2 # 2 variants 2 months ago · 2026-06-07 05:03 UTC
    observer eastmesh observer-eastmesh-v2026.6.2 View ↗
    observer eastmesh bridge espnow observer-eastmesh-bridge-espnow-v2026.6.2 View ↗

    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.

    This release improves Observer boot reliability, T-Beam S3 Supreme telemetry, Wi-Fi/OTA persistence, and web-panel archive maintenance.

    What's Changed

    • Fixed LilyGo T-Beam S3 Supreme BME280 detection and live telemetry.
    • Added board-specific I2C recovery for T-Beam S3 Supreme BME280 reads.
    • Changed live /stats sensor values to use the main-loop sensor snapshot.
    • Improved boot-time Wi-Fi startup on T-Beam S3 Supreme.
    • Added last-connected Wi-Fi channel learning with fallback to full scan.
    • Added NVS-backed Wi-Fi preference recovery so SSID and password survive OTA updates even if filesystem prefs are lost.
    • Hardened Wi-Fi retry handling so scan-mode connects are not interrupted early.
    • Fixed set wifi.powersaving none when power saving was already disabled.
    • Bounded archive neighbour restore and history reads to avoid slow boots from large SD-card archive files.
    • Added web-panel and CLI SD purge actions for supported SD-card targets.
    • Hardened OTA startup by binding before reporting success and falling back to alternate ports if port 80 is still busy.

    Breaking Changes

    None.

    Notes

    • eastmesh-au remains the recommended MQTT endpoint once mqtt.iata is configured.
    • Custom MQTT is available for private broker deployments.
    • 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.
    • Wi-Fi credentials are now mirrored into ESP32 NVS for OTA-safe recovery.

    Documentation

    xjarid.github.io/MeshCore-EastMesh

    Flashing

    Assets

    • .bin - standard update image
    • -merged.bin - full ESP32 image for flashing after erase
  7. v2026.6.1 # 2 variants 2 months ago · 2026-06-06 23:40 UTC
    observer eastmesh observer-eastmesh-v2026.6.1 View ↗
    observer eastmesh bridge espnow observer-eastmesh-bridge-espnow-v2026.6.1 View ↗

    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.

    This release updates Observer firmware to upstream MeshCore v1.16.0 with flood-advert controls, web panel refinements, and board/platform fixes.

    What's Changed

    • Added flood.max.advert so flooded advert packets can use their own hop limit.
    • Added web panel controls for scoped and unscoped flood max values.
    • Improved web panel login recovery and favicon handling.
    • Hardened OTA startup from the local web panel by waiting for the OTA HTTP listener before redirecting.
    • Merged upstream MeshCore v1.16.0 dev updates, including companion UI, board, radio, power-saving, documentation, and platform fixes.

    Breaking Changes

    None.

    Notes

    • eastmesh-au remains the recommended MQTT endpoint once mqtt.iata is configured.
    • Custom MQTT is available for private broker deployments.
    • 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
  8. v1.16.0 # 2 variants 2 months ago · 2026-06-06 23:20 UTC
    companion wifi companion-wifi-v1.16.0 View ↗
    repeater bridge espnow repeater-bridge-espnow-v1.16.0 View ↗

    MeshCore Repeater ESP-NOW Bridge

    Repeater ESP-NOW bridge firmware built from the upstream meshcore-dev/MeshCore firmware base.

    This release packages the existing upstream bridge functionality as EastMesh release assets.

    What's Changed

    • Added release builds for repeater-bridge-espnow-v* firmware artifacts.
    • Kept the version aligned with upstream MeshCore v1.16.0.

    Breaking Changes

    None.

    Flashing

    Assets

    • .bin - standard update image
    • -merged.bin - full ESP32 image for flashing after erase
  9. v2026.6.0 # 2 variants 2 months ago · 2026-06-03 02:49 UTC
    observer eastmesh observer-eastmesh-v2026.6.0 View ↗
    observer eastmesh bridge espnow observer-eastmesh-bridge-espnow-v2026.6.0 View ↗

    MeshCore EastMesh Observer

    EastMesh observer-eastmesh firmware for MeshCore boards with secure MQTT uplink and optional local web management, based on MeshCore firmware v1.15.0.

    This release updates Observer firmware with the latest upstream MeshCore dev changes plus EastMesh web panel, MQTT, radio, and board support fixes.

    What's Changed

    • Added configurable custom MQTT broker support alongside the curated EastMesh and LetsMesh endpoints.
    • Added Station G3 ESP32 Observer firmware targets.
    • Added flood.max.unscoped so unscoped flood packets can use a separate hop limit from scoped flood traffic.
    • Preserved web panel sessions across Wi-Fi reconnects.
    • Hardened OTA startup from the local web panel and existing Wi-Fi connections.
    • Hardened LilyGo T-Beam 1W radio setup.
    • Restored the missing SX126x register patch.
    • Merged upstream MeshCore dev updates, including sensor handling, RAK4631 BME680/BSEC support, documentation refreshes, and board/platform fixes.

    Breaking Changes

    None.

    Notes

    • eastmesh-au remains the recommended MQTT endpoint once mqtt.iata is configured.
    • Custom MQTT is available for private broker deployments.
    • 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.
    • If using LilyGo T-Beam 1W fan controls after upgrading, re-save your preferred fan settings if needed.

    Documentation

    xjarid.github.io/MeshCore-EastMesh

    Flashing

    Assets

    • .bin - standard update image
    • -merged.bin - full ESP32 image for flashing after erase
  10. v2026.5.1 # 2 variants 2 months ago · 2026-05-23 11:39 UTC
    observer eastmesh observer-eastmesh-v2026.5.1 View ↗
    observer eastmesh bridge espnow observer-eastmesh-bridge-espnow-v2026.5.1 View ↗

    MeshCore EastMesh Observer

    EastMesh observer-eastmesh firmware for MeshCore boards with secure MQTT uplink and optional local web management, based on MeshCore firmware v1.15.0.

    This release renames the EastMesh MQTT observer firmware and release track, aligning release tags and PlatformIO target names with the new Observer naming.

    What's Changed

    • Renamed the EastMesh MQTT release tag format from repeater-mqtt-eastmesh-v* to observer-eastmesh-v*.
    • Renamed *_repeater_mqtt PlatformIO environments and release artifact prefixes to *_repeater_observer.
    • Updated EastMesh release, local build, board, web panel, API, and CLI documentation to use Observer naming.

    Breaking Changes

    • The EastMesh MQTT release tag format and PlatformIO target suffix changed to Observer naming.

    Notes

    • eastmesh-au remains the recommended MQTT endpoint once mqtt.iata is configured.
    • 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.
    • If upgrading from a build older than observer-eastmesh-v1.3.11, use the web Start OTA button if start ota sends you through an odd redirect.

    Documentation

    xjarid.github.io/MeshCore-EastMesh

    Flashing

    Assets

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