Ce que l’on achète réellement

« Une LILYGO A7670 » est un raccourci pratique, mais insuffisant pour choisir un schéma ou un programme. Il faut distinguer trois références : la carte LILYGO, sa révision matérielle et le module SIMCom qui assure la communication cellulaire. La présence éventuelle d’un récepteur GPS externe ajoute une quatrième information.

Le microcontrôleur ESP32 exécute le programme : lecture des capteurs, décisions locales, stockage et échanges avec le serveur. Le modem A7670 se charge du réseau mobile. Dans les exemples LILYGO, les deux dialoguent par une liaison série et des commandes AT.

Cette séparation a une conséquence pratique : mettre à jour le programme de l’ESP32 ne met pas automatiquement à jour le micrologiciel du modem. Les deux versions doivent être suivies dans la documentation du projet. Le dépôt officiel LilyGo-Modem-Series : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series fournit les exemples et les procédures propres aux différentes cartes.

À quoi cette carte peut-elle servir ?

Nous la considérerions pour un premier prototype de télémétrie : un capteur mesure une température, un niveau ou un état de machine, puis l’ESP32 transmet les relevés sans dépendre du réseau Wi-Fi du client. La même architecture peut servir à envoyer des alertes, consulter des consignes depuis un serveur ou ajouter une connexion mobile à un équipement existant.

Avec une version réellement équipée pour la localisation, on peut aussi envisager le suivi d’un matériel mobile. Avec une interface adaptée, un prototype peut relever des données provenant d’un autre appareil ou piloter un actionneur.

Ces usages demandent toutefois plus que la carte seule. Une serrure, une électrovanne ou un moteur ne se commande pas directement depuis une broche. Un capteur industriel n’est pas nécessairement compatible avec les niveaux électriques de l’ESP32. Il faut prévoir les alimentations, les interfaces et les protections correspondant aux périphériques.

La carte facilite donc la validation d’un usage. Elle ne remplace pas l’étude d’un produit IoT complet : consommation, boîtier, couverture radio, maintenance et backend restent à concevoir.

LTE Cat 1 : utile pour les données, sans promesse de haut débit sur le prototype

SIMCom présente la famille A7670 comme du LTE Cat 1, avec des maxima radio de 10 Mbit/s en réception et 5 Mbit/s en émission. Ce sont des plafonds du modem, pas des débits garantis pour le programme ESP32. Les bandes et les fonctions dépendent de la déclinaison. Fiche et documentation SIMCom A7670X : https://cn.simcom.com/product/A7670X.html.

La liaison série peut devenir le premier goulot d’étranglement. À 115 200 bauds en 8N1, chaque octet utilise dix bits sur le fil : le plafond théorique est donc de 11 520 octets par seconde dans chaque sens, avant les commandes et autres surcoûts. C’est un calcul de transport, pas une mesure de performance de la carte. Les exemples démarrent habituellement à cette vitesse ; toute autre configuration doit être validée de bout en bout. Exemple Network : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/examples/Network/Network.ino.

Pour des relevés et des messages courts, ce compromis peut convenir. Pour de gros fichiers, des images fréquentes ou de la vidéo, nous recommandons de mesurer les temps réels avant de retenir cette architecture.

Enfin, LTE Cat 1, LTE-M et NB-IoT désignent des technologies différentes. Il faut choisir une carte et un abonnement pour les services effectivement utilisés, sans déduire les fonctions d’un nom commercial voisin.

E, SA, G, GPS : le suffixe compte

Pour les variantes figurant dans la documentation LILYGO, voici quelques différences utiles. Ce tableau est volontairement limité aux références nommées : il ne couvre pas chaque modem SIMCom ni chaque lot vendu.

  • A7670E-FASE — Différence notable : Variante avec GNSS intégré ; bandes LTE-FDD B1/B3/B5/B7/B8/B20
  • A7670E-LASE — Différence notable : Même liste LTE-FDD indiquée, sans GNSS intégré
  • A7670SA-FASE / LASE — Différence notable : Bandes B1/B2/B3/B4/B5/B7/B8/B28/B66 ; GNSS indiqué pour FASE, pas pour LASE
  • A7670G-LLSE — Différence notable : Liste de bandes FDD/TDD plus étendue dans le tableau constructeur de la carte ; pas de GNSS interne sur la version documentée
  • A7670E-LNXY-UBL — Différence notable : Déclinaison décrite comme 4G seule, sans GPS, appels ni SMS dans le tableau LILYGO

Sur la T-A7670G proposée avec GPS, LILYGO documente un récepteur externe. Une commande GNSS destinée à une version avec récepteur intégré ne suffit donc pas à le piloter. La commande AT+SIMCOMATI aide à identifier le modem et son firmware. Variantes et GPS : documentation T-A7670X : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/docs/en/esp32/a7670-esp32/README.MD.

Pour un déploiement, nous conseillons de comparer la référence complète aux bandes de l’opérateur dans les pays visés. Le mot « global » ne garantit ni la couverture sur chaque site, ni tous les services voix ou SMS d’un abonnement.

Les principales cartes à ne pas confondre

  • T-A7670X classique — Base documentée : ESP32-WROVER-E ; Flash / PSRAM documentées : 4 Mo / 8 Mo ; Point à retenir : Famille de référence avec batterie et emplacement microSD ; schéma V1.4 disponible
  • T-Call A7670X V1.0 — Base documentée : ESP32-WROVER-E ; Flash / PSRAM documentées : 4 Mo / 8 Mo ; Point à retenir : Profil de broches spécifique
  • T-Call A7670X V1.1 — Base documentée : ESP32-WROVER-E ; Flash / PSRAM documentées : 4 Mo / 8 Mo ; Point à retenir : Plusieurs signaux du modem et la LED changent de broche
  • T-A7670X-S3-Standard Rev1.0 — Base documentée : ESP32-S3-WROOM-1 N16R2 ; Flash / PSRAM documentées : 16 Mo / 2 Mo ; Point à retenir : Autre pinout, connectique et ressources ; ne pas reprendre celui de l’ESP32 classique

Pour la T-Call A7670X décrite dans ce guide, LILYGO indique une alimentation USB-C et l’absence de raccordement batterie. Il ne faut pas lui attribuer les fonctions d’une autre carte T-Call sur la seule base du nom. Guide T-Call A7670X : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/docs/en/esp32/t-call-a7670x/README.MD.

La mention commerciale « R2 » de la fiche T-A7670E/G/SA : https://lilygo.cc/products/t-sim-a7670e ne doit pas être assimilée à une révision universelle du PCB. Conserver une photographie de la sérigraphie, la référence du modem et le schéma utilisé évite les ambiguïtés lors d’un réapprovisionnement.

Comparatif des broches du modem

Tous les numéros ci-dessous sont des GPIO du microcontrôleur ESP32 ou ESP32-S3. Ce ne sont ni les positions physiques du connecteur, ni les numéros des broches du boîtier SIMCom.

TX et RX sont donnés du point de vue de l’ESP32, conformément à l’appel SerialAT.begin(..., MODEM_RX_PIN, MODEM_TX_PIN) des exemples. Cette convention évite le classique croisement de vocabulaire entre modem et microcontrôleur.

  • TX ESP32 → modem — T-A7670X classique : 26 ; T-Call V1.0 : 26 ; T-Call V1.1 : 27 ; A7670X-S3-Standard : 4
  • RX ESP32 ← modem — T-A7670X classique : 27 ; T-Call V1.0 : 25 ; T-Call V1.1 : 26 ; A7670X-S3-Standard : 5
  • PWRKEY — T-A7670X classique : 4 ; T-Call V1.0 : 4 ; T-Call V1.1 : 4 ; A7670X-S3-Standard : 46
  • DTR — T-A7670X classique : 25 ; T-Call V1.0 : 14 ; T-Call V1.1 : 32 ; A7670X-S3-Standard : 7
  • RING — T-A7670X classique : 33 ; T-Call V1.0 : 13 ; T-Call V1.1 : 33 ; A7670X-S3-Standard : 6
  • RESET piloté par GPIO — T-A7670X classique : 5 ; T-Call V1.0 : 27 ; T-Call V1.1 : 5 ; A7670X-S3-Standard : Non défini dans ce profil
  • Commande d’alimentation BOARD_POWERON_PIN — T-A7670X classique : 12 ; T-Call V1.0 : Non définie ; T-Call V1.1 : Non définie ; A7670X-S3-Standard : Autre gestion, dont GPIO42
  • LED utilisateur définie dans le profil — T-A7670X classique : Non définie ; T-Call V1.0 : 12 ; T-Call V1.1 : 13 ; A7670X-S3-Standard : Ne pas reprendre les valeurs T-Call

Source : définitions officielles dans utilities.h : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/examples/ATdebug/utilities.h, recoupées avec les guides des cartes.

La différence dépasse l’UART : le profil classique définit une commande RESET active à HIGH côté ESP32, tandis que les profils T-Call la définissent active à LOW. Il faut reprendre la séquence complète du bon exemple, pas seulement changer deux numéros.

Autre piège de nommage : la T-SIM7670G-S3 n’est pas la T-A7670X-S3-Standard. Le dépôt propose des profils séparés. Le nom du modem et la présence d’un ESP32-S3 ne suffisent pas à rendre deux cartes compatibles.

Une broche accessible n’est pas forcément disponible

Sur la T-A7670X classique, les GPIO du modem sont déjà reliés à son circuit de communication ou de commande. Leur présence sur une barrette ne les transforme pas en sorties libres. Ajouter un périphérique sur PWRKEY ou RESET peut perturber le démarrage ou provoquer une remise à zéro.

La microSD et la mesure des tensions prennent également des ressources :

  • microSD SCK — T-A7670X classique : 14 ; A7670X-S3-Standard : 12
  • microSD MISO — T-A7670X classique : 2 ; A7670X-S3-Standard : 13
  • microSD MOSI — T-A7670X classique : 15 ; A7670X-S3-Standard : 11
  • microSD CS — T-A7670X classique : 13 ; A7670X-S3-Standard : 10
  • Mesure batterie — T-A7670X classique : 35 ; A7670X-S3-Standard : 8
  • Mesure solaire — T-A7670X classique : 36 sur V1.4 ; A7670X-S3-Standard : 18

La V1.4 classique et la S3 disposent de schémas distincts : schéma T-A7670X V1.4 : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/schematic/esp32/T-A7670X-V1.4.pdf, schéma S3 Standard Rev1.0 : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/schematic/standard/T-A7670X-S3-Standard_Rev1.0.pdf.

Une entrée reliée à un pont de mesure de batterie ne doit pas être comptée comme une entrée analogique indépendante. De même, « je n’utilise pas la SD » ne suffit pas pour qualifier ses broches de libres : le support, les composants et une éventuelle carte insérée font toujours partie du circuit.

La SD peut aussi intervenir dans les difficultés de téléversement sur l’ESP32 classique. Le README LILYGO recommande de la retirer dans ce cas. Attention à une coquille : son avertissement parle de GPIO2 comme CS, alors que le tableau, le code et le schéma V1.4 donnent MISO=2 et CS=13. Le bon réflexe est de recouper les trois documents.

Le GPS peut occuper le bus I²C que vous aviez prévu

Le conflit le plus facile à manquer concerne la T-A7670G classique avec GPS externe : son raccordement utilise GPIO21 et GPIO22 pour la communication série, GPIO23 pour PPS et GPIO19 pour WakeUp. Ces broches ne sont donc pas disponibles comme sur la carte sans cette option.

Or 21/22 sont les choix I²C usuels du profil classique. Brancher un capteur à cet endroit en conservant le GPS crée un conflit matériel ; changer le nom d’une variable ne le résout pas. Il faut attribuer un autre couple de GPIO réellement utilisables au bus du capteur et documenter ce choix. Exemple GPS externe A7670G : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/examples/ExternalGPS_A7670G_Only/ExternalGPS_A7670G_Only.ino.

Sur la S3 Standard, les signaux GPS sont associés aux GPIO48/45 et PPS à GPIO17 ; le GPS externe concerné ajoute WakeUp sur GPIO0. Les lignes 48/45 servent aussi d’alternative RTS/CTS via des ponts de configuration : ce ne sont pas deux UART indépendants simultanément disponibles. Le bus I²C câblé de cette carte est sur SDA=3, SCL=2. Guide A7670X-S3-Standard : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/docs/en/esp32s3/a7670x-s3-standard/README.MD.

Il faut enfin distinguer un GPIO du modem commandé par AT d’un GPIO de l’ESP32. « Mettre GPIO1 à HIGH » est ambigu si l’on ne précise pas à quel circuit appartient cette broche.

ESP32 classique et ESP32-S3 : deux budgets de broches différents

Sur l’ESP32 classique, GPIO34 à GPIO39 sont des entrées uniquement, sans résistances internes de tirage configurables. GPIO33 n’appartient pas à ce groupe : la phrase « GPIO33 et au-delà » de certains README LILYGO est incorrecte. Les broches de démarrage 0/2/5/12/15 demandent aussi de vérifier les niveaux imposés au reset. Enfin, ADC2 est contraint par l’utilisation du Wi-Fi. Référence GPIO Espressif ESP32 : https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/peripherals/gpio.html.

Sur un module WROVER, il faut tenir compte de la mémoire externe : ne pas réaffecter GPIO16/17 à partir d’un tutoriel destiné à un autre ESP32. Le WROVER-E documenté utilise le Wi-Fi 2,4 GHz et le Bluetooth 4.2 ; il ne faut pas lui attribuer automatiquement les capacités d’une génération plus récente. Fiche technique ESP32-WROVER-E : https://documentation.espressif.com/esp32-wrover-e_esp32-wrover-ie_datasheet_en.html.

Sur l’ESP32-S3, les broches de démarrage sont 0/3/45/46 et l’USB natif utilise 19/20. La réservation mémoire dépend du module : les restrictions d’une variante à mémoire Octal ne se recopient pas sur une autre. Référence GPIO Espressif ESP32-S3 : https://docs.espressif.com/projects/esp-idf/en/stable/esp32s3/api-reference/peripherals/gpio.html.

La S3 Standard ajoute un autre arbitrage : son connecteur caméra utilise de nombreux GPIO. Sans caméra, certaines lignes peuvent être réaffectées après vérification ; avec caméra, on ne peut plus les compter pour les capteurs. La variante N16R2 du schéma doit également être distinguée des modules S3 disposant d’autres mémoires.

Pour les raccordements, nous recommandons enfin de travailler avec les niveaux logiques 3,3 V du microcontrôleur et de prévoir une adaptation pour les signaux d’un autre domaine de tension. Une liaison RS485 ou CAN demande une interface physique appropriée : la présence d’un UART ou d’un contrôleur de communication ne remplace pas son transceiver.

L’alimentation : souvent le premier problème avant le réseau

Un modem qui redémarre pendant l’attachement au réseau peut faire perdre des heures de recherche dans le code. Nous recommandons de vérifier d’abord l’alimentation sous charge, le câble, les connecteurs et la batterie.

Pour la T-A7670X classique, LILYGO demande une alimentation USB/VBUS 5 V capable de fournir des pointes d’au moins 2 A. Il s’agit d’une capacité à fournir, pas d’un courant consommé en permanence. L’entrée batterie documentée est destinée à une cellule Li-ion/LiPo de 3,7 V nominal, 4,2 V chargée. Ne pas assimiler ces valeurs à la tension admissible d’un GPIO. Guide matériel T-A7670X : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/docs/en/esp32/a7670-esp32/README.MD.

L’entrée solaire documentée sert à recharger la batterie ; elle ne constitue pas une alimentation autonome directe sans batterie. La présence d’un connecteur solaire ne permet donc pas, à elle seule, d’annoncer une autonomie. Il faut établir un bilan quotidien : énergie collectée, transmissions, acquisition GNSS et consommation au repos.

La T-A7670X classique utilise aussi GPIO12 pour sa commande d’alimentation. LILYGO signale, notamment sur V1.2 en fonctionnement batterie, qu’il faut la positionner à HIGH après le démarrage. Cette fonction ne se transpose pas à la LED GPIO12 d’une T-Call V1.0. Initialisation dans ATdebug : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/examples/ATdebug/ATdebug.ino.

Les limites à anticiper dans un produit

La première est l’autonomie. Mettre l’ESP32 en sommeil ne prouve pas que le modem, le GPS et les circuits de la carte consomment peu. Il faut mesurer l’ensemble, dans la configuration d’alimentation réellement retenue. LILYGO documente notamment un cas de sommeil du modem perturbé par l’alimentation USB-C sur la version classique. Notes ModemSleep : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/examples/ModemSleep/README.MD.

La deuxième est la robustesse du logiciel. Un prototype doit savoir gérer une perte de réseau, une SIM indisponible, un serveur inaccessible ou une réponse AT inattendue. Nous conseillons des délais bornés, un stockage temporaire des relevés et une stratégie de reprise qui n’entraîne pas une boucle de redémarrages ou des messages dupliqués.

La troisième est la sécurité des échanges. Un exemple qui transmet correctement n’est pas une recette de production. La gestion des certificats, des identifiants et des mises à jour doit être vérifiée avec le firmware du modem et la bibliothèque utilisés. Le dépôt fournit par exemple un exemple MQTT avec TLS : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/examples/MqttsBuiltlnSSL/MqttsBuiltlnSSL.ino.

La quatrième est l’intégration physique. Antenne dans le boîtier définitif, températures, humidité, vibrations et qualité de l’alimentation peuvent modifier le comportement du prototype. Une carte de développement ne constitue pas, à elle seule, un équipement industriel final qualifié.

Notre méthode avant de brancher un capteur

Nous recommandons de tenir une fiche matérielle courte, versionnée avec le firmware :

  • Nom de carte, révision du PCB et photographie recto-verso.
  • Marquage complet du modem et résultat de AT+SIMCOMATI.
  • Présence et type du GPS, de la SD, de la caméra et des extensions.
  • Schéma associé, version des exemples et environnement de compilation.
  • Pour chaque GPIO : liaison existante, usage prévu et état nécessaire au démarrage.
  • Mode d’alimentation, courant de pointe et consommation mesurée sur un cycle représentatif.

Le premier essai doit rester simple : faire répondre le modem, vérifier la SIM, s’enregistrer sur le réseau puis envoyer une donnée. Ajouter ensuite les périphériques un à un. Cette progression facilite l’identification d’un conflit de broches ou d’une chute de tension.

Pour une carte additionnelle, nous conseillons de classer les broches en quatre catégories : réservées, partageables sur un bus, réaffectables sous conditions et disponibles après vérification. « Libres » est une conclusion à documenter, pas un état que l’on déduit du connecteur.

Une bonne base de prototype, à choisir par sa référence complète

La famille A7670 offre un chemin pratique pour expérimenter un objet connecté au réseau mobile. Le bon choix se fait cependant sur un ensemble : pays, opérateur, services, autonomie et périphériques.

Pour notre approche de conception, trois décisions méritent d’être prises ensemble : l’électronique et le firmware, les échanges avec le backend et les API et les mises à jour à distance. Une économie de quelques broches au prototype peut devenir une contrainte de maintenance sur tout un parc.

Ce guide repose sur la documentation consultée le 29 octobre 2026. Les tableaux sont une aide à la comparaison des variantes citées, pas un pinout universel. Avant câblage, vérifier la carte effectivement reçue, son schéma et les définitions du projet.

Fabricants et documentation technique

  • LILYGO — fabricant des cartes : https://lilygo.cc/.
  • T-A7670E/G/SA R2 — fiche produit : https://lilygo.cc/products/t-sim-a7670e.
  • Wiki LILYGO T-A7670X : https://wiki.lilygo.cc/products/t-sim-series/t-a7670/.
  • Dépôt officiel : exemples, schémas et documentation : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series.
  • Guide T-A7670X ESP32 : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/docs/en/esp32/a7670-esp32/README.MD.
  • Guide T-Call A7670X V1.0/V1.1 : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/docs/en/esp32/t-call-a7670x/README.MD.
  • Guide T-A7670X-S3-Standard : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/docs/en/esp32s3/a7670x-s3-standard/README.MD.
  • Schéma T-A7670X V1.4 : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/schematic/esp32/T-A7670X-V1.4.pdf.
  • Schéma T-Call V1.0 : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/schematic/esp32/T-Call-A7670-V1.0.pdf.
  • Schéma T-Call V1.1 : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/schematic/esp32/T-Call-A7670-V1.1.pdf.
  • Schéma S3 Standard Rev1.0 : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/blob/main/schematic/standard/T-A7670X-S3-Standard_Rev1.0.pdf.
  • SIMCom — A7670X et téléchargements : commandes AT, Hardware Design, protocoles : https://cn.simcom.com/product/A7670X.html.
  • Documentation SIMCom réunie par LILYGO : https://github.com/Xinyuan-LilyGO/LilyGo-Modem-Series/tree/main/datasheet/A7670X.
  • Espressif — GPIO ESP32 : https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/peripherals/gpio.html.
  • Espressif — GPIO ESP32-S3 : https://docs.espressif.com/projects/esp-idf/en/stable/esp32s3/api-reference/peripherals/gpio.html.
All articles