Meshtastic vs Meshcore

La guerre fait rage, 2 technologies utilisant le même protocole radio mais de manière différente. Lequel est le meilleur ? C’est un peu plus compliqué que ça. Essayons de synthétiser les principales différences.

MeshtasticMeshcore
Qui relaie les messagesLes nœuds fixes ET mobiles, sauf si explicitement demandé (rôle client_mute)Uniquement les nœuds fixes (répéteurs)
sauf utilisation du mode « off-grid » (sur une autre fréquence, sans répéteurs, juste des compagnons qui peuvent répéter entre-eux).
Méthode de répétition des messagesAlgorithme optimisé pour éviter que tout le monde répète tout le temps via l’utilisation de rôles différents (router, router_late…) qui décalent ou bloquent l’émission si un nœud entend qu’un message qu’il s’apprête à transmettre a déjà été transmis par quelqu’un d’autre.
Pour les messages vers un utilisateur spécifique, méthode d’apprentissage du chemin lors du 1er message pour essayer de le réutiliser par la suite.
Pour les messages vers les canaux de discussion, chaque répéteur répète systématiquement.
Pour les messages vers un utilisateur spécifique, un chemin est appris lors du premier message et sera réutilisé lors des messages suivants. Si le message n’arrive pas il est alors réémis par tous les répéteurs.
Conséquence du choix de cette méthodeRalentissement de l’envoi des messages et si les rôles sont mal adaptés le message peut ne pas arriver.
Utilisation plus faible du temps d’émission.
Tout est fait pour qu’un message arrive, quitte à utiliser plus de temps d’émission. Mais comme seuls les répéteurs répètent il y a généralement moins de messages émis.
Télémétrie (information sur l’état des nœuds)Assez bavard : envoi toutes les X minutes ou heures d’informations d’existence, de localisation et éventuellement du niveau de batterie, température, liste des nœuds autour…
Il est facile d’utiliser énormément du temps d’émission disponible pour les informations « autour ».
Par défaut le plus silencieux possible : les informations sont disponibles uniquement lorsqu’on les demande.
Nombre de sauts (répétitions max avant d’atteindre le destinataire)3 par défaut, 7 maximum (déconseillé dans la documentation officielle).pas vraiment de limite, en pratique 64 dans le code.
Conséquence de l’ensemble de ces choixConseillé pour la création de « bulles » autonomes de petites communautés. Le fait que les nœuds personnels relaient les messages rend Meshtastic particulièrement adapté pour les usages mobiles (groupe de randonneurs par exemple qui peuvent communiquer sans imposer l’usage d’un répéteur fixe).
Selon les régions on ne pourra pas dépasser des liens de quelques dizaines de km avant d’atteindre la limite du nombre de sauts et/ou la perte de fiabilité.
Conseillé dès lors qu’on commence à mettre en place une infrastructure fixe sérieuse et fiable. On peut ainsi relier des communes qui elles-mêmes sont reliées à leurs voisines et ainsi développer un vrai réseau longue distance sur plusieurs centaines de kilomètres.
Le fait que les nœuds personnels ne relaient pas rendent le système peu utile s’il n’y a pas de répéteurs à proximité.
Stockage de messages lorsqu’un nœud n’est pas connectéSystème de stockage possible (store and forward). Rôle activé sur un nœud intermédiaire qui peut stocker les messages qu’il a entendu pour un destinataire qui ne serait pas joignable à ce moment. Lorsque le destinataire se reconnecte il peut récupérer les messages. En pratique il y a beaucoup de limitations et peu s’en servent.Nœuds « serveurs » (room servers) dédiés au stockage où on peut déposer des messages (publiques ou privés) à destination de personnes qui ne seraient pas en ligne à ce moment. Ces personnent peuvent ensuite aller les consulter (un peu comme une boîte mail qui serait partagée).
Stockage limité (32 derniers messages).
Utilisation d’internet (MQTT)Pour remonter la position des nœuds + analyse du trafic + éventuellement pour relier des bulles qui ne communiquent pas par radioQuasi inexistante, un peu pour faire de l’analyse de trafic mais pas prévu pour faire transiter les messages.
Licence / coûtGPL (v3) en pratique ça veut dire que tout est open-source / gratuit et qu’il n’y a pas d’usage commercial.Les principaux firmwares sont open-source sous licence MIT et donc gratuits. Cette licence permet également des usages commerciaux et de produire du code « fermé » (non publique) basé sur ces firmwares.
La principale application smartphone est ainsi fermée et impose (au choix) un délai d’attente de 10 secondes ou un petit paiement (unique, 5€) pour accéder à l’administration des nœuds à distance. Elle reste gratuite pour tous les autres usages (envoi/réception de messages, carte…). Le développeur actuel souhaite pour l’instant continuer à travailler seul pour être libre de ses mouvements.
Quelques firmwares avancés (pour le t-deck notamment) plus jolis sont également limités sauf à acheter un code de déblocage.
Une application smartphone open-source est en cours de développement et déjà largement fonctionnelle.
Communauté de développementTrès grande et diversifiée : firmwares, applications, traduction, … les propositions de tout le monde sont régulièrement intégrées dans le code.Assez limitée pour l’instant : 3 personnes définissent principalement les grandes lignes du projet. Une petite communauté s’empare de ce qu’il y a autour : adaptation des firmwares sur différents matériels, développement d’applications alternatives…
Date de création2020
Le projet est largement implanté dans le monde (plus de 37 000 nœuds) et évolue doucement et régulièrement.
mars 2025
C’est un projet très jeune mais qui fonctionne déjà très bien et grandit donc très vite (28 000 nœuds en un an). Né en Angleterre, il est désormais quasiment possible d’envoyer des messages du nord au sud du pays.
LangueAnglais à la base, mais l’application smartphone et le flasheur de nœuds sont traduits en FrançaisAnglais à la base, mais l’application officielle et meshcore-open ont été traduites en français. Le flasheur reste en anglais pour l’instant.

Alors on en tire quoi comme conclusion ?

Il n’y a pas de bon et de mauvais choix. Meshtastic est là depuis bien plus longtemps, a une communauté plus importante et bien implantée en France et dans le reste du monde. C’est un outil qui a fait ses preuves… et aussi qui a montré ses limites. Faire le choix Meshtastic c’est avant tout focaliser sur :

  • le côté mobile, agile et résilient : même si tous vos répéteurs sont détruits par une tornade vous pourrez toujours communiquer via vos nœuds personnels et compter sur les nœuds mobiles de vos voisins pour recréer un petit maillage, imparfait, avec une portée probablement très réduite, mais existant.
  • la carte de la sécurité pour une petite bulle locale : c’est testé depuis des années, ça s’affine avec le temps, avec du bon et du moins bon, mais des limites qu’on connait.

A l’inverse, Meshcore est beaucoup plus récent, en pleine évolution, avec probablement d’autres problèmes à venir, par exemple quand chaque message pourra traverser l’Europe il faudra brider les répéteurs (c’est déjà en cours de développement pour mettre en place des notions de région) mais le constat qui est souvent fait c’est que :

  • Meshcore achemine les messages plus rapidement et de manière plus fiable.
  • Lorsqu’une zone est couverte, si l’on trouve le moyen de relier une autre zone couverte, on a la certitude que désormais les messages pourront aller d’une zone à l’autre. Donc si on fait un pont entre deux communes, on peut ensuite communiquer sans souci entre ces deux communes. Si la seconde en rejoint une troisième, on peut alors échanger entre ces 3 communes, et ainsi de suite. Pour désenclaver une zone et pouvoir échanger avec des personnes un peu lointaines en situation dégradée c’est assez rassurant (famille, employés communaux qui demandent de l’aide autour d’eux, obtention d’informations sur ce qui se passe plus loin…)
  • Étant donné sa jeunesse et sa vitesse d’évolution c’est parfois encore un peu brouillon : certaines fonctionnalités sont disponibles dans les firmwares mais pas dans les applications et peuvent nécessiter de passer par une ligne de commande pour les activer/configurer. Pas encore de traduction en français de l’application officielle…
  • Justement une fonctionnalité très récente dédiée aux usages mobiles hors zone couverte par des répéteurs vient d’être ajoutée. Elle permet la création d’un réseau de compagnons en mode dit « off-grid » où les compagnons répètent également les messages pour les autres compagnons. Pour ne pas reproduire les problèmes de Meshtastic, ce mode est vraiment séparé, fonctionne sur une autre fréquence (869.00MHz et non pas 869.618MHz), et est à activer manuellement en cas de besoin.

Historiquement Gaulix n’utilisait que Meshtastic (logique vu l’année de sortie), mais nous faisons beaucoup de tests avec Meshcore ces derniers mois, notamment sur la région Lyonnaise, avec des résultats très convaincants. D’une manière générale les personnes qui cherchent à mettre en place une infrastructure sérieuse qui testent Meshcore après des années sur Meshtastic ont toutes tendance à basculer totalement sur Meshcore. Faut-il y voir un signe ?

A l’international le mouvement est le même. Il y a l’Angleterre bien sûr, mais également certaines grosses villes aux Etats-Unis (Seattle, Boston…) qui ont complètement basculé sur Meshcore. L’Allemagne, les Pays-Bas, la Belgique et pas mal de Pays de l’est sont également en train de très fortement développer la couverture Meshcore.

… choix complique n’est-ce pas ? Mais n’oubliez pas que le plus important reste la mise en place du matériel sur les points hauts et la création d’un réseau qui répond au besoin des utilisateurs. Et quelle que soit la technologie choisie – qui par essence est évolutive – il sera toujours possible d’en changer par la suite. Le matériel restant le même. Enfin certains utilisateurs Gaulix travaillent sur la création de passerelles afin éventuellement de faire passer les messages d’un réseau vers l’autre. Bref, vous l’aurez compris, il n’y a pas de mauvais choix… il faut juste choisir le plus adapté par rapport à ce que vous souhaitez mettre en place et garder l’esprit ouvert.