ARDUINO to kompletny system umożliwiający sterowanie różnymi ukladami oraz odczyt danych z różnych źródeł. Poważnym atutem układów ARDUINO jest ustandaryzowany rozkład wyprowadzeń, co umożliwia stosowanie gotowych rozwiązań rozszerzających możliwości układu. Specjalne płytki zwane shieldami mogą uzupełnić nasz układ o kartę sieciową, wyjścia do sterowania silnikami krokowymi, czy czujnik odległości. Od strony programu każdy pin układu jest jednoznacznie określony, co ułatwia tworzenie własnych układów na podstawie przykładów dostępnych w sieci. Na rysunku znajduje się układ ARDUINO UNO z opisanymi wyprowadzeniami. ARDUINO MEGA jest zgodny z wersją UNO w zakresie podstawowych wyprowadzeń. Dodatkowe wyprowadzenia układu umieszczone są w miejscu, które nie koliduje z wyprowadzeniami ARDUINO UNO (czyli standardu).
Nad złączem USB znajduje się przycisk RESET. Umożliwia on powrót do pierwotnego stanu układu bezpośrednio po włączeniu zasilania. Po naciśnięciu przycisku ARDUINO rozpoczyna wykonywanie programu od początku, dane w pamięci RAM mikrokontrolera zostaną wyzerowane.
Interfejs USB umożliwia programowanie układu ARDUINO oraz komunikację z układem wykonującym program. Dodatkowo poprzez USB można zasilać gotowy projektowany układ. Należy jednak pamiętać, że USB ma małą wydajność prądową i nie można z niego zasilać układów wymagających większych mocy np. silników, krokowych, czy serwomechanizmów.
Każdy układ ARDUINO wyposażony jest w gniazdo DC umożliwiające zasilanie. Napięcie zasilania może być z przedziału 5 - 20V. W rzeczywistości sensowne napięcie to 7 - 12V. W przypadku, gdy napięcie zasilania będzie niższe od 7V, to na wyjściach ARDUINO może pojawić się napięcie sterujące poniżej 5V, jeżeli natomiast napięcie zasilania będzie większe od 12V to odkładająca się na stabilizatorze napięcia moc może spowodować przegrzanie układu. Zasilanie poprzez gniazdo DC ma sens w przypadku, gdy część układu wymaga napiecia zasilania większego niż 5V oraz w sytuacji, gdy jest wymagany większy prąd zasilania układu. Dodatkowo wykorzystuje się zasilanie poprzez złącze DC w sytuacji, gdy budowany układ docelowo nie jest podłączony do komputera. Układy z małym poborem prądu zdecydowanie lepiej zasilać z gniazda USB. Zmniejsza to liczbę elementów układu (brak dodatkowego zasilacza - brak dodatkowego przewodu zasilającego).
Na płycie ARDUINO znajduje się jedno lub dwa złącza sześcio-pinowe wykorzystywane do programowania zainstalowanych mikrokontrolerów. Złącza oznaczone są jako ICSP1 i ICSP2. Złącze bliżej mikrokontrolera głównego (większego) umożliwia wgranie BOOTLOADERA, natomiast złącze bliżej portu USB umożliwia wgranie programu konwertera USB - RS232. Drugie ze złącz występuje tylko w układach ARDUINO, w których rolę konwertera pełni układ ATMEGA. W przypadku, gdy konwerterem jest układ FT232 złącze to nie występuje.
ARDUINO wyposażone jet w przynajmniej 4 diody LED. Dwie z nich oznaczone jako RX i TX umieszczone są niedaleko układu FT232 lub zastępującego go procesora ATMEGA. Sygnalizują one transmisję szeregową pomiędzy komputerem a sterownikiem. Diody te są przydatne podczas programowania układu oraz testowania programu komunikującego się z komputerem. Można wizualnie określić, czy transmisja (programowanie) fizycznie występuje, czy nie. Kolejna dioda oznaczona jako PWR to kontrolka zasilania układu. Sygnalizuje pojawienie się zasilania poprzez złącze DC lub USB. Ostatnia typowo umieszczona dioda to dioda LED podłączona do wyprowadzenia pin13. Można ją programowo zapalać i gasić w zależności od potrzeb. Dioda podłączona jest do masy układu, więc podanie logicznej jedynki na pin13 spowoduje jej zapalenie, natomiast podanie logicznego zera spowoduje jej zgaszenie.
Ostatnim i najważniejszym elementem układu ARDUINO są listwy PIN na górze i na dole. Ich rozmieszczenie jest ustandaryzowane, co ułatwia wykorzystywanie przykładowych programów oraz dodawanie shieldów. Dolna listwa PIN podzielona została na dwie części. Lewa część umożliwia dostęp do zasilania i sterowania układu. Od lewej strony kolejno występują:
- IOREF - wskazuje jakim napięciem zasilany jest procesor w ARDUINO (ważne dla niektórych shieldów),
- RESET - reset układu ARDUINO, lub reset okładów shield,
- 3V3 - zasilanie układów wymagających napięcia 3,3V,
- 5V - zasilanie układów TTL,
- GND - masa układu,
- GND - masa układu,
- VIN - napięcie ze złącza DC.
Prawa część opisana jako ANALOG IN umożliwia odczyt wartości analogowych. Przetwornik analogowo-cyfrowy układu umożliwia odczyt wartości napięcia z przedziału 0 - AREF lub 0 - 5V. Odczytana wartość może być 8-mio lub 10-cio bitowa. Wejścia analogowe opisane są jako A0, A1, A2, A3, A4, A5. Pomimo opisu i typowego przeznaczenia piny A0 - A5 mogą być wykorzystane jako wejścia lub wyjścia cyfrowe.
Górna listwa PIN również jest podzielona na dwie części. Prawa część ponumerowana od 0 do 7, lewa od 8 do 13. Listwa ta zawiera piny wejść/wyjść cyfrowych. Piny 0 i 1 to piny specjalne, na których wyprowadzono linie portu szeregowego. Można go wykorzystać do transmisji szeregowej z innym układem. Piny 3, 5, 6, 9, 10, 11 oznaczono jako ~ lub PWM. Mogą one pracować w trybie PWM określonym czasami jako wyjście analogowe. Nie są to rzeczywiste wyjścia analogowe. Umożliwiają natomiast sterowanie szerokością impulsu, co często wykorzystywane jest w elektronice cyfrowej do sterowania "analogowego" sygnału. Dodatkowo listwa PIN posiada wyprowadzenie GND oraz AREF służące do podania napięcia odniesienia dla przetwornika analogowo-cyfrowego.
Podsumowując ARDUINO UNO posiada 14 cyfrowych linii wejścia/wyjścia oraz 6 wejść analogowych (mogących służyć jako wejścia/wyjścia cyfrowe). Z elektrycznego punktu widzenia istotne są takie parametry jak akceptowalne napięcia podawane na wejścia oraz obciążalność wyjść. Dopuszczalne napięcia na wejściu to ok. 0V jako logiczne zero i poniżej napięcia zasilania procesora dla logicznej jedynki. Niektóre układy mogą być zasilanie napięciem 3,3V i wtedy logiczna jedynka nie może przekroczyć tej wartości. Dla układów typowych wartość ta to 5V. Obciążalność wyjść to 40mA na wyjście przy napięciu zasilania 5V i 50mA przy napięciu 3,3V. Oznacza to, że do jednego pinu wyjściowego można podłączyć maksymalnie dwie diody LED, zakładając pobór prądu dla każdej z nich 20mA. W przypadku, gdy układ ma sterować elementem o większym poborze prądu należy zastosować elementy pośredniczące (tranzystory, przekaźniki, triaki, drivery).