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.
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
| Pin | GPIO | Lato | Funzioni | Note |
|---|---|---|---|---|
| EN | — | sinistro | CHIP_PU | Reset. Portarlo BASSO resetta il chip (come il pulsante EN). |
| VP | 36 | sinistro | GPIO, ADC1_CH0, SENSOR_VP | Sola lettura, senza pull-up interna. |
| VN | 39 | sinistro | GPIO, ADC1_CH3, SENSOR_VN | Sola lettura, senza pull-up interna. |
| D34 | 34 | sinistro | ADC1_CH6 | Sola lettura, senza pull-up interna. |
| D35 | 35 | sinistro | ADC1_CH7 | Sola lettura, senza pull-up interna. |
| D32 | 32 | sinistro | GPIO, ADC1_CH4, TOUCH9, XTAL_32K_P | |
| D33 | 33 | sinistro | GPIO, ADC1_CH5, TOUCH8, XTAL_32K_N | |
| D25 | 25 | sinistro | GPIO, ADC2_CH8, DAC_1 | ADC2: non utilizzabile con il Wi-Fi acceso. |
| D26 | 26 | sinistro | GPIO, ADC2_CH9, DAC_2 | ADC2: non utilizzabile con il Wi-Fi acceso. |
| D27 | 27 | sinistro | GPIO, ADC2_CH7, TOUCH7 | ADC2: non utilizzabile con il Wi-Fi acceso. |
| D14 | 14 | sinistro | GPIO, ADC2_CH6, TOUCH6, HSPI_SCK, MTMS | Emette un breve segnale PWM all’avvio. ADC2: non utilizzabile con il Wi-Fi acceso. |
| D12 | 12 | sinistro | GPIO, ADC2_CH5, TOUCH5, HSPI_MISO, MTDI | Pin 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. |
| D13 | 13 | sinistro | GPIO, ADC2_CH4, TOUCH4, HSPI_MOSI, MTCK | ADC2: non utilizzabile con il Wi-Fi acceso. |
| GND | — | sinistro | GND | |
| VIN | — | sinistro | VIN_5V | 5 V dall’USB (o ingresso a 5 V quando l’USB non è collegato). |
| D23 | 23 | destro | GPIO, VSPI_MOSI | |
| D22 | 22 | destro | GPIO, I2C_SCL (predef.), U0RTS | |
| TX0 | 1 | destro | GPIO, U0TXD | TX della seriale USB. Usato per il caricamento e il monitor seriale. |
| RX0 | 3 | destro | GPIO, U0RXD | RX della seriale USB. Usato per il caricamento e il monitor seriale. |
| D21 | 21 | destro | GPIO, I2C_SDA (predef.) | |
| D19 | 19 | destro | GPIO, VSPI_MISO, U0CTS | |
| D18 | 18 | destro | GPIO, VSPI_SCK | |
| D5 | 5 | destro | GPIO, VSPI_CS | Pin di strapping (temporizzazione SDIO). Con pull-up al reset. Si può usare dopo l’avvio. |
| TX2 | 17 | destro | GPIO, U2TXD | |
| RX2 | 16 | destro | GPIO, U2RXD | |
| D4 | 4 | destro | GPIO, ADC2_CH0, TOUCH0 | ADC2: non utilizzabile con il Wi-Fi acceso. |
| D2 | 2 | destro | GPIO, ADC2_CH2, TOUCH2 | Pin 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. |
| D15 | 15 | destro | GPIO, ADC2_CH3, TOUCH3, HSPI_CS, MTDO | Pin di strapping: BASSO al reset silenzia i messaggi di avvio. ADC2: non utilizzabile con il Wi-Fi acceso. |
| GND | — | destro | GND | |
| 3V3 | — | destro | 3V3 | Uscita 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 BoardPilotFonti: Espressif ESP32 Series Datasheet (Pin Description, Strapping Pins), ESP32 Technical Reference Manual (IO_MUX and GPIO Matrix), ESP-IDF Programming Guide (ADC).