Arduino UNO Rev4

Po více než 10 letech bylo při příležitosti Arduino dne oznámeno, že světlo světa spatří již čtvrtá generace desky Arduino UNO. Pojďme se podívat jaká vylepšení se na nás chystají (zatím pouze teoreticky, protože desku zatím nelze koupit) – můžete se však zaregistrovat aby jste byli včas upozorněni.
Historická zajímavost: podle internetu bylo Arduino UNO R3 představeno v roce 2010, to znamená, že na novou verzi jsme čekali skoro 13 let!

Co se změní? Skoro vše…

V Arduinu si pravděpodobně řekli, že ačkoliv popularita jejich desek (a cenově příznivějších čínských klonů) je vysoká, za těch pár let od poslední revize se přeci jen změnila doba a 8-bit AVR je již výkonově nedostačující pro stále náročnější aplikace a uživatele. K příležitosti Arduino dne 2023 tedy oznámili nástupce své nejznámější destičky.
Hlavní změnou je zcela určitě odchod od jednočipového 8-bitového mikrořadiče AVR k procesoru „Renesas RA4M1 32-bit Cortex®-M4“, který nabídne mnohem větší výpočetní sílu (32bit 48MHz oproti 8bit 16MHz). Další zajímavou změnou je dodání ve dvou verzích: Wi-Fi a Minima, z názvu je patrné, že Wi-Fi bude mít navíc – „wait for it“ – Wi-Fi modul, konkrétně se bude jednat o čip „Espressif S3 Wi-Fi module“. Verze Minima by měla být levnější varianta pro ty, kteří chtějí „cenově dostupnou platformu bez zbytečných fíčur“. Třešničkou na dortu je CAN bus a SPI port vyvedený na desku pro snazší zapojení více komponent a shieldů paralelně (prý na přání komunity). Všechny uvedené změny jsou shrnuty v následující tabulce:

Rev3Rev4
MCUATmega328 16MHzRenesas RA4M1 32-bit Cortex®-M4 48MHz
SRAM2kB32kB
Flash32kB256kB
USBUSB-AUSB-C
Max. napájení12V24V
Porovnání Rev3 a Rev4

A co zpětná kompatibilita?

Arduino ujišťuje, že zpětná kompatibilita byla jednou z hlavních priorit. Podle jejich vyjádření podnikly tyto kroky: napěťová úroveň zůstane na 5V a rozměry budou stejné jako u Rev3 – tolik k HW kompatibilitě (asi není potřeba více 🙂 ).

Co se softwarové kompatibility týče, tak největší problém bude s knihovnami používající assemblerovský kód odladěný přímo pro ATmegu. Jako příklad lze uvést knihovnu NeoPixel – ta používá sekce psané v assembleru, aby mohla posílat do NeoPixel LEDs data se změnami v řádu nanosekund (pokud vlastníte logický analyzér, tak si zkuste tuto komunikaci vytvořit – nejde to).

Pokud jste autorem knihovny s kódem přímo pro ATmega, tak nemusíte zoufat, Arduino nabízí podporu při portování. Pokud takovou knihovnu používáte a její tvůrce portování z nějakého důvodu neprovede, tak není třeba panikařit, Arduino slibuje uveřejnění seznamu těchto knihoven společně se seznamem případných alternativ.

Závěr

Nová verze bude určitě krokem kupředu a jak se zdá, tak se Arduino snaží, aby problémy při případném přechodu byly co nejmenší.