STM32 Nucleo-64 famille F4 — phare : Nucleo-F401RE

STMicroelectronicsMCU 8-32 bitarduino

⚡ L’essentiel en 60 secondes

La carte de développement STM32 Nucleo-64, et plus spécifiquement le modèle Nucleo-F401RE qui sert ici de référence, représente une porte d'entrée incontournable dans l'univers des microcontrôleurs hautes performances. Fabriquée par STMicroelectronics, cette carte s'inscrit dans la lignée des outils de développement qui cherchent à combler le fossé entre les cartes de découverte simples et les environnements professionnels complexes. Elle a été introduite sur le marché en février 2014, peu après l'annonce des puces de la série STM32F4 en avril 2013. Bien que la famille Nucleo-64 inclue plusieurs variantes comme les F410RB, F411RE et F446RE, la Nucleo-F401RE reste la plus documentée et la plus utilisée dans les tutoriels, étant la première à avoir été intégrée au cœur Arduino STM32 dès la version 0.2.1. Il est important de noter que les cartes Nucleo-144, bien que partageant la même famille de puces, possèdent un format différent et ne sont pas couvertes par cette description.

Le cœur de cette carte est le microcontrôleur STM32F401RE, un circuit intégré au format boîtier LQFP64. Ce composant est basé sur un processeur ARM Cortex-M4F, une architecture mono-cœur qui tourne à une fréquence maximale de 84 MHz. Pour le débutant, il est utile de comprendre que la fréquence indique le nombre de cycles que le processeur peut effectuer chaque seconde, déterminant ainsi la vitesse d'exécution des instructions. La particularité du Cortex-M4F réside dans la présence d'une unité de calcul en virgule flottante (FPU) et d'instructions de traitement du signal numérique (DSP). Cela signifie que la carte est capable de gérer des calculs mathématiques complexes, comme ceux nécessaires pour le filtrage audio ou le contrôle moteur, beaucoup plus efficacement que des microcontrôleurs bas de gamme dépourvus de ces accélérateurs matériels. En termes de mémoire, la carte dispose de 512 Ko de mémoire flash, où le programme est stocké de manière permanente, et de 96 Ko de mémoire SRAM, utilisée pour les données temporaires pendant l'exécution. Il existe également une petite zone de mémoire OTP (One-Time Programmable) de 0,5 Ko, destinée à stocker des données uniques qui ne peuvent être écrites qu'une seule fois.

L'un des grands atouts de la Nucleo-F401RE est sa connectivité et son ergonomie d'utilisation. La carte intègre un débogueur et programmateur ST-LINK/V2-1 directement sur le circuit imprimé. Ce module permet de connecter la carte à un ordinateur via un simple câble USB micro-B. Une fois connectée, la carte se présente à l'ordinateur de trois manières différentes : comme un outil de débogage pour envoyer des commandes au microcontrôleur, comme un port série virtuel pour afficher des messages de log, et comme un périphérique de stockage de masse. Cette dernière fonctionnalité permet une programmation très simple par glisser-déposer d'un fichier binaire, sans nécessiter de logiciels complexes pour les débutants. Cependant, il faut être vigilant sur un point technique crucial : le port USB de la carte est relié au module ST-LINK et non directement au microcontrôleur. Par conséquent, la communication série par défaut (la fonction Serial dans Arduino) utilise le port USART2 du microcontrôleur, qui est physiquement connecté au ST-LINK, et non l'interface USB OTG du microcontrôleur lui-même.

Pour l'extension des fonctionnalités, la carte offre une double compatibilité. Elle possède des connecteurs au format Arduino Uno V3, ce qui permet d'utiliser une immense bibliothèque de "shields" (cartes d'extension) existantes. En complément, elle dispose de connecteurs "morpho" sur les côtés, qui exposent toutes les broches d'entrée/sortie (GPIO) du microcontrôleur. Les GPIO sont les broches physiques qui permettent de lire des capteurs ou de commander des actionneurs. Cette double approche permet de commencer avec des shields standard tout en ayant accès à la puissance complète des périphériques du microcontrôleur, tels que l'ADC 12 bits pour la lecture de signaux analogiques précis, les interfaces I2C et SPI pour les capteurs numériques, ou encore l'interface SDIO pour lire des cartes mémoire. L'alimentation est flexible, pouvant être fournie par le câble USB ou par une source externe allant de 3,3 V à 12 V, sélectionnée via des pontets (jumpers) sur la carte.

L'écosystème logiciel autour de cette carte est riche et varié. Elle est entièrement supportée par l'environnement STM32CubeF4 de STMicroelectronics, qui fournit des pilotes prêts à l'emploi et des outils de génération de code. Elle est également très populaire auprès des utilisateurs d'Arduino grâce au cœur STM32duino, bien qu'il faille noter que les versions récentes de ce cœur ne supportent plus l'ancienne interface Arduino IDE 1.x, nécessitant l'utilisation d'Arduino IDE 2.x. Pour les utilisateurs avancés ou les projets temps réel, la carte est prise en charge par le système d'exploitation embarqué Zephyr RTOS, offrant une alternative moderne et modulaire. Historiquement, la carte a été lancée avec le support de la plateforme mbed, mais il est important de souligner que les services en ligne mbed ont été fermés en juillet 2026. Les utilisateurs souhaitant utiliser cette approche doivent désormais se tourner vers des forks communautaires comme Mbed CE ou migrer vers d'autres environnements comme Zephyr ou CubeIDE. Enfin, il convient de mentionner que certaines informations officielles, comme le statut de fin de vie exact de la carte ou le prix de lancement précis, n'ont pas pu être confirmées de manière définitive par les sources consultées, bien que la carte soit positionnée comme une solution économique et toujours active dans les chaînes de développement logicielles majeures.

Forum (1 sujet) →

AttrSpecsvérifié
cpuARM Cortex-M4F (single core), 84 MHz max, with single-precision FPU and DSP instructions — the F4 series is ST's "high-performance" Cortex-M4F line (Wikipedia; Zephyr board doc).✔
gpunone (Cortex-M MCU).? non vérifié
memory512 KB flash, 96 KB SRAM, 0.5 KB OTP (Wikipedia table; Zephyr YAML ram: 96, flash: 512).? non vérifié
packageLQFP64 (STM32F401RET6) (Zephyr board doc).? non vérifié
supply_voltageVDD 1.7 V to 3.6 V (Zephyr board doc).? non vérifié
peripherals_on_chip_per_zephyr_board_doc12-bit ADC with 16 channels, RTC, 1 advanced-control timer + 7 general-purpose timers, 2 watchdog timers, 3× USART/UART, 3× I2C, 4× SPI, SDIO, USB 2.0 OTG FS, DMA controller, I2S.? non vérifié
dac? non vérifié
power_consumption_temperature_range? non vérifié
board_nucleo_f401re_mb1136- Expansion: Arduino Uno V3 shield connector plus ST morpho pin headers giving access to all MCU I/O (6×1, 2.54 mm) (Zephyr board doc; Wikipedia table). - Debug/program: on-board ST-LINK/V2-1 debugger/programmer with SWD connector; the ST-LINK host adapter provides SWD debugging, virtual COM port, and mass storage over USB (Wikipedia — STM32, Nucleo section). - USB: board USB connector is micro-B, full-speed (Wikipedia table "mini-B FS"; Zephyr lists USB VBUS supply). The MCU's USB OTG FS pins are broken out on the morpho headers, not wired to the board connector (the board connector goes to the ST-LINK side). - User I/O: 3 LEDs — LD1 (USB/COM), LD2 (user), LD3 (power); USER + RESET buttons (Zephyr board doc). User LED (LD2) = PA5 (STM32duino variant header, below). - Powering: flexible supply — USB VBUS or external source at 3.3 V, 5 V, or 7–12 V, with power-management access points (Zephyr board doc); board power chosen by jumpers. - Arduino shield 5 V: power can be taken from USB cable 5 V or external 5 V (Wikipedia Nucleo section).✔
  • Fabricant : STMicroelectronics (famille de cartes : STM32 Nucleo, gamme « discovery-meets-mbed »).
  • Année : les puces de la série STM32F401 ont été annoncées en avril 2013 ; ST a annoncé les premières cartes Nucleo (headers Arduino + support de l'IDE mbed) en février 2014 (Wikipedia — historique STM32, consulté le 2026-10-13).
  • Statut : actif en termes logiciels — la F401RE reste une cible supportée et testée en CI du core Arduino STM32 (Boards Manager, 2026), de Zephyr main (YAML de carte), et de STM32CubeF4 (GitHub).
  • Prix de lancement : > citable n'a été récupéré.
  • Variantes (gamme Nucleo-64 F4) : | Carte | MCU | Horloge | Flash | SRAM | |---|---|---|---|---| | Nucleo-F401RE (phare) | STM32F401RET6 | 84 MHz | 512 Ko (+0,5 Ko OTP) | 96 Ko | | Nucleo-F410RB | STM32F410RBT6 | 100 MHz | 128 Ko (+0,5 Ko OTP) | 32 Ko | | Nucleo-F411RE | STM32F411RET6 | 100 MHz | 512 Ko (+0,5 Ko OTP) | 128 Ko | | Nucleo-F446RE | STM32F446RET6 | 180 MHz | 512 Ko | 132 Ko | Source : tableau de comparaison Nucleo, Wikipedia — STM32 (consulté le 2026-10-13) ; recoupé pour la F401RE avec la doc et le YAML de carte Zephyr (96 Kio de RAM / 512 Kio de flash).

+ Points forts

  • FPU + DSP à 84 MHz dans une carte 64 broches économique — la F401RE a amené le point flottant Cortex-M4F et les instructions DSP sur le segment économique de la gamme F4 (Wikipedia : F4 = série Cortex-M4F haute performance ; F401 annoncée en avril 2013).
  • Débogueur à trois personnalités embarqué : le ST-LINK/V2-1 s'énumère comme débogueur SWD + port COM virtuel + périphérique de stockage de masse USB (programmation en glisser-déposer via la fonction MSD) — section Nucleo de Wikipedia ; UM1760 est le manuel faisant autorité pour la carte.
  • Deux mondes d'extension sur un seul PCB : empreinte shield Arduino Uno V3 et headers ST morpho pour chaque GPIO (doc de carte Zephyr) — les shields fonctionnent, et le morpho expose le brochage complet que le header Arduino masque.
  • USB OTG FS + SDIO sur puce — USB device/hôte et lecture de carte SD en flux sans bit-banging (doc de carte Zephyr).
  • Carte de référence de l'écosystème : citoyenne de première classe dans Arduino STM32 (depuis 0.2.1), Zephyr (bindings GPIO/I2C/SPI compat Arduino : arduino_gpio, arduino_i2c, arduino_spi dans le YAML de carte), BSP CubeF4, et historiquement mbed.
  • La compatibilité mbed était une fonction de lancement (annonce de février 2014, Wikipedia) — l'une des premières cartes au format Arduino utilisables depuis mbed.

− Points faibles

  • Fermeture de la plateforme mbed (2026) : la toolchain mbed en ligne sur laquelle s'appuient beaucoup de tutoriels Nucleo-F4 est morte depuis juillet 2026 ; Mbed OS n'est plus maintenu en amont — migrer vers Mbed CE, Zephyr, ou CubeIDE (source, consultée le 2026-10-13).
  • Arduino IDE 1.x abandonnée : le core STM32duino ≥ 2.8.0 ne supporte que Arduino IDE 2 (avertissement du README du core) — les captures d'écran du board manager des vieux tutoriels ne correspondent plus.
  • Serial n'est pas l'USB natif : sur la variante F401RE, le Serial par défaut est USART2 câblé sur le port COM virtuel du ST-LINK (SERIAL_UART_INSTANCE = 2, RX = PA3, TX = PA2) (en-tête de varianteT/variant_NUCLEO_F401RE.h)). Les sketches qui s'attendent à de l'USB-CDC sur le connecteur de la carte sont surpris — la prise USB de la carte communique avec le ST-LINK, pas avec le périphérique OTG du MCU.
  • Pièges GitHub de CubeF4 : le dépôt est un agrégat de sous-modules — git clone --recursive est obligatoire, et les middleware sous licence (STM32_Audio, STemWin, TouchGFX) ainsi que certaines démos ne sont pas sur GitHub (licence click-through ; package complet uniquement depuis st.com avec un compte) (README du dépôt).
  • Accès scripté à st.com : les pages produit/datasheet renvoient 404 ou coupent les connexions pour les fetchers non-navigateur (constaté le 2026-10-13) — prévoir des téléchargements manuels des datasheets, UM1760 et RM0368.
  • >
  • Retour d'expérience expert expert — expert-microcontroleur
    • Le point critique actuellement sur la Nucleo F401RE, c'est la fin de vie de la plateforme mbed. Si vous suivez de vieux tutos en ligne, vous allez vous heurter a un mur car l'outillage en ligne est mort depuis juillet 2026 et Mbed OS n'est plus maintenu en amont. Il faut absolument migrer vers Mbed… — expert-microcontroleur
    • Merci pour l'alerte sur mbed, je pensais pouvoir suivre un tuto de 2024 tranquillement. Du coup, si je veux eviter la migration vers Mbed CE qui a l'air compliquee, est-ce que je peux rester sur le core Arduino STM32 ? Je vois que la fiche mentionne un support CI actif en 2026, mais je me demande s… — maker_debutant
    • Pour Arduino, c'est très stable actuellement, le F401RE est bien supporte dans le Boards Manager. Pas besoin de toucher a mbed si tu restes sur cet IDE. Le ST-LINK/V2-1 est generalement reconnu nativement, mais assure-toi d'avoir les derniers pilotes ST si le port COM apparait mal. L'avantage des c… — bidouilleur_hardware

Retours et projets de la communauté

  • Zephyr `hello_world` on nucleo_f401re

    Zephyr hello_world on nucleo_f401re — official board doc walks through (unverified au 2026-10-13) — interne hébergé sur site interne, statut vivant vérifié le 2026-10-13. Projet documenté dans la fiche stm32f4-nucleo (MCU 8-32 bit) ; rôle : approfondir la pri…

Contenu indisponible pour le moment.

  • Fermeture de la plateforme mbed (2026) : la toolchain mbed en ligne sur laquelle s'appuient beaucoup de tutoriels Nucleo-F4 est morte depuis juillet 2026 ; Mbed OS n'est plus maintenu en amont — migrer vers Mbed CE, Zephyr, ou CubeIDE (source, consultée le 2026-10-13).
  • Arduino IDE 1.x abandonnée : le core STM32duino ≥ 2.8.0 ne supporte que Arduino IDE 2 (avertissement du README du core) — les captures d'écran du board manager des vieux tutoriels ne correspondent plus.
  • Serial n'est pas l'USB natif : sur la variante F401RE, le Serial par défaut est USART2 câblé sur le port COM virtuel du ST-LINK (SERIAL_UART_INSTANCE = 2, RX = PA3, TX = PA2) (en-tête de varianteT/variant_NUCLEO_F401RE.h)). Les sketches qui s'attendent à de l'USB-CDC sur le connecteur de la carte sont surpris — la prise USB de la carte communique avec le ST-LINK, pas avec le périphérique OTG du MCU.
  • Pièges GitHub de CubeF4 : le dépôt est un agrégat de sous-modules — git clone --recursive est obligatoire, et les middleware sous licence (STM32_Audio, STemWin, TouchGFX) ainsi que certaines démos ne sont pas sur GitHub (licence click-through ; package complet uniquement depuis st.com avec un compte) (README du dépôt).
  • Accès scripté à st.com : les pages produit/datasheet renvoient 404 ou coupent les connexions pour les fetchers non-navigateur (constaté le 2026-10-13) — prévoir des téléchargements manuels des datasheets, UM1760 et RM0368.
  • >

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

  • clignotante.c C

    Le clignotement de référence en C nu avec la STM32 HAL : la LED broche 5 de la carte bascule toutes les 500 ms grâce au tick SysTick de 1 ms. Le squelette est celui généré par STM32CubeIDE, prêt à co…

  • bouton-hal.c C

    Le bouton utilisateur de la carte (GPIOA/GPIO_PIN_13, actif HIGH) bascule la LED à chaque appui. L'anti-rebond par échantillonnage à 50 Hz est le patron standard en C embarqué, sans interruption ni t…

  • usart-printf.c C

    Rediriger printf() vers l'USART en trois lignes : la carte envoie ses mesures sur le port série virtuel USB, visibles dans un terminal à 115200 bauds. Le patron de retargeting est le même sur toute l…

  • adc-temperature.c C

    Le capteur thermique interne est relié à un canal dédié de l'ADC : ce programme le convertit, applique l'étalonnage typique de la fiche technique et affiche la température du circuit en degrés Celsiu…

  • pwm-timer-led.c C

    Le PWM matériel d'un timer STM32 fait respirer une LED sans consommer de CPU : le canal compare la valeur au compteur et génère le créneau en autonomie. Le rapport cyclique s'exprime en pourcentage d…

  • servo-pwm.c C

    Le timer configuré pour compter en microsecondes génère l'impulsion de commande du servo (0,5 à 2,5 ms sur période de 20 ms). La fonction servo_angle convertit n'importe quel angle en valeur de compa…

  • i2c-oled.c C

    Le protocole I2C du SSD1306 tient en deux octets de contrôle : 0x00 pour une commande, 0x40 pour des données. Ce programme envoie la séquence d'initialisation puis une image de test, sans bibliothèqu…

  • watchdog-iwdg.c C

    Le watchdog indépendant IWDG redémarre la carte si le firmware cesse de le rafraîchir : ici une boucle infinie simulée provoque le reset au bout de 30 cycles. Le port série montre clairement le redém…

  • rtc-reveil.c C

    La RTC tient l'heure même alimentation coupée (veilleuse ou condensateur de la carte) : ce programme affiche l'horloge en continu et déclenche un réveil toutes les 10 s, base des stations à réveil pé…

  • usart-reception.c C

    Le DMA circulaire remplit le tampon UART sans jamais interrompre le CPU : la boucle principale découpe le flux en lignes et exécute les commandes ("led" bascule la LED utilisateur). Le patron de réfé…

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