This website requires JavaScript.


Avis de congé: Les usines JLCPCB seront fermées le 1er janvier 2026.Les services DHL/FedEx/EuroPacket seront suspendus les 1er et 2 janvier.Les commandes restent possibles ; les délais de livraison seront ajustés.


Bons Plans Installer Maintenant
Expédier à
Blog

DIY Meshtastic avec un Raspberry Pi PICO-Zéro – Projet réalisé avec JLCPCB

Publié initialement Nov 28, 2025, mis à jour Dec 27, 2025

8 min

I. Introduction


Meshtastic(1) est un projet open-source qui vise à créer des réseaux de communication décentralisés et autonomes. Plusieurs articles ont déjà été publiés sur le sujet en utilisant la plateforme de programmation officielle (2).


Mais si l’on veut utiliser un microcontrôleur avec un modem LoRa qui n’est pas dans la liste, la seule solution est de recompiler une version personnalisée en modifiant le paramétrage d’un fichier. Seulement voilà, la recompilation nécessite un environnement de développement précis (platform.io couplé la plupart du temps avec Visual Studio Code).


Ce travail d’installation et de recompilation est la plupart du temps réalisé par des Om qui ont une expérience solide de l’environnement de développement.


Heureusement il existe une solution pour recompiler de façon personnalisée le code source du logiciel Meshtastic sans rien installer sur son PC. Ce projet, dont le circuit imprimé provient de la Fabrication de JLCPCB, illustre cette approche autour d’une carte réalisée avec un Raspberry Pi PICO-Zéro.

Caractéristiques matérielles de la carte :

- Raspberry PI PICO-Zéro RP2040 ;

- Module LoRa RA-02 (QRP 433Mhz);

- Capteur I²C BME 680 en option ;

- GPS ATGM336H en option ;

- OLED SSD 1306.

board_qrp_bis

Présentation du prototype final

II. Main Content



1. Description du schéma structurel


le schéma structurel de la carte

Le schéma structurel de la carte



Le choix s’est porté sur le microcontrôleur RP2040 et plus particulièrement le Raspberry PI PICO-Zéro. En effet j’ai déjà utilisé ce circuit pour le projet dongle USB CW publié récemment. De plus le tarif est très intéressant, on en trouve pour moins de 2€. Couplé à un modem Lora RA-02, l’ensemble simple à fabriquer et à programmer est imbattable en termes de coût de revient.


Le bus I²C est évidemment présent pour gérer l’afficheur OLED 128x64 ainsi que le capteur BME680. Il est possible d’utiliser un capteur BMP280 ou BME280. La liaison série est aussi disponible pour le récepteur GPS. A noter qu’il n’est pas nécessaire de câbler ces deux modules externes (capteur et GPS) pour une utilisation simple d’envoi et de réception de message.


Le connecteur J2 toujours optionnel permet de mesurer une tension externe. Cela peut être une batterie ou un autre élément d’alimentation. Attention de changer le diviseur de tension formé par R2 et R3 en conséquence.


Le bouton poussoir a pour rôle de naviguer dans les différents menus de l’afficheur.


L’alimentation du module est fournie par la fiche USB type C du microcontrôleur.

En fonction du fournisseur, l’afficheur OLED a deux types de brochages :

- GND, VCC SCL, SDA -> utiliser le connecteur J6

- VCC, GND, SCL, SDA -> utiliser le connecteur J7

Et oui l’ordre des deux broches de l’alimentation est inversé. Il ne faut pas se faire avoir.

Les fichiers de fabrication sont sur le github (5).


2. Pas de connexion Bluetooth


La plupart du temps on configure un module Meshtastic via la connexion Bluetooth du smartphone. Le RP2040 ne possède pas de communication sans fil intégré comme l’ESP32.

Il faudra alors utiliser un câble OTG relié entre le smartphone et le Raspberry PI PICO. C’est également le smartphone qui fournit l’énergie au module. (Attention dans la plupart du temps il faudra activer le mode OTG dans le smartphone)

Pour rappel, un câble OTG (On-The-Go) est un adaptateur qui permet à un smartphone ou une tablette de se comporter comme un hôte USB, exactement comme un ordinateur. Cela signifie qu’il est possible de connecter des périphériques externes directement à un appareil mobile.


Activation du mode OTG dans le smartphone

Activation du mode OTG dans le smartphone

la carte connectée apparait sous forme d’un périphérique USB connecté

La carte connectée apparait sous forme d’un périphérique USB connecté


La deuxième solution est de relier le Raspberry PI PICO à l’ordinateur PC et d’utiliser l’application en ligne (3). L’envoi des messages se fera par une émulation d’une liaison série standard via le connecteur USB type C. Le pc dans ce cas fournit l’énergie au module.


Utilisation du Module sur un PC avec client.meshtastic.org

Utilisation du Module sur un PC avec client.meshtastic.org

3. Programmation facile


Le fichier firmware uf2 tout prêt est disponible sur le site Github (5).

- Maintenir le bouton BOOTSEL du Pico enfoncé ;

- Brancher le câble USB à l’ordinateur tout en gardant le bouton BOOTSEL appuyé ;

- Une fois branché, relâcher le bouton. Le Pico apparaîtra comme un disque USB nommé RPI-RP2 ;

- Glisser-déposer le fichier firmware.uf2 dans ce disque ;

- Le Pico redémarre automatiquement et exécute le logiciel ;

- L’afficheur OLED doit afficher le menu de sélection de fréquence. (EU_433 pour le RA-02)


4. Recompilation en ligne


Étape 1 : Regarder le tutoriel


Regarder la vidéo de RichBlackHat (4).



Étape 2 : Préparer votre compte GitHub


Avant de procéder à la recompilation, s’assurer de disposer d’un compte GitHub personnel.


Étape 3 : Lancer Gitpod


Ouvrir le lien suivant dans votre navigateur : https://gitpod.io/#https://github.com/meshtastic/firmware

Après enregistrement en lien avec votre compte Github, le site gitpod.io va « récupérer » automatiquement les fichiers sources de Mehstastic. Une fois chargé un bandeau latéral apparait avec tous les fichiers sources.


Étape 4 : Localiser le fichier variant.h


Se rendre dans le répertoire suivant : variants/rp2040/rpipico/

On trouve la configuration des connexions entre les différents GPIO du microcontrôleur et de ses périphériques conformément au schéma structurel. Il faudra remplacer son contenu par la nouvelle définition de la carte. (Faire un copier-coller).



Étape 5 : Compiler le firmware


Dans l’invite de commande, saisir la commande suivante : pio run -e pico

Après plusieurs minutes, le fichier tant attendu firmware.uf2 se trouve dans le répertoire : .pio/build/pico/src

Il suffit de le télécharger (clic droit avec la souris sur le fichier firmware.uf2 puis « Download »). Ensuite vient la programmation du fichier dans le RP2040 comme indiqué précédemment dans la partie programmation facile.


le navigateur Chrome avec gitpod et son firmware Meshtastic

Le navigateur Chrome avec gitpod et son firmware Meshtastic

Ci-dessous : Configuration du fichier variant.h en lien avec le schéma structurel.

#define ARDUINO_ARCH_AVR #define SERIAL_MODULE #define SERIAL_RX_PIN 9 #define SERIAL_TX_PIN 8 #define SERIAL_BAUD 9600 #define UART_PORT uart1 #define HAS_GPS 1 #define GPS_RX_PIN (1u) #define GPS_TX_PIN (0u) #define EXT_NOTIFY_OUT 6 #define BUTTON_PIN 7 #define BUTTON_NEED_PULLUP #define LED_PIN 13 #define BATTERY_PIN 26 #define ADC_MULTIPLIER 3.1 #define BATTERY_SENSE_RESOLUTION_BITS ADC_RESOLUTION#define USE_RF95 #undef LORA_SCK #undef LORA_MISO #undef LORA_MOSI #undef LORA_CS #define LORA_SCK 10 #define LORA_MISO 12 #define LORA_MOSI 11 #define LORA_CS 3 #define LORA_DIO0 14 #define LORA_RESET 15 #define LORA_DIO1 27 #define LORA_DIO2 RADIOLIB_NC #define LORA_DIO3 RADIOLIB_NC #define HAS_NEOPIXEL #define NEOPIXEL_COUNT 1 #define NEOPIXEL_DATA 16 #define NEOPIXEL_TYPE (NEO_GRB + NEO_KHZ800)



III. Conclusion


Voilà donc un nouveau projet autour du LoRa agréable à réaliser. La recompilation offre beaucoup de possibilités de personnalisation non seulement logicielle mais aussi matérielle.

Cela encourage les réalisations, ce qui est un domaine prépondérant dans l’activité radio-amateur. Il y aura prochainement une autre carte basée sur le circuit HT-CT62.

L’activité Meshtastic s’agrandit en Sarthe. De nombreux essais sont en cours par toute une équipe d’OM motivés. Le réseau est devenu très fiable. J’espère que cela prendra de plus en plus d’ampleur comme chez nos amis Allemands. Dans tous les cas ce n’est pas le coût de l’investissement en composants qui freine l’expérimentation de ce réseau en France.

Le circuit imprimé de ce projet a été fabriqué par JLCPCB, qui offre des PCB de haute qualité avec un contrôle rigoureux et un suivi de production fiable. Pour concevoir facilement vos propres cartes ou accélérer vos prototypes, découvrez leurs services : https://cart.jlcpcb.com/fr



IV. À propos de l’auteur



Anthony Le Cren, F4GOH, est professeur d’électronique et d'informatique au lycée Gabriel-Touchard au Mans, en France, passionné de radio. Anthony a écrit de nombreux articles et tient à jour un github consacrée aux projets radioamateur à l'adresse https://github.com/f4goh.

Vous pouvez contacter Anthony à f4goh@orange.fr.



Références :

(1) https://meshtastic.org/

(2) https://flasher.meshtastic.org/

(3) https://client.meshtastic.org

(4) https://www.youtube.com/watch?v=CTNXBvOog2I

(5) https://github.com/f4goh/Mesh-Pico


Continuez à apprendre