De Arduino UNO R4 Minima en de Arduino UNO R4 WiFi werden een paar maanden geleden aangekondigd, maar zijn nu officieel uitgebracht. Dus nu ze echt bestaan, kunnen we ze eens van dichtbij bekijken.

De Renesas-familie

Een paar maanden geleden bracht Arduino het board Portenta C33 uit, met een ARM Cortex-M33 microcontroller van Renesas, de RA6M5. De twee nieuwe boards hebben ook een processor van Renesas, de RA4M1. Deze 32-bit ARM Cortex-M4 draait op 48 MHz en heeft 32 kB RAM en 256 kB flashgeheugen. Het lijkt erop dat zich een familie van Renesas-boards begint te ontwikkelen.

Interessant om op te merken is dat de RA4M1 kan werken met een voeding tot 5 V, terwijl de meeste andere ARM-type microcontrollers 3,3 V nodig hebben. Dit maakt de MCU een geschikte kandidaat voor het verbeteren van de 5-V, 8-bit op AVR gebaseerde familie waarvan de Arduino UNO R3 een beroemd lid is.
 
Renesas R(7F)A4M1 microcontroller
Het hart van de UNO R4-boards is een Renesas R(7F)A4M1-microcontroller.

Meer randapparatuur op de UNO R4

Het vervangen van een oude 8-bit, 28-pins controller door een modern 32-bit 64-pins apparaat heeft, zoals je zou verwachten, invloed op de complexiteit van het product. Dit heeft echter vooral betrekking op het softwaregedeelte, zoals blijkt uit de lange datasheet van de MCU van 1400+ pagina's (<300 pagina's voor de ATmega328). Het UNO R4 Minima-board heeft een vergelijkbare ontwerpcomplexiteit als de R3. De UNO R4 WiFi is een voller board omdat het de lege ruimte op het board van de Minima gebruikt voor een 8 bij 12 ledmatrix en een ESP32-S3-MINI-1 module.

De datasheet is zo lang omdat de Renesas-MCU veel meer randapparatuur heeft dan de ATmega328-microchip. Deze worden niet allemaal ondersteund door de R4's omdat niet alle pinnen van de MCU toegankelijk zijn (het heeft een 64-pins package. Er bestaat ook een 100-pins versie, misschien een idee voor een nieuw Mega-board?), maar een paar leuke zijn wel toegankelijk. Deze omvatten een CAN-bus en USB 2.0 Full-Speed (host of apparaat).

Een USB-C connector vervangt de USB-B connector.

Meer comms?

De RA4M1 integreert twee SPI-poorten, twee I²C-poorten plus vier serial communication interfaces (SCI's). Een SCI kan een UART, een I²C-master of een eenvoudige SPI-poort zijn (dus maximaal zes I²C- of SPI-poorten), en zelfs een smartcard-interface. Volgens Arduino zijn deze poorten beschikbaar, althans tot op zekere hoogte.* Als we echter naar het schema van de Minima kijken, lijkt er maar één I²C-poort te zijn aangesloten. De pinnen A4, A5, D4 en D5 verraden een tweede SPI-poort, hoewel de specificaties van het board er maar één noemen. Er is ook een tweede seriële poort (Serial1) beschikbaar, maar deze deelt zijn pinnen met de SPI-poort.
 
Arduino Uno R4

De UNO R4 heeft betere analoog

De UNO R4 heeft een 12-bit digitaal-naar-analoog converter (DAC) voor het produceren van echte analoge signalen in plaats van op PWM gebaseerde surrogaten. Er zijn ook een opamp en een comparator samen met een interne 8-bit DAC en de analoog-naar-digitaal converter ADC heeft een breedte van 14-bit in plaats van 10-bit bij de UNO R3. De analogWave-bibliotheek werd toegevoegd om het gebruik van de DAC eenvoudig te maken. Het genereren van een sinus-, zaag- of blokgolf is net zo eenvoudig als het aanroepen van een bibliotheekfunctie. Natuurlijk kun je er nog veel meer mee doen. Daarom heeft de UNO R4 op analoog gebied veel meer te bieden dan de UNO R3.

Extra complexe software

Wat betreft de Arduino IDE betekent het overschakelen naar een nieuwe, tot nu toe niet-ondersteunde processorfamilie ook het toevoegen van software-ondersteuning. Zoals we door de jaren heen hebben geleerd in onze computergestuurde wereld, heeft nieuwe software de neiging om problemen te introduceren, en dus zal het waarschijnlijk enige tijd duren voordat de UNO R4-ervaring net zo soepel zal zijn als die van de UNO R3.
 
SWD-connector
De SWD-connector op de UNO R4 Minima.

Gelukkig maakt de UNO R4 Minima het oplossen van problemen iets eenvoudiger, omdat deze een SWD-interface heeft, waarmee seriële debugging mogelijk is. De UNO R4 WiFi gaat zelfs nog een stap verder omdat de ESP32-S3 module kan fungeren als een onboard CMSIS-DAP debugger.

Wifimodem

Nu we de Arduino UNO R4 WiFi hebben genoemd, laten we eens kijken in welk opzicht deze verschilt van de UNO R4 Minima. Allereerst is er natuurlijk de Wi-Fi en Bluetooth LE-module, een ESP32-S3 van Espressif. Deze communiceert met de MCU via een seriële poort (Serial2) in de AT-commando-modus. De andere pinnen van de wifimodule zijn zichtbaar als kleine soldeerpads. Herprogrammeren van de module is mogelijk omdat de benodigde pinnen hiervoor toegankelijk zijn op een 2 x 3 header (en aan de onderkant van de print). De nieuwe Arduino-bibliotheek WiFiS3 biedt high-level softwareondersteuning voor de module.

Ledmatrix

Een rode ledmatrix van 96 pixels (8 × 12) maakt het mogelijk om gegevens te plotten, animaties te maken en meer complexe en verfijnde feedback te geven in projecten. En een nieuwe bibliotheek biedt functies om er animaties op weer te geven**. Er is ook een webtool voor het ontwerpen van animaties aangekondigd.
 
arduino-uno-r4-wifi-led-matrix-hires.jpg
De Arduino UNO R4 WiFi heeft een 8-bij-12 matrix van rode leds.

De matrix gebruikt Charlieplexing om de 96 leds te verbinden met slechts 11 GPIO-poorten (D28 tot D38 in Arduino-notatie). Dit betekent dat er maar een paar leds tegelijk actief kunnen zijn, omdat pixels bestaan uit twee leds die antiparallel zijn aangesloten en pixels poorten delen. Aangezien het menselijk oog echter traag is, zorgt snelle multiplexing ervoor dat de hersenen volledige beelden zien.

Een tweede I²C-poort

De UNO R4 WiFi heeft twee I²C-poorten (Wire en Wire1). Een Qwiic-compatibele (SparkFun-standaard) I²C-connector biedt toegang tot de tweede poort. Ze zijn misschien irritant klein, maar omdat de Qwiic-standaard een 3,3-V voedingsspanning voorschrijft, heeft het board een level shifter. Dit betekent dat het board zowel 5-V als 3,3-V I²C communicaties ondersteunt.

Voeding

Wanneer je de voeding niet van de usb-poort betrekt, is de voeding op de Arduino UNO R3 een eenvoudige lineaire spanningsregelaar. Op de UNO R4-boards is deze vervangen door een schakelende regelaar. Deze maakt een veel breder ingangsspanningsbereik mogelijk van 6 V tot 24 V. De regelaar, ook een product van Renesas, kan tot 1,2 A leveren met een efficiëntie van ongeveer 90%.
Bovendien heeft de UNO R4 WiFi ook een connector om de realtime klok (RTC) van stroom te voorzien.
 
Spanningsregelaar
Het ingangsspanningsbereik van de boards is 6V tot 24V.

Conclusie

De twee Arduino UNO R4-boards, Minima en WiFi, zien eruit als geloofwaardige opvolgers van de UNO R3. Ze hebben hetzelfde ontwerp, uitbreidingsconnectoren en volledige 5 V I/O. De UNO R4 WiFi lijkt een beetje op een UNO R4 Minima met een ingebouwd uitbreidingsshield. Met zijn wifimodule, ledmatrix en Qwiic-connector kun je er eenvoudig IoT-toepassingen mee bouwen.

De UNO R4 is veel krachtiger dan de UNO R3, met meer van alles, van geheugen tot randapparatuur en werksnelheid. Ik moest eerst een speciaal pakket voor Renesas-boards installeren in de IDE voordat ik kon gaan programmeren, maar als je deze regels leest, zou dat niet meer nodig moeten zijn (volgens Arduino). Daarom zal de UNO R4 voor de meeste gebruikers een 'drop-in' vervanging voor de UNO R3 zijn.

De UNO R4 is een grote stap voorwaarts

Tot slot, zeer interessant is de debug-connector op de Minima en de CMSIS-DAP debug-mogelijkheden van de ESP32-S3 module op de WiFi, een functie waar veel ontwikkelaars op hebben gewacht sinds ongeveer het begin van Arduino. Dit brengt de Arduino UNO eindelijk in de pro-ontwikkelingsarena. Daarom kan de Arduino UNO R4 worden beschouwd als een grote stap voorwaarts.
 
arduino uno r4 wifi.png
 
Arduino R4 minima.png

 


* Houd er rekening mee dat dit artikel is gebaseerd op versie 0.8.7-ea (Early Access) van het Arduino Renesas Boards-package, dus dingen kunnen en zullen waarschijnlijk zijn geëvolueerd sindsdien.

** Voordat de ledmatrixbibliotheek beschikbaar kwam, had ik al een klein programma geschreven om een scrollend bericht weer te geven op de UNO R4 WiFi. Je kunt het downloaden van GitHub.