Arduino Nano R4
Da li će se mejkeri i STEM zajednica oduševiti novim Arduino Nano R4 koji je 32-bitni naslednik legendarnog 8-bitnog Arduino Nano mikrokontrolerskog razvojnog sistema vreme će pokazati. Nova ARM arhitektura ima veću snagu, novi interfejsi su tu, i neke veoma zgodne integracije poput operacionog pojačivača, kontrolera segmentnog displeja i kontrolera za tač ekran.
Pros
- Kompatibilan je sam sa sobom i svojih 5 V
- Novi interfejsi poput CAN-a, I2C sa 3.3 V i 5 V nivoom su dobrodošli
- Operacioni pojačavač integrisan kroz tri namenska pina
- Kontroler segmentnog displeja i tač ekrana su vrlo zgodni za realizaciju HMI-a
Cons
- Bežičnih komunikacija nema ni u tragovima da bi se samostalno integrisao u IoT
- Cena je škakljiva ovog puta
- Staro Armv7-M jezgro bez ARM TrustZone-a
- Aljkavo urađen PCB
Hitachi i Mitsubishi Electric su 2003. osnovali kompaniju Renesas kako bi ona proizvodila poluprovodničke elemente – sve osim DRAM-a. Do danas je ona samo rasla i na tom putu u sebe integrisala i neke ogromne kompanije poput NEC Electronics, Intersil-a, IDT-a, Dialog Semiconductor-a i najzad Altium-a. Iako možda nije posebno poznata među našim inženjerima, na međunarodnom tržištu se u kompanijama smatra posebnim ako se koristi Renesas silicijum.
Otuda je i zanimljivo da je Arduino, kao jedna od vodećih kompanija u polju razvojnih sistema, koja je dobrano zašla i u industrijske vode, posebno kroz saradnju sa Finderom, u novoj seriji i u NANO R4 i UNO R4 modelu. Za one koji se možda ne sećaju, pisali smo već o programabilnom logičkom releju 8A serije pod imenom FINDER OPTA i tom prvom hardverskom koraku Arduina u industrijski, ali i Home Automation svet.
Hardver
Renesas RA4M1 ili puno ime R7FA4M1AB3CFM pripada Renesas RA4 seriji koju sama kompanija vidi kao optimum odnosa performansi i energetske efikasnosti. Ovo je najslabiji predstavnik u mainsteram liniji koji radi na 48 MHz, a u njemu je ARM Cortex-M4 jezgro. Jedini je RA4 sa tim jezgrom, u svim drugim modelima je ARM Cortex-M33 na značajno većem kloku – 80 ili 100 MHz. I u drugim serijama, RA0, RA2, RA6 i RA8 prešlo se na jezgra sa novom Armv8-M arhitekturom, dok su samo u ovom i par najosnovnijih modela RA6 serije zadržana jezgra sa starijom Armv7-M arhitekturom. Možda je i ponajbitnija razlika što starije ARM Cortex-M4 jezgro nema Armv8-M TrustZone. To što su i FPU i MPU upgrejdovani, kao i što novi interapt kontroler (NVIC) može opsluživati 480 umesto dosadašnjih 240 linija, možda i nije mnogo značajno.
Renesas preporučuje korišćenje ovog čipa za kontrolu sistema, HMI-a, očitavanje digitalnih signala u senzorima, kao i za elemenatrne ML primene. Za kontrolu električnih pogona, komunikacione primene i akviziciju analognih signala imaju druge modele mikrokontrolera u RA seriji. RA4M1, iako najslabiji u seriji, ima 32 bitni GPT tajmer opšte namene, ali i 16 bitni nezavisni asinhroni tajmer AGT, kao vačdog tajmer WDT i RTC koji neprekidno radi kada je dovedeno baterijsko napajanje od 1.6 do 3.6 VDC.
Od interfejsa, posebno su bitni CAN 2.0B kome je potreban dodatni eksterni transiver, dva I2C, dva SPI, četiri SCI i I2S.
Tu su i posebni ulazi za kapacitivni tač na ekranu, ali interfejs za segmentni LCD. Vrlo zgodno jer eliminiše potrebu za dodatnim specifičnim IC-ovima pri realizaciji HMI-a. RA4M1 ima ugrađen 14 bitni ADC i 12 bitni DAC.

Posebno interesantno je što ima kanal koji vodi na operacioni pojačivač. U realnoj upotrebi njegovo prisustvo omogućava, bez dodatnih kola, realizaciju naponskog bafera koji na izlazu vernu prati ulazni napon bez povlačenja struje na ulazu, dalje realizacuju invertujućeg ili neivertujućeg pojačavača slabih signala i najzad izradu replikatora vrednosti sa senzora bez uticaja originalni izvor signala.
Sav kod se može smestiti u najviše 256 KB koliko je na samom čipu, a za rad koristi 32 KB SRAM-a i 8 KB data Flash-a. Iako nema Arm v8-M TrustZone, ima neke sigurnosne funkcije, poput SRAM Parity Check-a, ECC za SRAM, kao i AES (125/256) hardverske enkriptore.
Prisustvo ovakvog mikrokontrolera na Ardunio Nano R4 otvara njegov aplikativni prostor od mejkerskog, pa sve do konzjumerskih proizvoda i jednostavnijih industrijskih aplikacija akvizicije signala sa senzora ili izrade HMI interfejsa.

Arduino Nano R4 je dimenziono identična legendarnom Arduino Nano-u sa 45 x 80 mm. Na njemu je bio 8-bitni ATmega328P. Novi Nano se može direktno “ubosti” na mesto starog, jer pinovi funkcionalno odgovaraju. Ono što je posebno važno je da je i novi, kao i stari razvojni sistem na 5 VDC i to upravo zahvaljujući izboru RA4M1 mikrokontrolera. Tu možda leži i odgovor zašto nije izabran neki od “snažnijih” modela u seriji.
Memorija je prva velika razlika. Podsetimo se da je stari Nano sa ATmegom imao samo 32 kB Flash-a, dakle osam puta manje, a SRAM od 2 KB je bio čak šesnaest puta manji. Treba istaknuti i da je prethodni mikrokotroler bio 8-bitni, dok je novi RA4M1 32-bitni sa FPU-om.

Pored standardnih 14 digitalnih linija, od čega 6 sa PWM, 8 analognih ulaza, na novom Arduino Nano R4 imamo multipleksiran DAC na A0 pinu, signali za operacioni pojačivač (in+, in- i out) su na A1, A2 i A3 – vrlo zgodno. CAN je na drugoj strani ploče, na D4 i D5 pinovima.
Na Nano R4 ploči, RTC u mikrokontroleru je radi stabilne tačnosti podržan i eksternim 16 MHz oscilatorom. RTC može raditi u dva moda, jedan je standardni binarni pogodan za realizaciju ne-gregorijanskih kalendara, dok u kalendar modu sa rezolucijom od sekunde, prikazuje datum u intervalu od 2000 do 2099 godine.

Za programiranje i 5 VDC napajanje koristi se postojeći USB-C. Qwiic I2C konektor je novitet i nalazi se tamo gde su na starom Nano-u bili duplirani pinovi. Ovog puta Qwiic I2C ne duplira ništa, odnosno na njemu je I2C0, dok je na pinovima A4 i A5 multipleksiran I2C1. Qwiic I2C je fiksiran na 3.3 VDC, a interno se napon translira na 5 VDC kako bi se ostvarila komunikacija sa RA4M1.
Software
Arduino IDE je logično, pravo okruženje za programiranje novog Arduino Nano R4. Kako je RA4M1 pin-kompatibilan sa prethodnim Arduino Nano sa ATmega328P mkrokontrolerom, a ima kompletnu podršku u Arduino IDE-u možemo reći da već postoji ogromna baza softverskih rešenja i kompatibilnih dodataka. U mnogim slučajevima samo blaga revizija koda biće dovoljna da sve funckioniše kao i pre, samo mnogo responzivnije. Ipak, budite ekstremno oprezni, prelaskom sa starog na novi Nano, menjate ne samo mikrokontroler, već i arhitekturu, nekadašnji RISC-V sada zamenjujete ARM (Armv7-M) arhitekturom. Ovo su ipak dva potpuno različita IC-a i čim se budete odvojili od osnovnih primera, moraćete tu činjenicu da uzmete u obzir. Arduino IDE inače pokušava da unificira rešenja i olakša prelazak sa jednog mikrokontrolera na drugi i u tome zaista i uspeva, posebno kod nivoa STEM i mejkerskih aplikacija. Samo pogledajte desetak različitih XIAO pločica sa potpuno različitim čipom na sebi, od kojih svaki ima Arduino IDE podršku. Na prvi pogled izgleda da je sve jedno koji “ubodete” u svoj projekat, ali čim se stvari malo usložne, pokazuje se da je neophodno uzeti u obzir posebnosti svakog od njih. To je i ovde slučaj.
U testovima performansi koje smo sproveli, vidimo da Dhrystone na novom postiže čak četiri puta bolje rezultate nego na prethodnom modelu. Situacija sa Whetstone rezultatima je manje dramatična za single precision operacije. Pravi korak unapred u stvari čini prelazak sa 8 bitne na 32 bitnu arhitekturu, što se direktno ogleda u radu sa double tipom podataka. Jasno je da je i skok sa 20 MHz na sadašnjih 48 MHz značajan.
Upoređujući veći broj trenutno aktuelnih mikrokontrolera, vidimo da je po performansama ovaj Renesas RA4M1 negde između Microchip SAMD21G18 koga smo imali u XIAO SAMD21 i Silicon Labs EFR32MG24 u XIAO MG24. Ako pomišljate na popularne Raspberry Pi Pico ili ESP32 razvojne sisteme, znajte da su oni jedna klasa iznad po performansama.
Pri testiranju nam je zasmetalo što je Arduino, iako je dao svoju originalnu definiciju ploče, onemogućio bilo koju od optimizacionih opcija pri kompajliranju.
Ako ste zaljubljenik u FreeRTOS, ili vam je on jednostavno neophodan u projektu, Arduino se pobrinuo i integrisao ga u Arduino IDE bibliotekom Arduino_FreeRTOS.h. Dakle, nema potrebe za preuzimanjem dodatnih softverskih paketa. Primer korišćenja je dat u Arduino IDE primerima za Nano R4. Obratite pažnju na obavezan vTaskStartScheduler(); na kraju void setup() funkcije. Eto primera koji ilustruje jednu “sitnu”, ali funkcionalno bitnu razliku između koda za stari Nano na AVR-u i novog mikrokontrolera.
Nuttx ima načelnu podršku za R7FA4M1AB3CFM mikrokontroler, ali je ona daleko od potpune i pitanje je koliko još treba vremena će da se razvije, pa na njega ne za sada ne računajte. U slučaju Zephyr-a, razvijen je Arduino Core for Zephyr RTOS i to je najelegantnij način, mada podrazumeva Arduino lejer za rad sa Arduino Nano R4.
Arduino nema zvaničnu podršku za MicroPython, čak upozorava da je moguće brikovati uređaj – pa čak i Arduino Uno R4 u postupku flešovanja. Stanovište je da sistem sa ovako malo memorije, nije pogodan za rad sa interpreterom kakav je Python.
Zaključak
Novi Arduino Nano R4 treba posmatrati kao najmanji i najosnovniji razvojni sistem koji je namenjen za realizaciju energetski efikasnih i cenovno ekonomičnih jednostavnijih rešenja, koja nemaju potreba za bežičnim povezivanjem. Očitavanje vrednosti senzora, upravljanje radom tač displeja, kondicioniranje analognih signala, akvizicija digitalnih signala, osnovna obrada prikupljenih podataka uz elementarni ML neke su od mogućih primena.
Zbog rada sa 5 VDC nivoom signala, paralelno sa 3.3 VDC signalima, postoji kompatibilnost sa prethodnim Arduino Nano sistemom. Njegova popularnost u prethodnim godinama, koja se ogleda u ogromnoj bazi rešenja i softverskih i hardverskih baziranih na njemu čini ovu osobinu izuzetno značajnom. Posebno u današnjem mejkerskom svetu, gde je 3.3 VDC postao praktično standard.
Arduino Nano R4 je odmeren razvojni sistem i za početnike, bilo u STEM-u bilo u mejkerskoj zajednici, a novi interfejsi, poput CAN-a, dva I2C-a, integrisanog operacionog pojačivača, kontrolera segmentnog displeja i tač kontrolera za displej pojednostavljuju nova rešenja, smanjujući broj neophodnih eksternih kola.
Mogućnost da se napaja baterijski, kao i ugraženi RTC sa funkcijom kalendara i rezolucijom od jedne sekunde, uz minimalnu potršnju ARM Cortex-M4 jezgra na 48 MHz čini ga pogodnim za izradu prenosnih i izdvojenih uređaja koji se napajaju iz alternatvnih izvora u rasponu od 1.6 do 3.6 VDC.
Svakako je Arduino dobro promislio kada je donosio odluku kako da osavremeni vremešni all-star razvojni sistem. Odluka da se ne napravi korak ka Armv8-M čipu i time implementira ARM TrustZone je možda promašaj.
Danas je na tržištu prava gužva, a konkurencija se često više okreće integraciji bežičnih komunikacija kojih ovde nema ni u tragovima. Napomena Renesas-a da ovaj čip nije za akviziciju analognih signala uvodi neke nedoumice, bez obzira na prisustvo analognih ulaza i ADC konvertora.
Cena od 13,40 euro je veoma škakljiva kada se poredi sa XIAO RA4M1 sa istim mikrokontrolerom koji košta samo 5.99 euro. Posebno kada se ima u vidu sve više rastući XIAO ekosistem i njegovu odličnu Arduino IDE podršku.
Videćemo…

