Ściąga z numerami GPIO, funkcjami pinów i wymiarami fizycznymi dwóch płytek, których używam najczęściej. Dane dla ESP32-S3-Zero przepisane z oficjalnego diagramu Waveshare, dla NodeMCU — ze standardowego mapowania D0–D8 stosowanego przez większość producentów klonów.
ESP32-S3-Zero (Waveshare)
Mikroskopijna płytka z USB-C, wbudowaną diodą RGB WS2812 i dwoma zestawami wyprowadzeń: głównymi (2,54 mm) i dodatkowymi wyprowadzeniami krawędziowymi (2,00 mm).
Wymiary
18,00 × 23,50 mm (24,8 mm licząc wystający złącz USB-C), promień naroży R1,00 mm, rozstaw pinów w rzędzie 2,54 mm.

Oficjalny rysunek techniczny. Źródło: Waveshare Wiki — ESP32-S3-Zero.
Piny główne (nagłówki 2,54 mm)

Oficjalny diagram pinout. Źródło: Waveshare Wiki — ESP32-S3-Zero. Tabela niżej to ten sam pinout w formie tekstowej, do szybkiego wyszukiwania.
| lewa strona | funkcja |
|---|---|
| 5V | zasilanie |
| GND | masa |
| 3V3 (OUT) | zasilanie |
| GP1 | UARTSPII2C |
| GP2 | UARTSPII2C |
| GP3 | UARTSPII2C |
| GP4 | UARTSPII2C |
| GP5 | UARTSPII2C |
| GP6 | UARTSPII2C |
| prawa strona | funkcja |
|---|---|
| TX (GP43) | UART0 TX |
| RX (GP44) | UART0 RX |
| GP13 | SPII2C |
| GP12 | SPII2C |
| GP11 | SPII2C |
| GP10 | SPII2C |
| GP9 | SPII2C |
| GP8 / GP7 | SPII2C |
| GP16 / GP15 / GP14 | SPII2CPWM |
Każdy GPIO (GP1–GP16) jest multipleksowany — może pełnić funkcję UART, SPI, I2C, I2S, ADC lub PWM zależnie od konfiguracji w oprogramowaniu. Kolorowe etykiety w tabeli pokazują możliwości, nie sztywne przypisanie.
Wyprowadzenia krawędziowe (pady 2,00 mm)
Dodatkowy zestaw 8 pinów po każdej stronie, dostępny jako pady na krawędzi płytki (przydatne przy montażu SMD lub gdy zabraknie głównych pinów): GP17, GP18, GP38, GP39, GP40, GP41, GP42, GP45 — każdy z obsługą UART/PWM/I2S/I2C/SPI, GP17/GP18 dodatkowo ADC.
Dioda RGB
Wbudowana dioda WS2812 (adresowalna) jest sterowana przez GP21 (linia DIN) — nie jest wyprowadzona na główny nagłówek, to osobny, dedykowany pin.
ESP8266 NodeMCU V3
Klasyczna płytka rozwojowa z ESP8266 — piny na obudowie oznaczone są etykietami D0–D10 i A0, które nie odpowiadają numerom GPIO wprost. To najczęstsza pułapka dla początkujących.
Wymiary
Tu trzeba być ostrożnym: różni producenci klonów NodeMCU V3 sprzedają płytki o różnych rozmiarach. Najpopularniejsze warianty: ok. 58 × 32 mm (szersza wersja, np. LoLin) oraz ok. 49 × 24,5 mm (węższe klony typu Amica). Różnica bywa istotna przy projektowaniu obudowy pod druk 3D — zawsze zmierz swój egzemplarz suwmiarką przed projektowaniem, zamiast ufać jednej uniwersalnej wartości.
Mapowanie D0–D10 na GPIO

Diagram pinout NodeMCU V3. Źródło: The Engineering Projects — Introduction to NodeMCU V3. Tabela niżej to ten sam pinout w formie tekstowej, do szybkiego wyszukiwania.
| etykieta na płytce | GPIO | uwagi |
|---|---|---|
| D0 | GPIO16 | bez obsługi przerwań, PWM i I2C |
| D1 | GPIO5 | bezpieczny do ogólnego użytku |
| D2 | GPIO4 | bezpieczny do ogólnego użytku |
| D3 | GPIO0 | boot musi być HIGH przy starcie |
| D4 | GPIO2 | boot musi być HIGH przy starcie; podłączona wbudowana LED |
| D5 | GPIO14 | SPI SCLK — bezpieczny do ogólnego użytku |
| D6 | GPIO12 | SPI MISO — bezpieczny do ogólnego użytku |
| D7 | GPIO13 | SPI MOSI — bezpieczny do ogólnego użytku |
| D8 | GPIO15 | boot musi być LOW przy starcie |
| D9 / RX | GPIO3 | UART RX — kolizja z wgrywaniem firmware |
| D10 / TX | GPIO1 | UART TX — kolizja z wgrywaniem firmware |
| A0 | ADC0 | wejście analogowe, zakres 0–3,3 V (dzielnik na płytce) |
Do ogólnego użytku najbezpieczniejsze są: D1, D2, D5, D6, D7 — nie mają żadnych ograniczeń przy starcie systemu i nie kolidują z wgrywaniem firmware.
Częste pułapki
D3/D4/D8 na NodeMCU to piny bootstrapujące. Podłączenie do nich urządzenia, które trzyma linię w złym stanie przy starcie (np. przycisk podciągnięty do masy na D3), może uniemożliwić bootowanie płytki. Jeśli ESP8266 nie startuje po dodaniu peryferiów — sprawdź najpierw te trzy piny.
Etykiety „D0"–„D8" to wynalazek producentów płytek, nie ESP8266. W kodzie Arduino/MicroPython zwykle i tak odwołujesz się do stałych D0...D8 zdefiniowanych w rdzeniu Arduino dla ESP8266 — ale jeśli piszesz surowe numery GPIO (np. w ESPHome czy konfiguracji niskopoziomowej), pomyłka między etykietą a GPIO to najczęstszy błąd początkujących.
Etykiety „GP1"–„GP16" na ESP32-S3-Zero to bezpośrednio numery GPIO (inaczej niż w NodeMCU) — Waveshare nie stosuje tu żadnego przemapowania, co bardzo ułatwia pracę z tą płytką.
Źródła
- Waveshare Wiki — ESP32-S3-Zero — oficjalny diagram pinout i wymiary
- Waveshare Documentation Platform — ESP32-S3-Zero
- Circuits4you — NodeMCU pinout — mapowanie D0–D8 na GPIO