txtMesh

Send and receive messages between the MeshCore and SMS text networks.

An SMS gateway for MeshCore LoRa mesh networks. Send texts to any phone number from your MeshCore device, and receive replies right back over the air.

MeshCore
5185551234 Hey, headed to the trailhead
SMS sent to ***1234
📱 Sarah: Nice! See you in 20
WX
68°F Partly cloudy • High 74°F
txtMESH
SMS
Mike [a1b2]: Hey, headed to the trailhead
Nice! See you in 20
SAVE mike a1b2
Saved: mike → a1b2

How It Works

Three steps between a MeshCore radio and any phone on the planet.

📻

MeshCore user sends a DM

Type a phone number and message on your MeshCore device. The gateway receives it over LoRa.

🔀

Gateway relays via SMS

txtMesh sends the message as an SMS to the recipient's phone number.

📱

Phone user replies

SMS replies are received by the gateway and delivered back to the MeshCore user over LoRa.

Features

Everything you need for a reliable MeshCore-to-SMS gateway.

Bidirectional SMS Relay

Full two-way messaging between MeshCore devices and any phone number. ACK-based delivery with multi-part message splitting.

Session Management

Automatic session tracking for active conversations. Configurable timeouts, max session caps, and rate limiting per user.

Token Billing + Stripe

Optional token-based billing with Stripe checkout and auto-refill. Sender-pays model with configurable onboarding credits.

Weather & PING

WX command for current conditions and 3-day forecasts. PING for live firmware trace with per-hop SNR, per-leg distance, and health summary.

Message Retry System

Failed deliveries retry with exponential backoff. Persistent queues survive restarts. Separate SMS and MeshCore retry tracking.

Saved Contacts & Away

Save friendly aliases for phone numbers and hex codes. Away mode with auto-away detection notifies senders you're offline.

Dashboard & 23 Sensors

Health monitoring dashboard with traffic graphs, session tables, and billing admin. 23 sensor entities track every aspect of the gateway.

Automations & Repair Alerts

Device triggers for SMS and session events. Automatic repair alerts for auth failures, low balance, stale webhooks, and misconfigs.

Auto-Discovery & Signal Test

Contact registry with auto-pruning. Signal test bot auto-replies on the MeshCore public channel with location, path, and distance info.

Discord Bridge

Optional bidirectional Discord relay with per-user identicons, signal footers, repeater echo counts, reaction matching, and channel auto-prune.

Command Preview

Simple text commands on both sides of the bridge.

MeshCore Side
You (MeshCore DM) 5185551234 Hey, coming to the trailhead?
txtMesh💬 SMS sent to ***1234
txtMesh💬 📱 1234: Yeah! Be there in 20
You (MeshCore DM) SAVE trail 5185551234
txtMesh💬 Saved: trail → ***1234
You (MeshCore DM) WX
txtMesh💬 Saratoga County
☀️ 72°F @ 2:30p

Wind: 5 mph SW | Humidity: 45%
SMS Side
You (SMS) a1b2c3 Hey, can you see the summit?
txtMesh💬 Sending to MeshCore user Mike [a1b2]...
txtMesh💬 Mike: Yeah! About 2 miles out
You (SMS) Nice, I'll meet you at the trailhead
txtMesh💬 Mike: Sounds good, see you in 20
You (SMS) SAVE mike a1b2c3
txtMesh💬 Saved: mike → a1b2c3

Changelog

Recent updates to txtMesh.

v1.4.0 Reliable Delivery & Audit Logs

Reliable Mesh Delivery

  • Direct MeshCore API for retries — preserves timestamp and attempt across retries so client-side dedup works correctly. Retries appear as the same message, not duplicates.
  • Flood fallback on stale paths — when a path-routed send gets no ACK, the gateway resets the path and retries via flood to find nodes that have moved.
  • Separate flood retry config — new option controls flood retries independently from DM retries.

User Activity & Accountability

  • Per-user audit log — every account tracks DMs sent/received, SMS sent/received, and token operations with timestamps.
  • Last Seen column — billing dashboard shows when each user was last active.
  • Broader last-seen tracking — updates on public channel messages and advert discovery, not just DMs.
  • Dashboard activity viewer — view any account's full event history from the dashboard.

SMS Notifications

  • Tightened delivery failure messaging to accurately reflect the retry flow.
  • Clear distinction between “retrying” and “gave up” notifications.

Gateway Live

Real-time stats from an active txtMesh gateway.

-- SMS Sent
-- SMS Received
-- MeshCore Sent
-- MeshCore Received
-- Active Sessions
-- Uptime
-- Gateway
-- Version
Loading...