Piedinatura ESP32 DevKit (30 pin, ESP32-WROOM-32)

Tutti i pin del diffuso ESP32 DevKit V1 a 30 pin, cosa sanno fare e quali creano problemi. Generata dallo stesso file della scheda che BoardPilot usa per controllare il tuo cablaggio.

ESP32 DevKit 30-pin pinout diagramESP32-WROOM-32D23VSPI_MOSID22I2C_SCLTX0 · 1U0TXDRX0 · 3U0RXDD21I2C_SDAD19VSPI_MISOD18VSPI_SCKD5VSPI_CSTX2 · 17U2TXDRX2 · 16U2RXDD4ADC2_CH0D2ADC2_CH2D15ADC2_CH3GNDGND3V33V3ENCHIP_PUVP · 36ADC1_CH0VN · 39ADC1_CH3D34ADC1_CH6D35ADC1_CH7D32ADC1_CH4D33ADC1_CH5D25ADC2_CH8D26ADC2_CH9D27ADC2_CH7D14ADC2_CH6D12ADC2_CH5D13ADC2_CH4GNDGNDVINVIN_5V
Vista dall’alto, connettore USB a sinistra. Colori: rosso alimentazione, grigio massa, verde GPIO generici, giallo sola lettura / ADC1, arancione seriale USB.

Quali pin si possono usare?

Buoni pin di uso generale

D4, D13, D14, D16 (RX2), D17 (TX2), D18, D19, D21, D22, D23, D25, D26, D27, D32, D33. D14 emette un breve segnale PWM all’avvio.

Sola lettura: GPIO 34, 35, 36 (VP), 39 (VN)

Possono leggere un segnale o una tensione, ma non pilotare un LED o un’uscita, e non hanno resistenze di pull-up o pull-down interne.

Pin di strapping: GPIO 0, 2, 5, 12, 15

Il loro livello al reset decide come si avvia il chip. GPIO 12 ALTO al reset seleziona la flash a 1,8 V e la scheda può non avviarsi. GPIO 2 deve essere BASSO o scollegato per caricare il firmware.

Pin della flash: GPIO 6–11

Collegati alla memoria flash dentro il modulo. Non usarli mai. Il DevKit a 30 pin non li porta fuori.

Seriale USB: TX0 (GPIO 1), RX0 (GPIO 3)

Usati per il caricamento e il monitor seriale. Qualsiasi cosa collegata qui può impedire il caricamento.

ADC con Wi-Fi: usa l’ADC1 (GPIO 32–39)

I pin ADC2 (GPIO 0, 2, 4, 12–15, 25–27) smettono di misurare quando il Wi-Fi è acceso.

Pin predefiniti in Arduino

I2C
SDA = GPIO 21 (D21), SCL = GPIO 22 (D22). Qualsiasi altra coppia di pin di uscita funziona con Wire.begin(sda, scl).
SPI (VSPI)
MOSI = GPIO 23, MISO = GPIO 19, SCK = GPIO 18, CS = GPIO 5.
UART2
TX = GPIO 17 (TX2), RX = GPIO 16 (RX2).
DAC
GPIO 25 e GPIO 26.

Tutti i 30 pin

PinGPIOLatoFunzioniNote
EN—sinistroCHIP_PUReset. Portarlo BASSO resetta il chip (come il pulsante EN).
VP36sinistroGPIO, ADC1_CH0, SENSOR_VPSola lettura, senza pull-up interna.
VN39sinistroGPIO, ADC1_CH3, SENSOR_VNSola lettura, senza pull-up interna.
D3434sinistroADC1_CH6Sola lettura, senza pull-up interna.
D3535sinistroADC1_CH7Sola lettura, senza pull-up interna.
D3232sinistroGPIO, ADC1_CH4, TOUCH9, XTAL_32K_P
D3333sinistroGPIO, ADC1_CH5, TOUCH8, XTAL_32K_N
D2525sinistroGPIO, ADC2_CH8, DAC_1ADC2: non utilizzabile con il Wi-Fi acceso.
D2626sinistroGPIO, ADC2_CH9, DAC_2ADC2: non utilizzabile con il Wi-Fi acceso.
D2727sinistroGPIO, ADC2_CH7, TOUCH7ADC2: non utilizzabile con il Wi-Fi acceso.
D1414sinistroGPIO, ADC2_CH6, TOUCH6, HSPI_SCK, MTMSEmette un breve segnale PWM all’avvio. ADC2: non utilizzabile con il Wi-Fi acceso.
D1212sinistroGPIO, ADC2_CH5, TOUCH5, HSPI_MISO, MTDIPin di strapping: ALTO al reset seleziona la flash a 1,8 V, quindi la scheda può non avviarsi. Tienilo BASSO o scollegato al reset. ADC2: non utilizzabile con il Wi-Fi acceso.
D1313sinistroGPIO, ADC2_CH4, TOUCH4, HSPI_MOSI, MTCKADC2: non utilizzabile con il Wi-Fi acceso.
GND—sinistroGND
VIN—sinistroVIN_5V5 V dall’USB (o ingresso a 5 V quando l’USB non è collegato).
D2323destroGPIO, VSPI_MOSI
D2222destroGPIO, I2C_SCL (predef.), U0RTS
TX01destroGPIO, U0TXDTX della seriale USB. Usato per il caricamento e il monitor seriale.
RX03destroGPIO, U0RXDRX della seriale USB. Usato per il caricamento e il monitor seriale.
D2121destroGPIO, I2C_SDA (predef.)
D1919destroGPIO, VSPI_MISO, U0CTS
D1818destroGPIO, VSPI_SCK
D55destroGPIO, VSPI_CSPin di strapping (temporizzazione SDIO). Con pull-up al reset. Si può usare dopo l’avvio.
TX217destroGPIO, U2TXD
RX216destroGPIO, U2RXD
D44destroGPIO, ADC2_CH0, TOUCH0ADC2: non utilizzabile con il Wi-Fi acceso.
D22destroGPIO, ADC2_CH2, TOUCH2Pin di strapping: deve essere BASSO o scollegato per entrare in modalità download. Pilota il LED blu sulla scheda nella maggior parte dei DevKit V1. ADC2: non utilizzabile con il Wi-Fi acceso.
D1515destroGPIO, ADC2_CH3, TOUCH3, HSPI_CS, MTDOPin di strapping: BASSO al reset silenzia i messaggi di avvio. ADC2: non utilizzabile con il Wi-Fi acceso.
GND—destroGND
3V3—destro3V3Uscita del regolatore da 3,3 V sulla scheda (circa 600 mA condivisi con l’ESP32).

Domande

Quali pin dell’ESP32 devo evitare?

Evita i GPIO 6–11 (flash), fai attenzione ai pin di strapping 0, 2, 5, 12 e 15, lascia liberi TX0/RX0 per il caricamento e non usare mai i GPIO 34–39 come uscite.

Quali pin dell’ESP32 sono di sola lettura?

GPIO 34, 35, 36 (VP) e 39 (VN). Non hanno pull-up interne, quindi un pulsante su questi pin richiede una resistenza esterna.

Quali sono i pin I2C predefiniti dell’ESP32?

GPIO 21 è SDA e GPIO 22 è SCL. Se un sensore risponde solo con i due scambiati, i fili sono invertiti.

Perché il mio ESP32 non si avvia con qualcosa collegato al GPIO 12?

GPIO 12 è un pin di strapping: se è ALTO al reset, il chip seleziona 1,8 V per la flash e può non avviarsi. Sposta quel collegamento su un altro pin.

Quali pin ADC funzionano con il Wi-Fi acceso?

Solo l’ADC1: GPIO 32, 33, 34, 35, 36 e 39. L’ADC2 è usato dal driver Wi-Fi.

Fai controllare il cablaggio a BoardPilot

BoardPilot mostra questa scheda in 3D, segnala i pin rischiosi mentre colleghi e misura i pin reali per trovare fili invertiti o mancanti.

Scarica BoardPilot

Fonti: Espressif ESP32 Series Datasheet (Pin Description, Strapping Pins), ESP32 Technical Reference Manual (IO_MUX and GPIO Matrix), ESP-IDF Programming Guide (ADC).