La carte NUCLEO-L476RG
Cette fiche présente la carte NUCLEO-L476RG de STMicroelectronics que nous utiliserons essentiellement pour des tutoriels sur Arduino pour STM32.
Le microcontrôleur STM32L476RG
En préalable à cette section, nous vous conseillons de lire cette qui traite des microcontrôleurs STM32 en général, ici.
La carte NUCLEO-WL476RG est un support de test et démonstration du microcontrôleur (MCU) STM32L476RG qui intègre sur un même substrat de silicium / sur une même puce un cœur ARM Cortex-M4 cadencé à 80 MHz, 128 ko de SRAM, 1 Mb de mémoire Flash et un grand nombre de périphériques et d’entrées-sorties. Il est optimisé pour un contrôle fin de sa consommation d’énergie et est capable de gérer pas moins de 9 modes de veille et 3 modes “run” optimisés selon l’application.
La figure qui suit donne le diagramme blocs du STM32L476RG qui rappelle toutes les fonctions qu’il intègre :

Crédit images : STMicroelectronics
Pour vous faire une idée de la complexité de microcontrôleur, vous pouvez télécharger ici sa fiche technique. Vous trouverez plus d’information sur le STM32L476RG dans cet article.
Anatomie de la NUCLEO-L476RG
En préalable à cette section, nous vous recommandons de lire celle qui traite des cartes NUCLEO en général, ici.
Une partie de nos tutoriels utilisent la carte NUCLEO-L476RG de STMicroelectronics. Vous trouverez sa description détaillée et sa fiche technique ici. Elle est équipée d’un microcontrôleur (MCU) STM32L476RG cadencé à 80 MHz offrant 1 Mb de mémoire Flash, 128 kb de SRAM et un grand nombre d’entrées-sorties. La figure ci-dessous illustre cette carte et sa légende précise un certain nombre de termes techniques que vous rencontrerez souvent par la suite :
La carte NUCLEO-L476R (face avant)

Comme sur toutes les cartes NUCLEO, le port USB ST-LINK sert à la programmer et offre également un canal de communication série avec l’ordinateur auquel elle est connectée. Le ST-LINK permet aussi le débogage interactif du firmware exécuté par le MCU STM32L476RG. On remarquera que, pour assurer sa mission de “programmeur de firmware”, le ST-LINK est animé par un MCU STM32L0 qui a son propre firmware, qu’il faudra parfois mettre à jour selon cette procédure.
Les connecteurs de la carte NUCLEO-L476RG
Le MCU STM32L476RG propose un grand nombre de fonctions et 64 broches sur son boitier, qui ne sont donc pas toutes accessibles par les 32 broches des connecteurs Arduino. Les broches des connecteurs Morpho corrigent partiellement ce problème en offrant 32 connexions supplémentaires :

La nomenclature des broches MORPHO (PA2, PC5, PC13, etc.) vous sera très utile si vous décidez de développer des applications avec l’environnement STM32duino (Arduino pour STM32) ou encore STM32Cube, qui permettent de les utiliser.
Cartographie des fonctions alternatives - broches pour la NUCLEO-L476RG
La présente section donne une représentation graphique du câblage “par défaut” des fonctions alternatives (ou pas) pour la carte NUCLEO-L476RG. Veuillez noter que cette correspondance n’est pas imposée « en dur » : il est possible de rediriger les périphériques internes du MCU vers d’autres broches de son boitier – et donc de la carte NUCLEO. Cette reconfiguration se fait avec les bibliothèques LL et HAL et est facilitée par l’utilisation de l’outil de configuration graphique STM32Cube MX. Tous les périphériques internes ne peuvent cependant pas être redirigés sur n’importe quelles broches (le multiplexage des fonctions a ses limites !), mais les configurations possibles sont très nombreuses.
Broches pour le bouton et la LED utilisateur

Broches pour les six contrôleurs de ports séries

Broches pour les trois contrôleurs I2C

Broches pour les trois contrôleurs SPI

Broches et paramètres pour les vingt-sept canaux PWM

Broches et paramètres pour les douze canaux ADC
