Avant propos : ressources bibliographiques
Nous vous recommandons la lecture de l’ouvrage MicroPython et Pyboard - Python sur microcontrôleur : de la prise en main à l’utilisation avancée de Dominique MEURISSE. Une partie de ce chapitre s’en inspire directement.
Les cartes Pyboard étant basées sur des microcontrôleurs STM32, quasiment toutes les informations disponibles dans ce livre sont directement transposables aux cartes NUCLEO-WB55 (et aux autres cartes NUCLEO de STMicropelectronics supportées par MicroPython).

La carte NUCLEO-WB55

Aperçu de la NUCLEO-WB55

Le microcontrôleur STM32WB55 rassemble sur la même puce en silicium deux microprocesseurs ARM Cortex ultra - basse consommation et offre une connectivité radio Bluetooth à basse consommation (BLE pour “Bluetooth Low Energy”). Vous trouverez une présentation du BLE et de ses protocoles sur cette page.

La carte NUCLEO-WB55 permet de programmer aisément le microcontrôleur STM32WB55 qui l’équipe en donnant accès à toutes ses fonctions.

Les connecteurs d’extensions (Arduino, Morpho) permettent à l’utilisateur de connecter des composants électroniques externes au STM32WB55.

La carte dispose aussi d’un connecteur pour pile CR2032, de 3 boutons (SW1,SW2,SW3), de 3 LED (rouge, verte et bleue) et de 2 connecteurs micro-USB.

Anatomie de la NUCLEO-WB55


NUCLEO-WB55


  • Antenne PCB

C’est l’antenne Bluetooth pour le microcontrôleur STM32WB55. Elle est dite “PCB” (pour “Printed Circuit Board”) car elle est intégrée directement dans la plaque d’époxy de la carte. Elle est conçue de sorte à optimiser la réception et l’émission des ondes radio pour la fréquence du Bluetooth soit 2,4 GHz.

  • Connecteurs Arduino et connecteurs MORPHO

Des kits d’extensions peuvent être connectés simplement grâce à ces connecteurs normalisés. On pourra, par exemple, brancher le kit MEMS Microphone (X-NUCLEO-CCA02M2) sur la NUCLEO-WB55 :


Carte Nucleo WB55 et shield X-NUCLEO-CCA02M2


Les connecteurs MORPHO permettent d’accéder à la plupart des fonctions du microcontrôleur STM32WB55. Cependant nous utiliserons seulement les connecteurs Arduino. Les cartographies ci-dessous situent les fonctions secondaires qui nous seront utiles sur les connecteurs Arduino. Le câblage de notre NUCLEO-WB55 est presque identique à celui des Arduino UNO à l’exception notable des broches PWM.


Arduino mapping


  • STM32WB55

C’est le Microcontrôleur qui anime la carte. C’est un système sur puce (SoC) avec deux coeurs ARM Cortex, un dédié aux programmes de l’utilisateur et un dédié à la gestion de la communication selon le protocole BLE.

  • Bouton reset

Lorsqu’on appuie dessus, le microcontrôleur interrompt son travail en cours et lance sa séquence d’initialisation.

  • Level Shifter

Circuit spécialisé dans la conversion entre deux niveaux de tensions.

  • USB User

C’est le port USB qui nous servira à:

  1. Communiquer avec la machine virtuelle MicroPython
  2. Programmer le système
  3. Alimenter le kit de développement
  • Compartiment CR2032

Une fois le système programmé, il sera possible d’alimenter le kit par une pile CR2032 afin de rendre l’ensemble portable.

  • ST-LINK

C’est l’outil qui permet de programmer le microcontrôleur, pour cela utiliser le “glisser-déposer” pour déposer le firmware sur le périphérique USB : WB55-NODE.

  • LED utilisateur (User LED)

Ces trois LED, une rouge, une bleue et une verte, sont accessibles au développeur et pourront être commutées grâce à MicroPython ; nous les utiliserons tout au long des exercices présentés par la suite. Précisons que :

  • La LED rouge est sérigraphiée LED3 sur le PCB
  • La LED verte est sérigraphiée LED2 sur le PCB
  • La LED bleue est sérigraphiée LED1 sur le PCB

Désignation des broches pour les connecteurs Arduino

Le schémas qui suivent font la correspondance entre les broches de la NUCLEO-WB55 et les fonctions / connecteurs de l’Arduino UNO. Hormis pour les fonctions PWM, les connecteurs Arduino des deux cartes offrent les mêmes fonctions sur les mêmes broches.


Arduino mapping Arduino mapping


Tension et niveau logique, injection de courant

  • Configurée en sortie numérique, une broche de la NUCLEO-WB55 est au niveau logique HAUT (1, ou encore True) lorsque la tension qu’elle délivre est 3.3 V (le maximum possible). Elle est au niveau logique BAS (0, ou encore False) lorsque la tension qu’elle délivre est 0 V (le minimum possible).

  • Configurée en entrée numérique, une broche est forcée au niveau HAUT lorsque la tension qui lui est appliquée est comprise entre 2V et 3.3V. Toute tension inférieure à 0.8 V produira un niveau BAS.
    La plupart des broches tolèrent une tension externe allant jusqu’à 5V. Mais nous vous déconseillons vivement de leur appliquer une tension supérieure à 3.3V car ceci injectera du courant dans le microcontrôleur au risque de le “griller” pour des intensités supérieures à 5 mA.

Fonctions alternatives de la NUCLEO-WB55

  • Entrée analogique (ADC)

  • Bus I2C

  • Bus SPI

  • Sortie PWM

  • Timers

  • UART (Port série)

Les bêtises à éviter