Annoncés il y a quelques mois, l'Arduino UNO R4 Minima et l'Arduino UNO R4 WiFi sont désormais officiellement disponibles. Maintenant qu'ils existent vraiment, regardons-les de plus près. 

La famille Renesas

Il y a quelques mois, Arduino a sorti la carte Portenta C33, qui contient un microcontrôleur ARM Cortex-M33 de Renesas : le RA6M5. Les deux nouvelles cartes sont également équipées d'un composant de Renesas, le RA4M1. Ce microcontrôleur ARM Cortex-M4 32 bits fonctionne à 48 MHz et dispose de 32 Ko de RAM et de 256 Ko de mémoire flash. Il semble qu'une famille de cartes Renesas commence à se développer.

Il est intéressant de noter que le RA4M1 peut fonctionner avec une alimentation allant jusqu'à 5 V, alors que la plupart des autres microcontrôleurs de type ARM nécessitent 3,3 V. Cela fait de ce MCU un candidat idéal pour améliorer la famille des AVR 8 bits à 5 V, dont l'Arduino UNO R3 est un membre célèbre.
 
Microcontrôleur Renesas R(7F)A4M1
Les cartes UNO R4 possèdent un microcontrôleur R(7F)A4M1 de RENESAS.

Plus de périphériques sur l'UNO R4

Le remplacement d'un vieux contrôleur 8 bits à 28 broches par un dispositif moderne 32 bits à 64 broches a, comme on peut s'y attendre, un impact sur la complexité du produit. Cependant, il s'agit principalement de la partie logicielle, comme l'indique la fiche technique de plus de 1400 pages du MCU (moins de 300 pages pour l'ATmega328). La carte UNO R4 Minima est d'une complexité de conception similaire à celle de la R3. La UNO R4 WiFi est une carte plus dense car elle utilise l'espace vide de la Minima pour une matrice de LED 8 x 12 et un module ESP32-S3-MINI-1.

La fiche technique est aussi volumineuse parce que le MCU de Renesas comporte beaucoup plus de périphériques que l'ATmega328 de Microchip. Tous ne sont pas supportés par les R4s car toutes les broches du MCU ne sont pas accessibles (il a un boîtier de 64 broches. Une version à 100 broches existe aussi, peut-être une idée pour une nouvelle carte Mega ? ), seules quelques broches sont accessibles. Celles-ci incluent notamment un bus CAN et l'USB 2.0 Full-Speed (hôte ou périphérique).

Un connecteur USB-C remplace le connecteur USB-B.

Plus de communications ?

Le RA4M1 intègre deux ports SPI, deux ports I²C et quatre interfaces de communication série (SCI). Une SCI peut être un UART, un I²C maître ou un simple port SPI (c'est-à-dire jusqu'à six ports I²C ou SPI), et même une interface pour carte à puce. Selon Arduino, ces ports sont disponibles, du moins dans une certaine mesure.* Cependant, en regardant le schéma du Minima, seul un port I²C semble être connecté. Les broches A4, A5, D4 et D5 révèlent un second port SPI alors que les spécifications de la carte n'en mentionnent qu'un seul. Un second port série (Serial1) est également disponible, mais il partage ses broches avec le port SPI.
 
Arduino Uno R4

L'UNO R4 est plus fourni en analogique

L'UNO R4 dispose d'un convertisseur numérique-analogique (CNA) de 12 bits pour produire de vrais signaux analogiques au lieu de substituts à base de PWM. Il y a aussi un ampli-op et un comparateur avec un DAC interne de 8 bits et le convertisseur analogique-numérique CAN a une étendue de 14 bits au lieu de 10 bits pour l'UNO R3. La bibliothèque analogWave a été ajoutée pour faciliter l'utilisation du DAC. La génération d'une sinusoïde, d'une scie ou d'une onde carrée est aussi simple que l'appel d'une fonction de la bibliothèque. Bien sûr, vous pouvez faire beaucoup plus avec. Par conséquent, du côté analogique, l'UNO R4 a beaucoup plus à offrir que l'UNO R3.

Complexité logicielle accrue

En ce qui concerne l'IDE Arduino, le passage à une nouvelle famille de processeurs qui n'était pas gérée jusqu'à présent, implique également l'ajout d'un logiciel de prise en charge. Comme nous l'avons appris au fil des ans dans notre monde contrôlé par ordinateur, les nouveaux logiciels ont tendance à introduire des nouvelles problématiques, et il faudra donc probablement un certain temps avant que l'expérience de l'UNO R4 devienne aussi fluide que celle de l'UNO R3.
 
Connecteur SWD
Le connecteur SWD de l'UNO R4 Minima.

Heureusement, la UNO R4 Minima facilite la résolution des problèmes car elle dispose d'une interface SWD qui permet un débogage sérieux (en série). La UNO R4 WiFi va encore plus loin puisque son module ESP32-S3 peut faire office de débogueur CMSIS-DAP embarqué.

Modem Wi-Fi 

Maintenant que nous avons parlé de la carte Arduino UNO R4 WiFi, voyons en quoi elle diffère de l'UNO R4 Minima. Tout d'abord, il y a bien sûr le module Wi-Fi & Bluetooth LE, un ESP32-S3 d'Espressif. Il communique avec le MCU via un port série (Serial2) en mode AT-command. Les autres broches du module Wi-Fi sont accessibles sous forme de minuscules pastilles de soudure. La reprogrammation du module est possible car les broches nécessaires sont accessibles sur une barette 2 x 3 (et sur la face inférieure du circuit imprimé). La nouvelle bibliothèque Arduino WiFiS3 fournit un support logiciel de haut niveau pour le module.

Matrice LED

Une matrice LED rouge de 96 pixels (8 × 12) permet aux utilisateurs de tracer des données, de créer des animations et de fournir un retour d'information plus complexe et plus sophistiqué dans les projets. Une nouvelle bibliothèque fournit des fonctions permettant d'afficher des animations sur cette matrice**. Un outil web pour créer des animations a également été annoncé.
 
arduino-uno-r4-wifi-led-matrix-hires.jpg
L'Arduino UNO R4 WiFi dispose d'une matrice de LEDs rouges de 8 par 12.

La matrice utilise Charlieplexing pour connecter les 96 LED à seulement 11 ports GPIO (D28 à D38 en notation Arduino). Cela signifie que seules quelques LEDs peuvent être actives à un moment donné, car les pixels sont constitués de deux LEDs connectées en antiparallèle et les pixels se partagent les connexions. Cependant, comme l'œil humain est lent, le multiplexage temporel rapide permet de tromper le cerveau en lui faisant voir des images complètes.

Un deuxième port I²C

La UNO R4 WiFi dispose de deux ports I²C (Wire & Wire1). Un connecteur I²C compatible Qwiic (standard SparkFun) permet d'accéder au deuxième port. Ils sont peut-être ennuyeusement petits, mais comme le standard Qwiic impose une tension d'alimentation de 3.3V, la carte est livrée avec un level shifter. Cela signifie que la carte peut effectuer des communications I²C à la fois en 5V et en 3,3V.

Alimentation

Lorsqu'elle n'est pas alimentée par le port USB, l'alimentation de l'Arduino UNO R3 est un régulateur de tension linéaire de base. Sur les cartes UNO R4, ce régulateur a été remplacé par un régulateur à découpage. Il autorise une plage de tension d'entrée élargie, de 6 V à 24 V (figure 4). Le régulateur, également un produit Renesas, peut délivrer jusqu'à 1,2 A avec un rendement d'environ 90 %.
Notez que l'UNO R4 WiFi dispose également d'un connecteur pour alimenter l'horloge en temps réel (RTC).
 
Régulateur de tension
La plage de la tension d'entrée des cartes s'étende de 6V à 24V.

Conclusion

Les deux cartes Arduino UNO R4, Minima et WiFi, semblent être des successeurs crédibles de la UNO R3. Elles ont la même forme, les mêmes connecteurs d'extension et les mêmes entrées/sorties 5V. La UNO R4 WiFi est un peu comme une UNO R4 Minima avec un module d'extension intégré. Avec son module Wi-Fi, sa matrice de LEDs et son connecteur Qwiic, il est facile de construire des applications IdO avec la carte UNO R4.

La UNO R4 est bien plus puissante que la UNO R3, avec beaucoup de choses en plus, de la mémoire aux périphériques en passant par la vitesse de fonctionnement. J'ai dû installer un package spécial de cartes Renesas dans l'IDE avant de pouvoir programmer, mais quand vous lisez ces lignes, cela ne devrait plus être nécessaire (selon Arduino). Par conséquent, pour la plupart des utilisateurs, l'UNO R4 remplacera sans problème l'UNO R3.

L'UNO R4 est un grand pas en avant

Enfin, le connecteur de débogage sur le Minima et les capacités de débogage CMSIS-DAP du module ESP32-S3 sur le WiFi, une fonctionnalité que de nombreux développeurs attendaient depuis les débuts d'Arduino, sont très intéressants. L'Arduino UNO R4 peut donc être considéré comme un grand pas en avant.
 
arduino uno r4 wifi.png
Arduino R4 minima.png



* Veuillez garder à l'esprit que cet article est basé sur la version 0.8.7-ea (Early Access) du paquet Arduino Renesas Boards, donc les choses peuvent et vont probablement évoluer depuis.

** Avant que la librairie LED matrix ne soit disponible, j'avais déjà écrit un petit programme pour afficher un message défilant sur la UNO R4 WiFi. Vous pouvez le télécharger sur Github.

Traduction : Laurent RAUBER