ESP32

ESP32 on Shanghaissa toimivan kiinalaisen Espressif Systemsin järjestelmäpiiri/mikrokontrolleri, joka sisältää ominaisuudet langattomien Wifi- ja Bluetooth-yhteyksien toteuttamiseen.
ESP32:sta on malleja, jotka tukevat myös muita langattomia radioverkkoja, kuten ZigBee, Thread, IEEE 802.15.4/LR-WPAN tai LoRa.
ESP32-laite toteutetaan tyypillisesti moduulina, jossa mikrokontrolleri liitetään piirilevylle, johon on painettu antenni ja liitetty esim. 4 megatavua Flash-muistia ja erilaisia liittimiä ja mahdollisesti näyttö.

ESP32-perheeseen kuuluu monia mikrokontrollereita, joissa suorittimena käytetään Tensilican (nykyisin osa Cadence Design Systemsia) 32-bittistä Xtensa LX6 -suoritinta kahdella suoritinytimellä ja korkeintaan 240 MHz kellotaajuudella.
ESP32:n myöhemmissä malleissa ESP32-C3, ESP32-C6 (Wi-Fi 6, Bluetooth 5, Thread/ZigBee),
ESP32-H2 (IEEE 802.15.4 LR-WPAN, Bluetooth 5)
on siirrytty käyttämään RISC-V-prosessoria.

Espressifin mikrokontrollit nousivat suosioon ESP32:n edeltäjän ESP8266:n aikoihin elokuussa 2014, kun rakentelijoille laitteita tekevä Ai-Thinker julkaisi siihen perustuvan ESP-01-moduulin. Laite mahdollisti kytkemisen langattomaan verkkoon helppoja AT-komentoja käyttäen. 
ESP8266 on hyvin samanlainen kuin ESP32 ja sisältää Tensilican prosessorin, mikrokontrollereille tyyppisiä liitinpinnejä, antennin, balunin, vastaanotto- ja lähetinsignaalivahvistimen, signaalisuodattimet ja virranhallinnan yhdellä piirilevyllä.

Xtensa LX6 -suoritinta käyttävissä ESP32:n malleissa on 32-bittinen prosessori 4 gigatavun muistiavaruudella ja 520 kB SRAM-muistia ja 448 kB ROM-muistia ja kaksi 8 kB muistilohkoa RTC-kellon käyttöön. Lisäksi piirilevylle voi lisätä ulkoista muistia, joka voidaan mapata prosessorin muistiavaruuteen. Suorittimen ytimet on jaettu PRO_CPU ja APP_CPU-ytimiksi, joista toinen on käyttäjän ohjelmien käyttöön tarkoitettu.  Suoritin sisältää tuen mm. SPI, I2C, UART, Ledin ja moottorin ohjaus-PWM, TWAI (Twowire Automotive Interface) -väylille, sisäisen ohjauspiirin korkeintaan kahdelle Secure Digital, MultiMediaCard ja CE-ATA-muistikortille, Ethernet-tuen MAC-tasolle asti ilman fyysistä kontrolleria, AES, RSA ja SHA-salauksien kiihdytyksen, satunnaislukugeneraattorin, muistinsuojauksen, moniajon ja prosessien hallinnan. Laitteessa on erikseen ULP (ultra-low-power) -apuprosessori, jolloin pääsuorittimet voi sammuttaa virran säästämiseksi.

Ohjelmistotuki

ESP32:lle on olemassa virallinen Espressifin IoT Development Framework (ESP-IDF).

Arduino IDEen voi asentaa lisäosan, joka kääntää ESP32:lle.

Lisäksi on olemassa ohjelmistoja kuten MicroPython ja NodeMCU (aiemmin NodeLua), jotka piirille asentamalla voi ohjelmoida Python ja Lua-kielillä.

Lähteet 

Mikrokontrollerit