A MeshCore LoRa mesh chat app for the Tanmatsu badge, fully interoperable with the MeshCore iOS/Android app: encrypted direct messages and public channel chat over LoRa.
All views: screenshots.
- End to end encryption — Ed25519 identity, DMs over ECDH + AES, channels over a shared key.
- DMs, channels and contacts — per contact conversations with delivery ACKs,
user added
#channels, and encrypted chat history on SD. - On-device map and GPS — a slippy OSM map with a live position from any of five sources.
- Regulatory helper — per country frequency and power limits with hard duty cycle enforcement.
- More — HTTPS with a self generated cert, a BLE companion radio, notification sounds, and a QR contact card.
Install on a recovered Tanmatsu: open the launcher, run Tools → Firmware update (this pulls the radio firmware MeshCore needs), then install MeshCore from the appstore. Version 3.8.0 and newer are built for BSP 2, so the app is also offered on boards with the second display panel.
Build it yourself (needs the Tanmatsu ESP-IDF 6.0.2 toolchain, or use the Docker recipe in Build / Deploy):
make build DEVICE=tanmatsu # build/tanmatsu/*.bin
make upload DEVICE=tanmatsu # badgelink AppFS upload, keeps the launcherEverything beyond this page lives in docs/.
| Page | About |
|---|---|
| Getting started | First run: set your Owner + Advert name, then get on the air |
| Blueprint | Design rationale and how to program in this project |
| Architecture | The enforced layers, forbidden includes, wire boundary |
| Overview | The mc_* components and how they interact |
| Protocol | Packet types, encryption, ACK |
| UI / UX | Views, key bindings, edit-mode state machine |
| Settings / NVS | Persistent keys, defaults, regulatory tables |
| GPS sources | The four input paths and how to wire them |
| Maps · Sounds · SD layout | Feature detail |
| C6 radio · Build / Deploy | Hardware and toolchain |
The app is split into ESP-IDF components with a compiler enforced dependency
graph; pure logic is host tested off device. Start with
docs/architecture/Blueprint.md and the
contributor checklist. AI pair programmers: the same
model is in .claude/. Issues and ideas go to
the tracker. This is a
community build, not the official MeshCore app.
MIT, see LICENSE. Third-party components and their licences are in AUTHORS.
Developed by CJ van Soest with Claude AI (Anthropic) as AI co-author.