W 2020 roku firma Esprssif zaprezentowała najnowszy układ o nazwie ESP32-S2. Układ wyposażono w 32-bit procesor XTensa LX7 w oraz koprocesor ULP (RISC-V, FSM) z 320 KB SRAM i 128 KB ROM. Ze względu na wydajny procesor i liczbę dostępnych interfejsów, układ jest w stanie obsługiwać zawansowane urządzenia IoT, bez wykorzystania dodatkowych modułów.
Chip może obsługiwać do 1GB pamięci flash. Do dyspozycji użytkownika oddano 43 wyprowadzeń GPIO, w których zawarto 20 kanałów analogowo-cyfrowych, 14 pojemnościowych czujników GPIO, 2 interfejsy UART, 2 interfejsy I2C, 4 interfejsy SPI, 16 kanałów PWM, 2 przetworniki (DAC) 12-kanałowe oraz 2 interfejsy I2S. Zaimplementowano interfejs kamery DVP 8/16, interfejs LCD 8-bit serial RGB/8080/68000, 8/16/24-bit paralel, oraz USB OTG.
Zmianie uległa także kwestia bezpieczeństwa. Urządzenie posiada wsparcie dla sprzętowych funkcji kryptograficznych, takich jak: AES-128/192/256, SHA-2, RSA, RNG, HMAC, Digital Signature.
W przeciwieństwie do ESP32 moduł został pozbawiony komunikacji Bluetooth oraz obsługi kart MMC.
ESP32-S2-Saola-1
ESP32-S2-Saola-1 to płytka rozwojowa, oparta na chipie ESP32-S2. PCB wyposażono w 4Mb pamięci flash oraz 2Mb PSRAM. Na płytce znajduje się przycisk boot, reset oraz adresowalna dioda LED RGB podpięta do GPIO18.
Układ jest wyposażony w mostek USB-UART, służący do programowania. Do dyspozycji programisty oddano 46 pinów GPIO.
Piny układu
Poszczególne piny płytki odpowiadają za:
(3V3) – zasilanie czujników 3,3V,
(0) – GPIO0, aktywacja trybu niskiego zużycia energii,
(1) – GPIO1, kanał analogowo-cyfrowy, czujnik dotykowy,
(2) – GPIO2, kanał analogowo-cyfrowy, czujnik dotykowy, LED boot,
(3) – GPIO3, kanał analogowo-cyfrowy, czujnik dotykowy,
(4) – GPIO4, kanał analogowo-cyfrowy, czujnik dotykowy,
(5) – GPIO5, kanał analogowo-cyfrowy, czujnik dotykowy,
(6) – GPIO6, kanał analogowo-cyfrowy, czujnik dotykowy,
(7) – GPIO7, kanał analogowo-cyfrowy, czujnik dotykowy,
(8) – GPIO8, kanał analogowo-cyfrowy, czujnik dotykowy,
(9) – GPIO9, kanał analogowo-cyfrowy, czujnik dotykowy,
(10) – GPIO10, kanał analogowo-cyfrowy, czujnik dotykowy, protokół SPI (CS),
(11) – GPIO11, kanał analogowo-cyfrowy, czujnik dotykowy, protokół SPI (MOSI),
(12) – GPIO12, kanał analogowo-cyfrowy, czujnik dotykowy, protokół SPI (CLK),
(13) – GPIO13, kanał analogowo-cyfrowy, czujnik dotykowy, protokół SPI (MISO),
(14) - GPIO014, kanał analogowo-cyfrowy, czujnik dotykowy,
(15) - GPIO015, kanał analogowo-cyfrowy,
(16 )- GPIO016, kanał analogowo-cyfrowy,
(17) – GPIO17, kanał analogowo-cyfrowy, nadajnik interfejsu szeregowego UART 1,
(5V) – zasilanie 5V,
(GND – uziemienie,
(18) – GPIO18, kanał analogowo-cyfrowy, dioda programowalna LED RGB, nadajnik interfejsu szeregowego UART1, pomiar sygnału analogowego, odbiornik interfejsu szeregowego UART 1,
(19) – GPIO20, kanał analogowo-cyfrowy, kanał OTG USB D-,
(20) – GPIO20, kanał analogowo-cyfrowy, kanał OTG USB D+,
(21) – GPIO21,
(26) – GPIO26,
(33) – GPIO33,
(34) – GPIO34,
(35) – GPIO35,
(36) – GPIO36,
(37) – GPIO37,
(38) – GPIO38,
(39) – GPIO39,
(40) – GPIO40, interfejs I2C0 kanał (SLC),
(41) - GPIO41, interfejs I2C0 kanał (SDA),
(42) - GPIO42,
(TX) – GPIO43, nadajnik interfejsu szeregowego UART 0,
(RX) – GPIO44, odbiornik interfejsu szeregowego UART 0,
(45) – GPIO45,
(46) – GPIO46,
(RST) – reset po podaniu stanu niskiego,
(GND) – uziemienie.
Zasilanie
Układ może być zasilany poprzez port USB, oraz dedykowany pin 5V.