How does the "mesh" of meshtastic work?

Hello,

is there any document suitable for beginners to understand how the meshtastic “mesh” works ?

I have got a lot of questions.

Do the nodes broadcast their neigbours to their other neigbours ?
Is there a frequently “ping” or “hello” message traveling through the mesh ?
How is the location, gps position shared between nodes ?
Does this happen frequently ?

Assume the following scenario:

A -- B -- C
  • node A and B can communicate with each other
  • node B and C can communicate with each other
  • node A and C can’t communicate directly with each other because they are out of reach

If I understand correctly, A can send a message to C via B (and vice versa).
How is that working ?

I read about a router mode where the device (e.g. B) never goes to sleep.
Why is that ? Just because messages can travel faster ?

Is it neccessary to run B in router mode (bad for battery live), or is it possible
to run all nodes with the same settings and still make it possible to forward messages to the mesh ?

Is this explained somewhere ?

Thanks in advance
Lixus

1 Like

Do you have any devices on hand?

No, not yet.

Before I buy three devices, I want to find out by reading how mashtastic works
and if it is something for me.

I am specially interested in the 3 node scenario as mentioned above
where A and C exchange messages via B and B is at an exposed position on top of a tower or hill.

Furthermore I am still not sure what devices to buy and what frequency ( 868 vs 433 Mhz) .

If I understand correctly, A can send a message to C via B

Correct. You could also have D and E, with A reaching E (but you need to change hop_limit, by default it is 3).

On each node you can define one or more “channels”, so that one network is made by A, B and C, another by A, C and E, another by B and D; however, all nodes forward messages for any channel.

Other things nodes do is announce themselves so each other knows they exist, and share their position.

Conceptually:

  • Radio never sleeps
  • CPU sleeps if there’s nothing to send/receive
  • Bluetooth only wakes every 5 mins (unless it’s BLE V5) to send/deliver messages to phone
  • If the device is unused for several hours, the device basically turns off (so “Radio never sleeps” isn’t actually true)

is_router disables the latter, almost disables bluetooth (you have to enable it by hand), and changes a few other timings.

However, there’s much “DIY” in setting up this; antenna position is important, obstacles reduce range, installation could easily become tricky.

For more general details I’d have a look at introduction, settings and power management in docs.

4 Likes

Thank you mumon66 for that helpful explanation !

This is an old post but exactly the question i have.:

If I understand correctly, A can send a message to C via B

Correct. You could also have D and E, with A reaching E (but you need to change hop_limit , by default it is 3).

My question is where do i type node C to send a message? Because C is not in my list.

C will occationally send a Device information message which is rebroadcasted by other nodes and will reach your node… then it will show up in your list.

if it does not, you can still try to send message to all (to channel)

For 5 nodes in a row, 3 hops is enough, see also the documentation.

Tnx! This is what i didn’t understand. Now i do.