Arduino MKR GSM 1400

ArduinoMCU 8-32 bitarduino

⚡ L’essentiel en 60 secondes

La carte Arduino MKR GSM 1400 se présente comme un module de développement compact destiné aux projets nécessitant une connectivité cellulaire mondiale, sans dépendre d'un réseau local Wi-Fi ou d'une infrastructure filaire. Annoncée en septembre 2017, cette carte s'inscrit dans la famille MKR d'Arduino, reconnue pour sa petite taille et sa compatibilité avec les boucliers (shields) standard. Il est important de noter que ce produit est désormais classé « End of Life » par le fabricant, ce qui signifie qu'il n'est plus fabriqué ni vendu officiellement, bien qu'il reste largement utilisé dans les installations existantes. Sur le plan matériel, le cœur de la carte est un microcontrôleur ATSAMD21G18A de Microchip (anciennement Atmel), basé sur une architecture Arm Cortex-M0+ cadencée à 48 MHz. Pour comprendre cette fréquence, il faut savoir qu'elle représente le nombre de cycles d'horloge par seconde ; à 48 millions de cycles, le processeur est suffisant pour gérer les communications réseau et les capteurs simples, mais il ne convient pas aux calculs lourds. La mémoire disponible est limitée à 256 Ko de flash pour le stockage du programme et 32 Ko de SRAM pour la mémoire vive, des quantités modestes qui imposent une écriture de code efficace.

L'atout majeur de cette carte réside dans son module radio cellulaire intégré, le u-blox SARA-U201. Contrairement à certaines idées reçues présentes dans la communauté, il ne s'agit pas d'un module LTE (4G) de la série TOBY, mais bien d'un module dédié aux réseaux 2G (GSM/GPRS/EDGE) et 3G (UMTS/HSDPA). Cette distinction est cruciale car elle définit les vitesses de transfert de données, atteignant théoriquement 7,2 Mbit/s en téléchargement et 5,76 Mbit/s en envoi via la 3G. Le module couvre de nombreuses bandes de fréquences, offrant une couverture mondiale. Cependant, une mise en garde majeure concerne l'avenir de ces technologies : les réseaux 3G sont progressivement démantelés à travers le monde, avec des fermetures déjà effectives chez plusieurs opérateurs majeurs. La carte dispose d'une fonction de repli automatique vers la 2G (GSM), mais cette dernière est également en cours de retrait dans certains pays. Les utilisateurs doivent donc vérifier la disponibilité des réseaux 2G/3G dans leur zone géographique avant de concevoir de nouveaux projets avec cette carte.

La gestion de l'énergie est un aspect critique de la MKR GSM 1400. La carte intègre un circuit de gestion de l'alimentation (PMIC) de type TI BQ24195L, capable de charger une batterie LiPo et de basculer automatiquement entre l'alimentation USB, l'entrée externe Vin (5 à 12 V) et la batterie. Une contrainte physique importante est souvent soulignée par la documentation officielle : les pics de courant générés par le module radio lors de l'émission peuvent dépasser ce que le port USB standard peut fournir. Par conséquent, l'utilisation d'une batterie LiPo d'au moins 1500 mAh est considérée comme obligatoire pour assurer la stabilité, même lorsque la carte est alimentée par USB. Le design vise une faible consommation, avec des modes de veille permettant de descendre à quelques microampères, une caractéristique essentielle pour les déploiements sur batterie autonome. L'antenne cellulaire est de type externe, connectée via un petit connecteur U.FL, et il est recommandé de ne pas la placer sur une surface métallique pour éviter les interférences.

En termes d'interfaçage, la carte offre un jeu de broches compatible avec le format MKR. Elle dispose de 8 entrées/sorties numériques, dont la broche 6 est reliée à la LED embarquée, et de 7 entrées analogiques. La logique fonctionne en 3,3 volts, ce qui nécessite des précautions lors de la connexion à des capteurs fonctionnant en 5 volts. Les protocoles de communication courants sont disponibles via les broches dédiées : I2C, SPI, UART et I2S. Un point de sécurité notable est la présence d'une puce cryptographique ATECC508A. Cette puce permet de stocker des clés de chiffrement de manière sécurisée, rendant la carte adaptée aux applications IoT nécessitant une authentification robuste, comme les connexions sécurisées vers le cloud AWS via TLS. Le logiciel repose sur le noyau Arduino SAMD, et la programmation se fait via l'environnement Arduino IDE ou arduino-cli. La bibliothèque officielle MKRGSM facilite l'accès aux fonctions réseau, offrant des classes pour gérer les appels vocaux, les SMS et les connexions de données, bien que la gestion des appels vocaux soit limitée par l'absence de micro ou de haut-parleur sur la carte elle-même.

La communauté a utilisé cette carte pour divers projets, allant de la surveillance de la qualité de l'eau à distance à des systèmes d'irrigation intelligente ou des traceurs anti-vol. Cependant, des limitations logicielles et matérielles doivent être prises en compte. Par exemple, de nombreux opérateurs mobiles bloquent les connexions entrantes depuis Internet public, rendant l'utilisation de la carte comme serveur web ou serveur de données difficile sans des techniques de traversée de NAT. De plus, des problèmes connus ont été rapportés, tels que la lecture possible du code via le bootloader même si la protection de sécurité est activée, ou des blocages potentiels liés à la communication I2C avec le PMIC. Enfin, la bibliothèque MKRGSM n'a plus reçu de mise à jour majeure depuis 2019, ce qui peut poser des problèmes de compatibilité avec les nouvelles infrastructures de certificats de sécurité sur Internet. En résumé, la MKR GSM 1400 reste une solution historique pour la connectivité cellulaire globale, mais son utilisation pour de nouveaux projets doit être mûrement réfléchie en raison de la fin de vie du produit et de l'obsolescence progressive des réseaux 2G/3G.

Forum (1 sujet) →

AttrSpecsvérifié
mcuMicrochip (ex-Atmel) ATSAMD21G18A — build flag -D__SAMD21G18A__, board entry mkrgsm1400 in ArduinoCore-samd boards.txt: (retrieved 2026-10-13).✔
cpu1 × Arm Cortex-M0+, 32-bit, 48 MHz (build.mcu=cortex-m0plus, build.f_cpu=48000000L, same boards.txt). 256 KB flash, 32 KB SRAM (SAM D21 description in the launch post,✔
gpunone (microcontroller board).? non vérifié
storageinternal 256 KB flash only (no SD, no external memory).? non vérifié
cellular_radiou-blox SARA-U201 module ("a SARAU201 GSM module", archived official store page also named on Per the archived u-blox SARA-U2 series page ( - GSM/GPRS/EDGE quad-band (850/900/1800/1900 MHz), - UMTS/HSDPA bands 800, 850, 900, 1900, 2100 MHz (global coverage), - data rates 7.2 Mbit/s DL (HSDPA) / 5.76 Mbit/s UL (HSUPA), - 3G operation with 2G fallback ("operates in 3G with a 2G fallback", MKRGSM library docs✔
wifi_bluetooth_ethernet_gnssnone. (The SARA-U2 family supports "GNSS via modem" on some variants, but the board exposes no GNSS feature; treat as not available.)? non vérifié
antennaexternal GSM antenna on a U.FL (micro U.FL) connector; Arduino warns not to mount the antenna on a metallic surface (archived store page, URL above).? non vérifié
simmicro-SIM form factor.? non vérifié
usbfull-speed USB device + embedded host capability ("Full-Speed USB Device and embedded Host", archived store page). USBident: VID 0x2341, PID 0x8052 (bootloader PID 0x0052) — boards.txt.? non vérifié
gpio_mkr_pinout_3_3_v_logic_launch_post- 8 digital I/O D0–D7 (D6 = LED_BUILTIN), 8 external interrupt pins (launch post; pin table in variants/mkrgsm1400/variant.cpp - 12 PWM-capable outputs (launch post; PWM channels on D0–D8 and A3/A4 per variant.cpp). - 7 analog inputs A0–A6, 1 analog output (DAC) on A0/DAC0 (NUM_ANALOG_INPUTS 7, NUM_ANALOG_OUTPUTS 1, ADC_RESOLUTION 12 — variants/mkrgsm1400/variant.h - I2C Wire SDA=11/SCL=12 (SERCOM2); SPI MOSI=8/SCK=9/MISO=10 (SERCOM1); UART Serial1 RX=13/TX=14 (SERCOM5); I2S pins defined (variant.h). - Dedicated modem UART Serial2/SerialGSM with RTS/CTS flow control (SERCOM4, pins 26–29) plus GSM_RESETN (31) and GSM_DTR (35) (variant.h/variant.cpp). - Battery voltage sense ADC_BATTERY (pin 32) and PMIC_IRQ (pin 30) (variant.h).✔
power3.7 V LiPo on battery pads with on-board TI BQ24195L charger/PMIC on I2C (-DUSE_BQ24195L_PMIC in boards.txt; PMIC init/charge-control code in variant.cpp); Vin 5–12 V external input; USB 5 V; automatic power-source switching; runs with or without battery (launch post).? non vérifié
typical_consumptionMCU sleep and crypto-chip power-down take the design from "several mA to a few µA" (Arduino maintainer note, ECC508 alone drops 800 µA → 6 µA when powered down).✔
size67.64 × 25 mm (launch post).? non vérifié
  • Fabricant : Arduino (produit créé sous Arduino AG ; la société elle-même a été rachetée par Qualcomm en octobre 2025 — consulté 2026-10-13).
  • Annoncé : 2017-09-25, dévoilé au World Maker Faire New York, précommandes ouvertes la même semaine sur l'Arduino Store — (consulté 2026-10-13).
  • Statut : End of Life — la page produit officielle est marquée « End of Life » et l'URL de la boutique redirige désormais vers celle-ci : (consulté 2026-10-13).
  • Prix : US 69,90 $ indiqué sur la page produit de l'Arduino Store officiel (US), instantané archivé du 2019-03-04 (SKU MKRGSM1400WANT, data-price="69.9") : (consulté 2026-10-13).
  • Variantes : un seul SKU de carte (format MKR). Le module cellulaire lui-même, le u-blox SARA-U201, est la variante couverture mondiale de la famille SARA-U2 (des homologues régionaux SARA-U260/U270/U280 existent mais ne sont pas montés sur des variantes officielles de la carte) — (consulté 2026-10-13).
  • Confusion fréquente à éviter : certaines sources communautaires (et des notes de bibliothèques tierces) décrivent la carte comme portant un u-blox TOBY-L210. C'est faux : la famille TOBY-L2 est une gamme LTE Cat 4 (« TOBY-L210 — LTE/HSPA+/GSM module for Europe/Asia », La page boutique officielle d'Arduino et sa page docs indiquent toutes deux SARA-U201 (sources ci-dessus).

+ Points forts

  • Cellulaire 2G/3G mondial au format shield MKR — le seul MKR avec données HSPA, SMS et appels vocaux à commutation de circuit (émettre/recevoir, DTMF) plus les API GPRS/UDP/NTP/ping (readme MKRGSM : « do most of the operations you can do with a GSM phone »).
  • Puce crypto ATECC508A (« ECC508 ») pour le stockage sécurisé de clés — nommée sur la page produit officielle ( et utilisée dans les exemples AWS IoT officiels d'Arduino via ArduinoECCX08 + BearSSLClient avec le client MKRGSM (« private key stored in the ATECC508A »,
  • TLS sur cellulaire de deux façons : profils SSL natifs du modem (GSMSSLClient, gestion des CA racines, MKRGSM CHANGELOG 1.3.0/1.4.x) ou BearSSL côté hôte utilisant l'ECC508 pour les certificats client.
  • PMIC BQ24195L avec charge LiPo, bascule automatique de source d'alimentation, interruptions de charge/défaut batterie (PMIC_IRQ_PIN), plus un ADC de tension batterie (ADC_BATTERY) — boards.txt + variant.h/variant.cpp.
  • Chemin de conception basse consommation : le reset du modem est maintenu au démarrage pour économiser l'énergie quand il est inutilisé (« put GSM modem in reset on start to conserve power », variant.cpp), modes de sommeil documentés jusqu'à quelques µA (ArduinoIoTCloud issue #73).
  • API de type Ethernet/WiFi : MKRGSM reproduit volontairement les classes client/serveur des bibliothèques Ethernet/WiFi101 pour faciliter la portabilité (docs/readme.md).
  • Intégration Arduino SIM / IoT Cloud dès l'outillage de l'époque du lancement (les exemples prennent en charge le « secret tab » d'Arduino Create, MKRGSM CHANGELOG 1.0.1 ; déploiement d'Arduino SIM

− Points faibles

  • L'alimentation USB est insuffisante — LiPo obligatoire en pratique : "This is in excess of what can be sourced by a standard USB port, so it is MANDATORY to have a 1500 mAh or higher LiPo battery plugged all the time, the current provided by the USB port will be supplemented by the battery" (page de boutique officielle archivée,
  • La LED d'alimentation reste allumée sur batterie sur MKR GSM 1400 / WiFi 1010 / NB 1500 — signalé, non résolu :
  • Le bootloader ignore le bit de sécurité SAMD : la flash (y compris le PIN SIM codé en dur par les sketches) reste lisible via bossac même avec la sécurité activée —
  • Blocage I2C/PMIC : SERCOM::startTransmissionWIRE peut figer le core en cas de problème sur le bus I2C ; le démarrage précoce de la carte parle au PMIC BQ24195L sur I2C, donc un PMIC/bus défectueux brique le boot — ; l'initialisation PMIC elle-même a été refondue dans
  • Les opérateurs bloquent les connexions entrantes : GSMServer est inutile sur la plupart des opérateurs (« A number of network operators do not allow for incoming connections from the public internet », MKRGSM docs/readme.md).
  • Churn du magasin de confiance TLS : la CA racine embarquée a dû être remplacée (Amazon Root CA 1 → Starfield, puis l'inverse) au fil des rotations de certificats — MKRGSM CHANGELOG 1.4.0/1.4.1 ; les anciennes versions de la bibliothèque échouent face aux endpoints modernes.
  • Bibliothèque gelée / risque d'extinction du réseau : dernière version de MKRGSM 1.4.2 (2019-06-18) et la carte est EOL, tandis que les réseaux 3G sont retirés dans le monde entier — Verizon a arrêté la 3G le 2022-12-31, T-Mobile le 2022-07-01, et "19 operators in 14 countries plan to phase out 3G by 2025" en Europe ( consulté 2026-10-13). La carte replie sur 2G/GPRS, lui-même en cours de retrait dans certains pays.
  • Pas de matériel audio pour les appels vocaux : le modem gère les appels mais la carte n'a ni micro ni haut-parleur, donc les exemples d'appels vocaux ne pilotent que l'état de l'appel (liste des exemples MKRGSM ; pas de codec audio dans variant.h).
  • Retour d'expérience expert expert — expert-arduino
    • Petit retour d'experience sur la MKR GSM 1400, qui est malheureusement en fin de vie. Le point fort reste son integrite : c'est la seule carte MKR avec HSPA, SMS et appels vocaux. La puce ATECC508A est top pour la sécurité des cles via BearSSL. Par contre, attention au problème majeur documente : l… — expert-arduino
    • Je confirme le souci d'alimentation, c'est très frustrant quand on debute. Mais ma vraie question porte sur la librarie MKRGSM. Je vois qu'elle est figee a la version 1.4.2 et que la carte est EOL. Avec la fermeture progressive des réseaux 3G partout dans le monde, est-ce que quelqu'un a pu tester … — maker-slow
    • Pour le fallback 2G, ca depend vraiment de ton operateur local, mais le risque est reel vu que certains pays coupent aussi le 2G. Concernant la lecture du flash via bossac, oui c'est un bug connu non corrige car la carte est abandonnee. Si tu stockes le PIN SIM en dur dans le code, c'est une faille… — hacker-0x1

Retours et projets de la communauté

  • Irriduo® smart irrigation

    Irriduo® smart irrigation — (Challenge Agriculture) — Arduino Edge Control + MKR GSM 1400 for field connectivity: .arduino.cc/2025-04-23/the-bare-necessities-cleaner-water-and-safer-food-with-arduino/ (unverified au 2026-10-13) WaterAid water-quality monitori…

  • Secure AWS IoT MQTT-over-GSM tutorial

    Secure AWS IoT MQTT-over-GSM tutorial — (ECC508 client certificate + BearSSL): .com/arduino/ArduinoCloudProviderExamples (see issue 4 for the MKR GSM 1400 sketch). (unverified au 2026-10-13)

  • L'alimentation USB est insuffisante — LiPo obligatoire en pratique : "This is in excess of what can be sourced by a standard USB port, so it is MANDATORY to have a 1500 mAh or higher LiPo battery plugged all the time, the current provided by the USB port will be supplemented by the battery" (page de boutique officielle archivée,
  • La LED d'alimentation reste allumée sur batterie sur MKR GSM 1400 / WiFi 1010 / NB 1500 — signalé, non résolu :
  • Le bootloader ignore le bit de sécurité SAMD : la flash (y compris le PIN SIM codé en dur par les sketches) reste lisible via bossac même avec la sécurité activée —
  • Blocage I2C/PMIC : SERCOM::startTransmissionWIRE peut figer le core en cas de problème sur le bus I2C ; le démarrage précoce de la carte parle au PMIC BQ24195L sur I2C, donc un PMIC/bus défectueux brique le boot — ; l'initialisation PMIC elle-même a été refondue dans
  • Les opérateurs bloquent les connexions entrantes : GSMServer est inutile sur la plupart des opérateurs (« A number of network operators do not allow for incoming connections from the public internet », MKRGSM docs/readme.md).
  • Churn du magasin de confiance TLS : la CA racine embarquée a dû être remplacée (Amazon Root CA 1 → Starfield, puis l'inverse) au fil des rotations de certificats — MKRGSM CHANGELOG 1.4.0/1.4.1 ; les anciennes versions de la bibliothèque échouent face aux endpoints modernes.
  • Bibliothèque gelée / risque d'extinction du réseau : dernière version de MKRGSM 1.4.2 (2019-06-18) et la carte est EOL, tandis que les réseaux 3G sont retirés dans le monde entier — Verizon a arrêté la 3G le 2022-12-31, T-Mobile le 2022-07-01, et "19 operators in 14 countries plan to phase out 3G by 2025" en Europe ( consulté 2026-10-13). La carte replie sur 2G/GPRS, lui-même en cours de retrait dans certains pays.
  • Pas de matériel audio pour les appels vocaux : le modem gère les appels mais la carte n'a ni micro ni haut-parleur, donc les exemples d'appels vocaux ne pilotent que l'état de l'appel (liste des exemples MKRGSM ; pas de codec audio dans variant.h).
  • Faire clignoter la LED embarquée et lire la batterie debutant Schéma : IMG-mkr-gsm-1400-debutant-1-mkrgsm-led-clignotant.svg — Vue de dessus de la carte MKR GSM 1400 avec la LED embarquée (broche D6) et les pads batterie LiPo mis en évidence.
  • Bouton poussoir et console USB debutant Schéma : IMG-mkr-gsm-1400-debutant-2-mkrgsm-bouton-console.svg — Carte MKR GSM 1400 sur breadboard avec un bouton poussoir entre la broche D2 et la masse, câble micro-USB relié à un ordinateur affichant la console série.
  • Lire un capteur analogique sur A1 debutant Schéma : IMG-mkr-gsm-1400-debutant-3-mkrgsm-capteur-analogique.svg — MKR GSM 1400 avec un potentiomètre alimenté en 3,3 V dont le curseur est relié à l'entrée analogique A1, tension affichée sur la console USB.
  • Se connecter à un réseau GPRS (APN, signal, enregistrement) intermediaire Schéma : IMG-mkr-gsm-1400-intermediaire-1-mkrgsm-reseau-gprs.svg — MKR GSM 1400 avec antenne externe déployée sur connecteur U.FL, carte micro-SIM insérée, et à l'écran l'opérateur détecté avec la puissance du signal.
  • Envoyer et recevoir des SMS intermediaire Schéma : IMG-mkr-gsm-1400-intermediaire-2-mkrgsm-sms.svg — MKR GSM 1400 échangeant des SMS avec un téléphone mobile, ondes radio entre l'antenne et le téléphone, message « ALERTE » affiché sur les deux écrans.
  • HTTP GET via GPRS intermediaire Schéma : IMG-mkr-gsm-1400-intermediaire-3-mkrgsm-http-get.svg — Requête HTTP GET partant de la MKR GSM 1400 via l'antenne vers une antenne relais puis un serveur web, la réponse s'affichant sur la console USB.
  • Publier en MQTT sur le réseau GPRS avance Schéma : IMG-mkr-gsm-1400-avance-1-mkrgsm-mqtt-gprs.svg — MKR GSM 1400 publiant des messages MQTT via l'antenne vers un broker sur Internet, le flux traversant l'antenne relais et un serveur, avec jauges de capteur publiées.
  • Sommeil bas courant du module et réveil avance Schéma : IMG-mkr-gsm-1400-avance-2-mkrgsm-sommeil-bas-courant.svg — MKR GSM 1400 sur batterie LiPo endormie (LED éteinte, croissant de lune), une ligne de courant chutant de quelques milliampères vers quelques microampères, bouton de réveil sur D2.
  • Diagnostic AT du module et version de firmware avance Schéma : IMG-mkr-gsm-1400-avance-3-mkrgsm-diagnostic-at.svg — Console série affichant des commandes AT envoyées au module SARA-U201 de la MKR GSM 1400 (AT+CSQ, AT+COPS?, AT+CGMR) avec leurs réponses, antenne à côté.

Bibliothèque de code — exemples écrits pour cette carte

  • gsm-connexion.ino Arduino

    Premier pas indispensable avec le MKR GSM 1400 : initialiser le modem u-blox, vérifier que la carte SIM est reconnue, puis attendre l'enregistrement sur un réseau 2G. Le programme affiche le nom de l…

  • envoi-sms.ino Arduino

    Notification par SMS depuis le MKR GSM 1400 : le modem envoie un message texte vers un numéro de téléphone, ici un battement de cœur toutes les cinq minutes. Utile pour alerter sans infrastructure In…

  • http-get.ino Arduino

    Client HTTP par-dessus la data GPRS du MKR GSM 1400 : connexion au réseau, attachement GPRS, puis requête GET vers une API météo ouverte. La réponse brute s'affiche sur le port série, prête à être pa…

  • http-post-capteur.ino Arduino

    Télémétrie autonome par GPRS : toutes les minutes, le MKR GSM 1400 lit une entrée analogique, construit un petit JSON et le poste vers une API HTTP. Un patron complet de station de mesure sur le terr…

  • heure-gsm.ino Arduino

    Horloge temps réel logicielle pour station autonome : le MKR GSM 1400 interroge un serveur HTTP qui renvoie l'heure dans ses en-têtes, puis maintient l'epoch localement avec millis(). Indispensable p…

  • appels.ino Arduino

    Le modem GSM comme télécommande : un appel depuis un numéro autorisé bascule l'état d'alarme de la carte MKR GSM 1400, qui répond puis raccroche aussitôt. La LED 6 clignote tant que l'alarme est acti…

  • batterie-lipo.ino Arduino

    Autonomie sous contrôle : lecture périodique de la tension de la batterie LiPo branchée sur J6 du MKR GSM 1400, avec seuils d'alerte. Le modem 2G appelant des pointes de courant, suivre VBAT évite le…

  • sleep-gsm.ino Arduino

    Station sur batterie fonctionnant par cycles : le MKR GSM 1400 se réveille toutes les cinq minutes grâce à l'alarme RTC du SAMD21, éteint le modem entre deux mesures et dort en deepSleep. Le montage …

  • gsm_logger.py Python

    Un script Python pour journaliser sur PC tout ce que le MKR GSM 1400 envoie sur son port série : chaque ligne est horodatée côté ordinateur puis ajoutée à un CSV. Parfait pour déboguer une campagne d…

  • console-at.sh Bash

    Quand le sketch Arduino semble coupable, adressez-vous directement au modem u-blox du MKR GSM 1400 : ce script Bash envoie une salve de commandes AT classiques et affiche les réponses. Idéal pour vér…

Exemples et dépôts trouvés en ligne