[147] Arduino Q cz. 1

W świecie Arduino ostatnio dużo się mówi o nowince, której nikt się nie spodziewał: nowym, już trzecim Uno z literką Q. I to powstałej wyjątkowo szybko po premierze drugiego Arduino, zwanego R4, bo zaledwie dwa lata później. Przypomnę, że Uno ośmiobitowe, czyli pierwsze, pojawiło się w roku 2010. Niestety wraz z premierą zaistniało nieciekawe zjawisko: chaos. Na licznych portalach możemy się dowiedzieć o przełomie, wspaniałych możliwościach, nawet obejrzeć sobie zestawienie parametrów, ale niewiele z tego wynika. Tak naprawdę brakuje podstawowych informacji: dlaczego tak i po co? Postanowiłem uporządkować nieco wiedzę na temat nowej płytki, co nie jest takie proste, bo tej wiedzy jeszcze prawie nigdzie nie ma. Z pewnością wiele rzeczy się zweryfikuje, ale czas leci, a przede wszystkim Arduino Q rzucili do sklepu i oprócz teorii można w końcu zająć się praktyką. Zatem do dzieła.


Najpierw jednak musimy skubnąć odrobinę historii. Po kilku latach od pojawienia się pomysłu na Arduino... A kiedy on się pojawił, tego do końca nie da się określić, bo to nie było tak, że pewnego dnia wymyślono ideę. Umownie około 2005 powstały założenia bliskie współcześnie istniejącym. Więc: pięć lat później zdecydowano się na uporządkowanie zasad i stworzenie standardu. I tak powstało Uno, czyli pierwsze – jako że po raz pierwszy wyznaczało zasady, które odtąd miały już obowiązywać zawsze. Chronologicznie tak naprawdę była to dziewiąta płytka, a bezpośredni poprzednik Uno już od niego wiele się nie różnił.

Uno miało prawie identyczne trzy wersje, różniące się poprawkami. Oczywiście mowa o oficjalnych płytkach, bo jako że to standard otwarty, kopii powstało mnóstwo i niektóre zasad tak ściśle nie chciały się trzymać. Wszystkie jednak bazowały na ośmiobitowym mikrokontrolerze ATmega 328.

Czas płynął, konkurencja poszła w moce rzędy wielkości większe i Uno, przy wystarczających możliwościach dla zadań typowych dla mikrokontrolerów, jako komputerek jednopłytowy był już archaizmem. W końcu 32 bity wkroczyły na salony w innych seriach, Uno jednak opierało się temu długo. Dopiero trzy lata temu zdecydowano się wybrać kandydata na serce nowego Uno, a stał się nim ARM Cortex M4. Prędkość zegara wzrosła trzykrotnie, pamięć – odpowiednio ośmio- i szesnastokrotnie no i oczywiście sam procesor jest zupełnie inną klasą wydajności. To w wersji podstawowej płytki, o nazwie Uno R4 Minima, ale powstała także widoczna poniżej Uno R4 WiFi, gdzie dołożono drugi procesor, tak naprawdę silniejszy, ESP32.

Ideą jest on traktowany jako koprocesor w służbie wymienionego wcześniej, ale nie ma przeszkód, by dobrać się do niego i zlecić mu jakieś ambitniejsze zadania. A ponieważ płytka Uno jest spora jak na potrzeby współczesnych scalaków, postanowiono wypełnić ją matrycą czerwonych diod świecących o organizacji 12x8, pełniących funkcję prymitywnego wyświetlacza.

Tak zwane nowe Uno (obecnie już nie nowe) pozwoliło na rzeczy dotąd niedostępne: od obróbki sygnałów, po pracę w chmurze, z którą wersja WiFi integruje się zgrabnie. Kilka projektów związanych z tą płytką pojawiło się już na portalu, ale dziś miałem pisać o najnowszym Arduino, więc do rzeczy.

Nawiązanie współpracy Arduino z Qualcomm zaskoczyło wszystkich, jak również ukazanie się nowej płytki o nazwie Q. Wprawdzie po cichu liczono na nową ideę, ale nastąpiło to wyjątkowo szybko. Na czym owa idea polega? Otóż po to był cały ten wstęp, by zrozumieć dotychczasowy pomysł na Arduino: to po prostu mikrokontroler, dla którego powstał standard programowania w języku C++, ale bez potrzeby pamiętania tych wszystkich adresów rejestrów, liczenia zegarów i zabawy w „asemblery”. Powstała też idea bibliotek, czyli procedur związanych przede wszystkich z peryferiami czy jakimiś bardziej zaawansowanymi obliczeniami, które po prostu karmi się danymi w formie przyjaznej dla ludzi i robią swoje. To sprawia, że na przykład odtwarzanie dźwięku z karty SD wymaga pięciu minut programowania, a nie całego dnia, a do tego zostało przetestowane na dziesiątą stronę.

Tymczasem Q, po dwóch dekadach zmieniło zasady. Na płytce mamy teraz dwa bloki, ale nie tak jak w R4, gdzie mikrokontrolerowi służył procesor oferujący usługi sieciowe. Tutaj oba bloki są równie ważne i każdy z nich ma konkretne zadania.

Pierwszym blokiem jest mikrokontroler Cortex M33, tym razem już pędzący z szybkością 160 MHz, z 2 MB pamięci Flash i 786 kB RAM-u. Jest mikrokontrolerem, a to znaczy, że nadaje się do sterowań czasu rzeczywistego, czyli tego, co robiła ATmega w pierwszym Uno. Co ciekawe, tym razem pracuje na systemie Zephyr, specjalnym systemie operacyjnym czasu rzeczywistego, który już w rodzinie Arduino pojawił się w najnowszych seriach układów.

Drugim blokiem jest zupełnie od niego niezależny mikroprocesor tym razem, czterordzeniowy Cortex A53 pracujący z szybkością 2 GHz, mający do pomocy koprocesor graficzny, 2 GB RAM-u i 16 GB pamięci eMMC. Domyślnie jest tam zainstalowany Linux, konkretnie Debian. Innymi słowy, Arduino Q jest tak naprawdę samodzielnym komputerem. Pytanie: po co dwa bloki? Czy nie dałoby się tego wszystkiego, co oczekuje się po sterownikach klasy Arduino, zrobić za pomocą jednego kontrolera?

Nie do końca. W miarę wzrostu złożoności zadań wzrasta także ryzyko opóźnień, zwykle prostych operacji, ale krytycznych czasowo – na przykład sterowania silnikami. W takim przypadku jeden z bloków zajmuje się tylko takimi prostymi zadaniami, drugi zaś ma ogromne moce dla analiz tego, co dostarcza tamten blok, oprogramowanie albo świat zewnętrzny. I na tym polega idea – dwóch partnerów od dwóch rodzajów zadań, którzy współpracują, nie wchodząc sobie w drogę.

Rzućmy sobie okiem na płytkę. Przede wszystkim wymiarami to stare, dobre Uno. Sprawdziłem czy będzie mi pasować w płytce edukacyjnej TME, która ma różne przydatne peryferia i pasuje. Otwory na śrubki także. Jeśli chodzi o napięcia, wystawiane są nieco niższe poziomy wysokie, zgodne z logiką 3,3 wolta, natomiast tolerancja dla cyfrowych napięć wejściowych sięga pięciu woltów, więc w zasadzie mamy tutaj pełną zgodność, ponieważ 3,3 wolta mieści się w bezpiecznym zakresie wysokim standardu pięciowoltowego. W przypadku wejść analogowych maksymalne napięcia nie powinny przekraczać 3,6 wolta, więc niektóre projekty mogą wymagać podania niższego napięcia odniesienia bądź założenia dzielników rezystorowych. W każdym razie odpaliłem naprędce jeden ze starszych projektów, który wykorzystuje pokładowy wyświetlacz i wszystko ruszyło bez jakichkolwiek zmian.

Na górze znajdziemy mikroprocesor Qualcomm QRB2210. Nad nim znajduje się kostka pamięci RAM – 2 GB albo 4 w wersji płytki z większą ilością pamięci. Mały układ po lewej stronie o nazwie ANX7625 łączy sygnały obrazu, dźwięku i danych i przesyła je przez USB. Dzięki temu po zastosowaniu HUB-a z wyjściami na monitor i głośniki możemy stworzyć funkcjonalny komputer: z monitorem, kamerą, klawiaturą i myszą. Równocześnie także układ zarządza energią pozyskiwaną stamtąd, więc to samo złącze służy do zasilania płytki. Układ wspiera rozdzielczość 4k, acz ograniczono się tutaj do pełnego HD, przy czym interfejs zaprojektowano na niższą rozdzielczość: 1280x720 pikseli, bo jest optymalna dla niewielkich monitorów – domyślnie przeznaczonych dla takich rozwiązań.

Układ PM4125 widoczny z prawej strony to centrum zarządzania energią. Poszczególne elementy wymagają napięć: 0,6 V, 1,1, 1,8, 3, 3,3 oraz 3,8 więc jeden układ serwujący aż tak duży wachlarz napięć jest niezbędny. Wszystko jest monitorowane i raportowane. Ma on także w strukturze elementy związane z zarządzaniem akumulatorem litowym.

W końcu ta mała, charakterystyczna płytka o nazwie WCBN3536A jest elementem związanym z sieciami bezprzewodowymi: WiFi i BT.

Z drugiej strony znajdziemy dwa układy scalone: pamięć eMMC w ilości 16 bądź 32 GB oraz mikrokontroler STM32U585, czyli dziedzictwo starego Arduino. Oczywiście wejście USB jest zgodne z najnowszym standardem 3.1 i wymaga ponadstandardowych trzech amperów. Dlatego powinno się używać ładowarek zgodnych z Power Delivery, acz najprostszych – używających tylko napięcia 5 woltów. Oczywiście ładowarek z możliwością wystawienia napięć wyższych także można używać, tylko po prostu zmarnuje się potencjał.

Oprócz standardowego złącza Uno mamy trochę nowości. Pominę te o wybitnie serwisowym charakterze. Na spodzie płytki pojawiły się długie, drobne gniazda. Jedno służy do podłączania mediów: przede wszystkim kamer i wyświetlaczy. Drugie wystawia sygnały z procesora i kontrolera i ma charakter uniwersalny, serwując to, co nie zmieściło się na złączach Uno. Mamy także złącze nowego standardu: Qwiic, które służy do łańcuchowego przyłączania kompatybilnych peryferiów używających szyny I2C. Na koniec dodam, że na złączu Uno, wśród wejść analogowych mamy także parę takich wyjść. Ich rozdzielczość sięga 12 bitów, a rozdzielczość wejść poszerzono do 14 bitów.

No i na płytce jest coś jeszcze: podobna matryca ledów, jaką można było po raz pierwszy znaleźć w modelu R4, ale troszkę gęściejsza – 13x8, w kolorach niebieskich tym razem i przede wszystkim mogąca pracować ze zmiennym natężeniem jasności. Animacje, mimo niskiej rozdzielczości, wyglądają teraz znakomicie. W kolejnych artykułach opiszę pierwsze wrażenia po uruchomieniu płytki. Zrobimy to dwa razy, w zupełnie innych warunkach.

Płytka edukacyjna TME-EDU-ARD-2Płytka edukacyjna TME-EDU-ARD-2

Inne artykuły z tej kategorii

Nasi partnerzy

TMETech Master EventTME EducationPoweredby
Copyright © 2026 arduino.pl