Questions

Tern, Meshtastic and MeshCore

How is Tern different from Meshtastic and MeshCore?

All three are LoRa meshes on the same kinds of board. Tern is built around a few choices of its own:

  • Airtime is the thing to save. A LoRa channel is slow and shared, so Tern routes each message along a path instead of flooding it everywhere, and is designed to give each node a budget of time on the air. Why Tern has what the simulator measured, beside Meshtastic and MeshCore.
  • An address is a public key. Who you are writing to is something you can check, with the short code, not a number you are told.
  • No public channel. Every conversation is with a contact or a group you joined. People find each other nearby through presence cards, which are off until you turn yours on.
  • An open specification first. The protocol is a written specification with test vectors; the firmware and apps are implementations of it, and anyone may write another.

Meshtastic and MeshCore are far more mature: many more boards, years of use, large communities. Tern is an alpha.

Can a Tern node talk to Meshtastic or MeshCore nodes?

No. The protocols are different, and Tern uses its own sync word, so the radios do not even decode each other's frames; they only hear each other as noise on the channel.

Will my Meshtastic or MeshCore board run Tern?

Very likely: Hardware lists the boards the firmware is built for, and the flash page offers every one. The Heltec V3 has been checked on hardware; the others are built from their makers' documents and wait for someone to try one.

Can I go back to Meshtastic or MeshCore?

Yes. Flash their firmware again the way they say to. Flashing replaces what is on the board, and its settings, both ways.

Privacy and security

Are my messages encrypted?

Yes. A message to a contact goes over a session only your two nodes hold the keys to, set up with a handshake that proves each holds the key behind its address; each new session has new keys. A group's messages are sealed with the group's secret, which every member holds.

Tern is an alpha, and nobody outside the project has yet reviewed its cryptography. Do not trust it with anything that matters.

What can someone nearby with a radio learn?
  • That nodes are there, and roughly how they are linked: each node announces itself in clear, with a short routing id, its role and the neighbours it hears. Its address goes to its neighbours this way too, so anyone nearby can learn it.
  • Which node a message is going to, by routing id, but not what it says, and not who sent it, but for the first frame of the handshake two nodes make the first time they write.
  • Your node's address and the name you chose, if you turn your presence card on.

Your position goes only to the contacts and groups you share it with, at the precision you choose. The specification's routing draft has the full list.

What do the apps send to the internet?

Nothing of your messages. The apps fetch the firmware release list from this site, and the map fetches its tiles, which tells the tile server which area you are looking at. The privacy page has all of it. There are no accounts, and no analytics.

Why is there no public channel?

A channel everyone shares is a channel everyone can read, and one where every message reaches every node, which costs the whole mesh airtime. Tern keeps conversations to the people in them. To meet people nearby, turn on your presence card, or exchange QR codes.

The radio

Is it legal to use?

Tern uses the licence-free bands each region sets aside, at settings chosen to follow that region's rules as written, and in EU868 it keeps to the 10% limit on sending. But nothing here is certified, and whoever runs a radio answers for it: keep the power within what your region allows, and keep an antenna fitted.

Which countries can use it?

The firmware has settings for the United States and Canada (US915), Europe (EU868), Australia (AU915) and New Zealand (NZ915). Each release says which it has images for. Other countries wait on settings for them in the specification.

How far does it reach?

That depends far more on where the antennas are than on the protocol: LoRa links of several kilometres are ordinary between nodes with a clear line between them, and a few hundred metres among buildings. A relay up high carries messages further. Tern's own reach on real radios has not been measured yet.

How long does a battery last?

Not measured yet. As a rule, an nRF52840 board runs for days on a cell where an ESP32 board runs for hours, and a relay uses more than a leaf. Sleeping leaves are in the design and not yet built.

Using it

Does it need a phone signal or the internet?

No. Nodes talk to each other by radio, and the app talks to its node over Bluetooth or USB. The internet is needed only to download the apps and firmware updates.

How many contacts, groups and conversations can a node hold?

On the current release, 16 contacts, 4 groups and secure sessions with 8 people at once, and its latest 32 messages; the apps keep the whole history. The next release raises that to 32 contacts, 8 groups and 16 sessions on ESP32-S3 and nRF52840 boards.

Does it cost anything?

No. The firmware, the apps and this site are open source, under the Apache License 2.0, and the specification under CC-BY 4.0. There is nothing to sign up for.

What does Tern not do yet?
  • Telemetry and sensors, and a view of the path a message took.
  • Holding messages for a node that is away, beyond what its own node keeps.
  • Bridges to the internet or to other meshes.
  • Managing another node remotely.
  • Leaves that sleep on a schedule, and links that each pick their own speed. The airtime budget is in the firmware since 0.5, but has not yet been measured holding a frame back on a board.

Getting involved

Where can I ask a question or report a problem?

On GitHub, in the repository it is about: the firmware, the Android or Apple app, or this site. A question about the protocol goes to the specification.

How can I help?
  • Try a board marked Built on Hardware, and say how it went: that is how a board becomes one that runs.
  • Try Tern with friends, and report what was confusing or broke.
  • Contribute code or text: each repository's CONTRIBUTING file says how, and every commit is signed off under the Developer Certificate of Origin. The governance says who decides what goes in.