OSHI vs MeshCore: Phone Mesh vs Routed LoRa Mesh

OSHI is a free, open-source, end-to-end encrypted messenger for iOS and Android that uses Bluetooth and Wi-Fi mesh networking to send messages without Internet or cellular service. MeshCore is an open-source (MIT) C++ mesh routing library and firmware for LoRa boards, with companion apps for iOS, Android and the web. This comparison uses MeshCore's own site, README and FAQ as sources and says plainly where each is the better tool.

What MeshCore is

MeshCore describes itself as "a lightweight, portable C++ library that enables multi-hop packet routing for embedded projects using LoRa and other packet radios." In practice it is a family of firmwares for the same class of boards Meshtastic runs on (Heltec V3, LilyGO T-Deck, RAK WisBlock RAK4631, Seeed T1000-E and others), plus phone and web apps that talk to a board over Bluetooth, USB or Wi-Fi. Its main design difference from Meshtastic is routing: a MeshCore repeater "does not forward or retransmit every packet it receives, unlike other LoRa mesh systems", and direct messages learn a path on the first flood and then reuse it. The project splits nodes into three roles: Companion (paired to your app; never repeats), Repeater (extends coverage) and Room Server (a simple BBS for shared posts).

Feature comparison: OSHI vs MeshCore

FeatureOSHIMeshCore
Hardware requiredNone — phones mesh over Bluetooth LE and Wi-Fi Direct; a LoRa node is optionalYes — a LoRa board per participant (companion) plus optional repeaters and room servers
Phone appiOS 17.5+, macOS 14.5+; Android APK sideloaded (not on Google Play)MeshCore app by Liam Cottle for iOS and Android; web client at app.meshcore.nz; MeshOS apps for desktop
Encryption modelX3DH + AES-256-GCM, Curve25519 (Signal-style construction). The Double Ratchet, and with it forward secrecy and post-compromise security, runs in the v3 session format only — the older v2 format does not ratchet and most of the installed base is still on v2 (status). Adds X-Wing (ML-KEM-768 + X25519) hybrid post-quantum key agreement where both ends support it. Group chat uses a shared envelope, not the 1:1 construction. LoRa link itself not encrypted by OSHI (App Store listing)meshcore.co.uk states "AES-128 encryption" and that "not even relay nodes can read your content". Key exchange details and forward secrecy: not verified on the official pages we could read
Group / channel modelGroups with invite links; group names and member lists visible to the OSHI server on the Internet path (App Store listing)Direct messages routed along a learned path; "group channels are A to B, so there is no defined path. They have to flood" (MeshCore FAQ); room servers for shared posts
Range per hopBluetooth about 100 m open air; Wi-Fi Direct 50–200 m; LoRa node 2–5 km city to 15–50+ km open terrain (OSHI field figures)"LoRa radio technology reaches 10km+ line-of-sight" (meshcore.co.uk)
HopsUp to 5 phonesInternal firmware limit of 64 hops (FAQ)
What can be sentText, photos, voice notes, files, live location, view-once media, encrypted calls when an IP path existsShort text messages and posts; telemetry on some boards. Photos and voice: not supported over LoRa
Works over the Internet tooYes — same app uses Internet or Tor when available and queues for the mesh when notRadio-only by design; Wi-Fi is a way to reach your own companion node, not a message transport (not verified beyond that)
Open sourceCryptographic core, mesh layer and bot SDK under MIT; app shell not publishedFirmware under MIT; "everything is open source except the T-Deck firmware and Liam's native mobile apps" (FAQ)
Phone number / accountNone — keypair identity, QR or link to add contactsNone — node identity is a keypair on the board
PriceFree app; optional board at vendor priceFree firmware and apps; one board per person at vendor price (not verified per model)

Sources: meshcore.co.uk, github.com/meshcore-dev/MeshCore README and docs/faq.md (read 2026-09-07), oshi-messenger.com/lora/, OSHI App Store listing v1.0.39. "Not verified" marks claims we could not confirm on an official page.

Where MeshCore genuinely wins

Where OSHI is different

Can they be used together?

Not today. OSHI pairs with a node running Meshtastic 2.x firmware over Meshtastic's Bluetooth service; MeshCore firmware is not in OSHI's supported list and nothing on either project's site documents a bridge. OSHI's node layer is described as firmware-neutral, so a second family would be an adapter rather than a rewrite, but that is a statement about architecture, not a shipped feature. Do not buy a MeshCore-flashed board expecting OSHI to use it.

Who each suits

Choose MeshCore if you are a radio hobbyist or a team that already owns LoRa boards, wants efficient routing across many repeaters, and is happy with short text. Choose OSHI if most of your people will never carry a radio, you need photos, voice and calls, and you want the same app to keep working when the Internet comes back. Many groups will run both: MeshCore for the backbone, OSHI on everyone's phone. See also every LoRa messenger compared and OSHI vs Meshtastic.

Frequently asked questions

Does MeshCore need hardware?

Yes. MeshCore is firmware for LoRa boards such as the Heltec V3, LilyGO T-Deck and RAK4631; the phone app is a companion to a board you own. OSHI needs no hardware because the phones mesh directly.

Is MeshCore open source?

The firmware is MIT-licensed. The project's FAQ states that everything is open source except the T-Deck firmware and Liam Cottle's native mobile apps.

How does MeshCore differ from Meshtastic?

Routing. MeshCore repeaters do not retransmit every packet; direct messages learn a path on the first flood and reuse it, and only group channels flood. Meshtastic floods with a hop limit (default 3, maximum 7).

Can OSHI use a MeshCore node?

No. OSHI currently pairs with nodes running Meshtastic 2.x firmware. MeshCore support is not documented and should not be assumed.

Which is more secure?

Between two OSHI phones, OSHI uses X3DH and AES-256-GCM, with a Double Ratchet and forward secrecy in its v3 session format only — its older v2 format does not ratchet and most OSHI users are still on v2. MeshCore states AES-128 encryption with relays unable to read content; its key agreement and forward secrecy were not verified on the pages we read. On OSHI's own LoRa link, OSHI does not encrypt the air link.

Try OSHI free

Encrypted messaging with no phone number, offline Bluetooth and Wi-Fi mesh, an optional LoRa node, offline maps and on-device AI.