All firmwares

Trail Mate

Custom

Offline-first handheld firmware for navigation and LoRa communication with native MeshCore and Meshtastic packet paths, maps, team coordination and field-oriented device tools.

Maintainer
vicliu624 ↗
Status
Active
Maturity
Alpha
Lifecycle
Active
Latest version
0.1.39-alpha
Released
2026-07-31
Runtime
ESP-IDF · C++
Distribution
Community
Licensing
Open source
License
AGPL-3.0

Capabilities

Transports

  • BLE
  • USB serial

Hardware

  • GPS
  • Display
  • Sensors

Protocol

  • MeshCore compatible

Node role

CompanionStandalone UI

Features

  • MeshCore and Meshtastic messaging
  • GPS maps and track recording
  • Team location and waypoint exchange
  • USB host-link stream

Project signals

popularity 2026-08-08 verification 2026-08-08
GitHub stars
454
Forks
51
Watchers
13
Open issues
8
Contributors
2
Release downloads
3,580
Latest downloads
220
Source available
Yes
Releases available
Yes
CI builds
Yes

Releases

from GitHub · updated 2026-07-31
  1. v0.1.39-alpha # Latest Pre-release 8 days ago · 2026-07-31 09:33 UTC

    [0.1.39-alpha] - 2026-07-31

    Fixed / 修复

    • Stabilized the ESP Meshtastic MQTT session so connection, subscription, and keepalive progress are tracked explicitly through CONNACK, SUBACK, and PINGRESP deadlines; reconnects use bounded exponential backoff, control-plane replies cannot be starved by ordinary Wi-Fi traffic budgets, and inbound QoS 1 publishes are acknowledged with PUBACK. Transient publish failures now retain the in-flight uplink for retry, while a full bounded uplink queue rejects low-priority NodeInfo, position, telemetry, and traceroute reports before they can displace text, control, or encrypted traffic. / 稳定 ESP 端 Meshtastic MQTT 会话:显式跟踪 CONNACK、SUBACK 与 PINGRESP 的连接、订阅和保活时限;重连采用有界指数退避,控制面响应不会再被普通 Wi-Fi 流量预算饿死,入站 QoS 1 发布会正确回复 PUBACK。临时发布失败会保留正在发送的上行消息以便重试;有界上行队列满时,NodeInfo、位置、遥测和 traceroute 等低优先级上报会先被拒绝,不再挤掉文本、控制或加密流量。

    Full Changelog: https://github.com/vicliu624/trail-mate/compare/v0.1.38-alpha...v0.1.39-alpha

  2. v0.1.38-alpha # Pre-release 9 days ago · 2026-07-30 02:27 UTC

    [0.1.38-alpha] - 2026-07-14

    Breaking Changes / 破坏性变更

    • BLE connections to Meshtastic and MeshCore apps are no longer supported. In 0.1.38-alpha, Meshtastic and MeshCore companion apps can no longer connect to Trail Mate over BLE. If you need to keep using either app over BLE, do not upgrade to this version. This does not remove Trail Mate's on-device Meshtastic or MeshCore protocol modes. / 不再支持通过 BLE 连接 Meshtastic 与 MeshCore App。0.1.38-alpha 开始,Meshtastic 与 MeshCore 配套 App 无法再通过 BLE 连接 Trail Mate;如果仍需要这种使用方式,请不要升级到此版本。Trail Mate 设备端的 Meshtastic 与 MeshCore 协议模式并未因此移除。

    Added / 新增

    • Added route-photo completion and preview for KML files exported by 2bulu (两步路). / 新增对两步路导出的 KML 路线文件进行图片补全与预览的能力。
    • Significantly expanded Reticulum support with LXMF message sending and Reticulum calls, together with an initial subset of Nomad Network page-browsing capabilities. / 大幅推进 Reticulum 支持:现在可以发送 LXMF 消息和进行 Reticulum call,并具备初步的 Nomad Network 页面浏览能力。
    • Added direct on-device configuration for MQTT and Meshtastic/MeshCore channel settings, without depending on a companion app for setup. / 新增直接在设备上配置 MQTT 以及 Meshtastic/MeshCore 频道的能力,无需依赖配套 App 完成设置。
    • Added configurable automatic replies for private Meshtastic, MeshCore, and Reticulum text messages: while the display is asleep, Trail Mate can immediately reply through the originating conversation using the user-defined message. Broadcast/group traffic, unverified Reticulum sources, and self-originated messages are excluded. / 新增可配置的私聊自动回复:屏幕处于息屏状态时,Trail Mate 可对 Meshtastic、MeshCore 与 Reticulum 的私聊文本消息立即按原会话回复用户设定的内容;广播/群组消息、未验证的 Reticulum 来源以及本机发出的消息均不会触发回复。

    Changed / 变更

    • Reworked the built-in Emoji picker into a curated 324-item, nine-category catalogue for outdoor, radio, survival, rescue, people, and animal communication. The picker now uses fixed reusable controls with category selection and pagination instead of creating every emoji button at once; T-LoRa Pager uses text-only category cards plus wider keycap-style B/N paging and C/Q actions. The full-screen picker is also attached to the active screen so an Alt double-press screenshot captures the visible picker. / 重做内置 Emoji 选择器:现为面向户外、无线电、生存、救援、人员与动物交流的 324 项九分类目录。选择器改为固定复用控件,提供分类和分页,不再一次性创建全部 emoji 按钮;T-LoRa Pager 使用纯文字分类卡,以及更宽的键帽式 B/N 翻页和 C/Q 操作提示。全屏选择器也改挂在 active screen 上,双击 Alt 截图会捕获当前可见的选择器。

    Project Direction / 项目方向

    • Trail Mate is moving toward fully phone-independent operation so devices can work on their own, and 0.1.38-alpha is another step in that direction. Feedback on this direction, and on workflows that still require a phone, is welcome. / Trail Mate 正在朝着完全脱离手机依赖、让设备能够独立工作的方向推进,0.1.38-alpha 是这一方向上的又一步。欢迎大家对这一方向提出意见,也欢迎指出目前仍必须依赖手机的使用场景。

    What's Changed

    Full Changelog: https://github.com/vicliu624/trail-mate/compare/v0.1.37-alpha...v0.1.38-alpha

  3. v0.1.37-alpha # Pre-release 1 month ago · 2026-07-04 10:34 UTC

    [0.1.37-alpha] - 2026-07-04

    Changed / 变更

    • Reworked the Settings Date/Time dialog into a bounded six-column datetime picker for year, month, day, hour, minute, and second, replacing free text input with scroll-only selection, explicit keyboard focus traversal, and automatic day-range clamping. / 将 Settings 的日期时间弹窗重做为有界六列 datetime picker(年、月、日、时、分、秒),用滚动选择替代自由文本输入,补上明确的键盘焦点移动顺序,并自动收口当月合法日期范围。

    Fixed / 修复

    • Fixed Shutdown confirmation dialog CJK rendering by routing translated labels through the shared localized font fallback instead of forcing the ASCII Montserrat font. / 修复 Shutdown 确认弹窗的中文显示:翻译文本改走共享 localized font fallback,不再强制使用只覆盖 ASCII 的 Montserrat 字体。

    Full Changelog: https://github.com/vicliu624/trail-mate/compare/v0.1.36-alpha...v0.1.37-alpha

Show all 20 releases →