ESP32 reprezentuje znaczący skok technologiczny względem poprzednika, ESP8266, oferując wyższą wydajność procesora, rozszerzone możliwości łączności (w tym Bluetooth Low Energy), więcej portów GPIO oraz zaawansowane zarządzanie energią.

Mikrokontroler opracowany przez Espressif Systems na nowo zdefiniował kategorię niedrogich, wysoko zintegrowanych układów do Internetu rzeczy – od czujników bateryjnych po systemy z elementami AI na brzegu.

Niniejszy materiał prezentuje ewolucję z ESP8266 do ESP32, omówienie kluczowych parametrów i wariantów, praktyczne zastosowania oraz zestawienie z alternatywami rynkowymi.

Ewolucja od ESP8266 do ESP32 – skok technologiczny

ESP8266 (2014) zrewolucjonizował dostęp do WiFi dla projektów hobbystycznych i komercyjnych, łącząc niską cenę z prostym programowaniem i niezłą funkcjonalnością. Ograniczenia w liczbie GPIO, interfejsach i mocy obliczeniowej skłoniły Espressif do stworzenia ESP32 – platformy definiującej nowy standard IoT.

ESP32 otrzymał dwurdzeniowy Tensilica Xtensa LX6 do 240 MHz, wsparcie Bluetooth 4.2 (Classic + BLE), więcej GPIO, znacznie więcej RAM oraz dopracowane tryby oszczędzania energii.

Najważniejsze różnice, które przełożyły się na realny wzrost możliwości w praktycznych projektach, można streścić następująco:

  • CPU i wydajność – przejście z jednordzeniowego 80 MHz w ESP8266 do dwurdzeniowego do 240 MHz w ESP32, skutkujące ponad trzykrotnym skokiem mocy obliczeniowej;
  • Łączność – dodanie Bluetooth 4.2 (Classic + BLE) obok WiFi 2,4 GHz, co umożliwia hybrydowe scenariusze (np. konfiguracja przez BLE, praca w sieci przez WiFi);
  • GPIO i peryferia – rozszerzenie do ~32 GPIO, więcej ADC, dwa DAC, wielość interfejsów (UART/SPI/I2C/I2S/PWM);
  • Pamięć – 520 kB RAM i standardowe 4 MB flash (z opcją PSRAM), co pozwala na bardziej złożone aplikacje i stosy sieciowe;
  • Energia – dopracowany deep sleep 5–10 µA oraz DVFS, przekładające się na wielomiesięczną pracę bateryjną.

Dla czytelnego porównania kluczowych parametrów generacji przedstawiamy zestawienie:

Parametr ESP8266 ESP32 (ESP‑WROOM‑32)
CPU Tensilica L106, 1 rdzeń Tensilica Xtensa LX6, 2 rdzenie
Taktowanie 80–160 MHz do 240 MHz
Łączność WiFi 802.11 b/g/n (2,4 GHz) WiFi 802.11 b/g/n (2,4 GHz), Bluetooth 4.2 Classic + BLE
GPIO ~11–17 (zależnie od modułu) ~32 (ESP‑WROOM‑32)
RAM ~50–160 kB dla użytkownika 520 kB
Flash zwykle 1–4 MB zwykle 4 MB (opcje większe)
Deep sleep ~20–60 µA (typ.) ~5–10 µA

Specyfikacja techniczna klasycznego modułu ESP‑WROOM‑32

To najpopularniejszy wariant wykorzystywany w edukacji i komercji. Oparty na dwurdzeniowym Xtensa LX6 do 240 MHz, oferuje pojemną pamięć i bogaty zestaw interfejsów.

Najważniejsze parametry modułu ESP‑WROOM‑32 w skrócie:

  • CPU – 2× Tensilica Xtensa LX6, do 240 MHz z DVFS dla oszczędzania energii;
  • Pamięć – 520 kB RAM, 448 kB ROM, standardowo 4 MB flash na kod i dane trwałe;
  • Łączność – WiFi 802.11 b/g/n 2,4 GHz do 150 Mb/s (teoria), Bluetooth 4.2 Classic + BLE;
  • GPIO i analog – ~32 GPIO, 12‑bit ADC, 2× 8‑bit DAC (GPIO25/26);
  • Interfejsy – 3× UART, 3× SPI, 2× I2C, 2× I2S, PWM do 16 bit;
  • Czujniki – wbudowany Hall, czujniki dotyku (touch);
  • Zasilanie – tryby active/light sleep/deep sleep z poborem 5–10 µA w deep sleep.

Możliwości komunikacji bezprzewodowej – WiFi i Bluetooth

ESP32 integruje WiFi 802.11 b/g/n (2,4 GHz) z anteną PCB (lub u.FL w wybranych modułach) i Bluetooth 4.2 Classic + BLE, umożliwiając budowę urządzeń hybrydowych oraz pomostów pomiędzy „klasycznym” BT a nowoczesnym BLE. Obsługa GAP/GATT/SMP i szyfrowania AES sprzyja bezpiecznym aplikacjom mobilnym i medycznym.

ESP‑NOW od Espressif to ultralekki protokół komunikacji bez udziału punktu dostępowego, pracujący w modelach jeden‑do‑wielu i wiele‑do‑wielu, z opcją szyfrowania (ECDH + AES) – do 6 urządzeń w trybie szyfrowanym lub 20 w nieszyfrowanym.

Architektura pamięci – RAM, flash i PSRAM

Wewnętrzna SRAM 520 kB dzieli się na sekcje HP i LP, co umożliwia szybkie wybudzanie i zachowanie kontekstu w trybach oszczędzania energii. Standardowa flash 4 MB organizowana jest w partycje – dla przejrzystości kluczowe elementy wyglądają tak:

  • bootloader i tabela partycji,
  • partycja aplikacji (lub podwójna konfiguracja dla OTA),
  • system plików SPIFFS/LittleFS,
  • partycja NVS (konfiguracje, dane klucz‑wartość).

Warianty z PSRAM (np. ESP32‑WROVER) dodają do 4 MB pamięci dla buforów obrazu/audio czy większych stosów sieciowych.

Zarządzanie energią i tryby niskiego poboru

ESP32 wyróżnia się dojrzałymi trybami oszczędzania energii, co ma kluczowe znaczenie w projektach bateryjnych. Najistotniejsze tryby to:

  • Active – oba rdzenie do 240 MHz, pobór rzędu 80–100 mW, najwyższa wydajność;
  • Light sleep – częściowe wygaszenie peryferiów i zegarów, zachowana łączność i przerwania, typowo 10–15 mW;
  • Deep sleep – aktywne jedynie blok RTC i RTC RAM, pobór ~5–10 µA, idealny do cyklicznych odczytów i telemetrii.

Dodatkowo regulator DC/DC oraz DVFS dynamicznie dostosowują napięcie i częstotliwość, minimalizując konsumpcję przy mniejszych obciążeniach.

Rodziny i warianty ESP32 – specjalizacja dla różnych zastosowań

Espressif rozwinął rodzinę ESP32 w kilka serii, wyspecjalizowanych pod kątem kosztu, mocy obliczeniowej, AI, a także nowych standardów łączności. Poniższe zestawienie ułatwia wybór:

Wariant Architektura/rdzenie Łączność Atuty/specjalizacja
ESP32 (ESP‑WROOM‑32) Xtensa LX6, 2 rdzenie WiFi 2,4 GHz, BT 4.2 (Classic + BLE) uniwersalny wybór do większości aplikacji IoT
ESP32‑S2 Xtensa LX7, 1 rdzeń WiFi 2,4 GHz więcej GPIO, USB OTG, niski koszt
ESP32‑S3 Xtensa LX7, 2 rdzenie WiFi 2,4 GHz, BLE akceleratory AI/vision, kamery, multimedia
ESP32‑C3 RISC‑V, 1 rdzeń WiFi 2,4 GHz, BLE kompatybilny pinowo z ESP8266, nowoczesna architektura
ESP32‑C6 RISC‑V, 1 rdzeń WiFi 6 2,4 GHz, BLE, 802.15.4 Thread/Zigbee, ekosystem Matter
ESP32‑H2 RISC‑V, 1 rdzeń 802.15.4, Bluetooth 5.3 ultraniskoenergetyczne czujniki, sieci mesh bez WiFi

Interfejsy komunikacyjne – GPIO, I2C, SPI, UART

Elastyczny multiplekser GPIO pozwala mapować większość funkcji peryferyjnych na dowolne piny, co znacząco ułatwia projektowanie płytek i wiązek. 2× I2C (100/400 kHz), 3× SPI (częstotliwości do kilkudziesięciu MHz), 3× UART (do >4 Mb/s), 2× I2S dla audio, PWM do 16 bit, 12‑bit ADC oraz 2× DAC 8‑bit zapewniają wszechstronną integrację z czujnikami, aktuatorami i multimediami.

Praktyczne zastosowania ESP32 w systemach IoT

Dzięki połączeniu łączności, mocy i ceny ESP32 świetnie sprawdza się w wielu scenariuszach. Przykłady wdrożeń obejmują:

  • smart home – sterowanie oświetleniem, HVAC, bezpieczeństwem, integracja z Home Assistant, Apple HomeKit, Amazon Alexa;
  • monitoring środowiska – stacje pogodowe, sensory jakości powietrza, loggery danych z deep sleep i cyklicznym wybudzaniem;
  • przemysł – monitoring maszyn, kontrola jakości, telemetria w środowiskach o utrudnionym okablowaniu;
  • robotyka – sterowanie serwami i silnikami przez PWM, odczyt enkoderów, integracja z kamerami (np. OV2640);
  • audio i głos – I2S dla strumieniowania, syntezy mowy, rozpoznawania komend.

Ekosystem programistyczny – Arduino IDE, ESP‑IDF i alternatywy

Ekosystem narzędzi ułatwia start i rozwój złożonych projektów. Dostępne ścieżki pracy obejmują:

  • Arduino IDE – prosty start, bogate biblioteki społeczności, monitor portu szeregowego i szybkie prototypowanie;
  • ESP‑IDF – oficjalny framework oparty na FreeRTOS, pełna kontrola nad peryferiami, wielowątkowością i bezpieczeństwem;
  • MicroPython – szybkie iteracje w Pythonie bez rekompilacji, dobra opcja dla nauki i danych;
  • PlatformIO (VS Code) – zarządzanie projektami, wbudowany debug, integracja z Git/CI dla zespołów.

FreeRTOS – wielozadaniowość dla zaawansowanych aplikacji

FreeRTOS pozwala uruchamiać wiele zadań równolegle, z priorytetami, kolejkami, mutexami i semaforami. Dwurdzeniowa architektura ESP32 umożliwia rozdzielanie zadań (np. sieć vs. logika aplikacji), co ogranicza opóźnienia i konflikty o zasoby.

vTaskDelay() wstrzymuje tylko bieżące zadanie, zamiast blokować cały program, co jest kluczowe dla responsywności interfejsów, odczytu czujników i pracy sieciowej w czasie rzeczywistym.

Bezpieczeństwo – szyfrowanie, Secure Boot i aktualizacje OTA

Z uwagi na rosnące zagrożenia cybernetyczne ESP32 integruje mechanizmy ochrony firmware’u i danych konfiguracyjnych. Kluczowe funkcje bezpieczeństwa obejmują:

  • Secure Boot – weryfikację podpisu wszystkich etapów rozruchu, gwarantując uruchomienie wyłącznie autoryzowanego kodu;
  • Flash Encryption – szyfrowanie zawartości flash (AES‑128/256) z kluczami w eFuse;
  • NVS Encryption – ochronę wrażliwych konfiguracji (hasła WiFi, tokeny API) na partycji NVS;
  • Anti‑rollback – blokadę powrotu do starszych, podatnych wersji firmware’u;
  • OTA – bezpieczne aktualizacje „over‑the‑air” z weryfikacją podpisu i możliwością powrotu do poprzedniej wersji w razie błędu.

Porównanie z alternatywami – ESP8266, STM32, Arduino

Wybór platformy zależy od wymagań projektu – od łączności, przez peryferia, po koszt. Poniższa tabela porządkuje najważniejsze różnice:

Platforma CPU Łączność wbudowana Mocne strony
ESP32 2× Xtensa LX6 do 240 MHz WiFi 2,4 GHz, BT 4.2 (BLE/Classic) świetny stosunek cena/możliwości, bogate peryferia, niski pobór w deep sleep
ESP8266 1× Tensilica L106 do 160 MHz WiFi 2,4 GHz niska cena, proste projekty WiFi
STM32 (wybrane) ARM Cortex‑M (różne) zwykle brak WiFi/BT bogate peryferia (np. CAN), szeroka rodzina, przemysł
Arduino Uno / Mega AVR (8‑bit) brak (wymaga modułów) łatwy start edukacyjny, ogromna społeczność
Arduino MKR WiFi 1010 ARM Cortex‑M0+ WiFi, BLE prosty ekosystem Arduino z łącznością, wyższa cena niż ESP32

Matter, Thread, Zigbee – przyszłość komunikacji smart home

Matter ujednolica warstwę aplikacji nad WiFi, Thread i Bluetooth, zapewniając interoperacyjność urządzeń różnych producentów. ESP32‑C6 i pokrewne warianty z IEEE 802.15.4 umożliwiają tworzenie bram Thread ↔ WiFi i urządzeń kompatybilnych z Apple Home, Amazon Alexa i Google Home.