ESP32-wroom-32, esp32-S: flash, piedinatura, spec e config dell’IDE Arduino – 1

Spread the love

esp32-wroom-32 flash pinout specs and IDE configuration
esp32-wroom-32 flash pinout specs and IDE configuration

Ecco un altro articolo sull’esp32, andremo ad introdurre il modulo base, può essere utilizzato senza specifica scheda sviluppatore, ma per programmarlo bisogna fare un po ‘di cablaggio e creare un adattatore (con la scheda di programmazione farete sicuramente prima ma vuoi mettere la soddisfazione).

Puoi trovare l'esp32-wroom-32 e l'esp32-s su ESP32 Dev Kit v1 - TTGO T-Display 1.14 ESP32 - NodeMCU V3 V2 ESP8266 Lolin32 - NodeMCU ESP-32S - WeMos Lolin32 - WeMos Lolin32 mini - ESP32-CAM programmer - ESP32-CAM bundle - ESP32-WROOM-32 - ESP32-S

Scheda di programmazione ESP32 Aliexpress adapter esp8266 esp32

ESP32 S pinout low resolution
ESP32 S pinout low resolution

Specifiche e piedinatura ad alta risoluzione

ESP32 wroom 32 pinout
ESP32 wroom 32 pinout

Specifiche e piedinatura ad alta risoluzione

Specifiche

  • CPU e memoria
    • Microprocessori Xtensa® Dual-Core LX6 a 32 bit, fino a 600 DMIPS
    • ROM da 448 KByte
    • SRAM da 520 KByte
    • 16 KByte SRAM in RTC
    • QSPI Flash / SRAM, fino a 4 x 16 MByte
    • Alimentazione: da 2,2 V a 3,6 V.
  • Orologi e timer
    • Oscillatore interno da 8 MHz con calibrazione
    • Oscillatore RC interno con calibrazione
    • Oscillatore a cristallo esterno da 2 MHz a 40 MHz
    • Oscillatore a cristallo esterno da 32 kHz per RTC con calibrazione
    • Due gruppi di timer, inclusi 2 timer a 64 bit e 1 watchdog principale in ciascun gruppo
    • Timer RTC con precisione inferiore al secondo
    • Watchdog RTC
  • Interfacce periferiche avanzate
    • ADC SAR a 12 bit fino a 18 canali
    • Convertitori D / A 2 × 8 bit
    • 10 × sensori tattili
    • Termometro
    • 4 × SPI
    • 2 × I2S
    • 2 × I2C
    • 3 × UART
    • 1 host (SD / eMMC / SDIO)
    • 1 slave (SDIO / SPI)
    • Interfaccia MAC Ethernet con supporto DMA dedicato e IEEE 1588
    • CAN 2.0
    • IR (TX / RX)
    • Motore PWM
    • LED PWM fino a 16 canali
    • Hall sensor
    • Preamplificatore analogico a bassissima potenza
  • Intervallo di temperatura di funzionamento: da -40 ° C a + 85 ° C
  • Dimensioni: 18 mm x 25 mm x 3 mm

Adattatore stampato in 3D

Una buona e veloce soluzione è stampare un adattatore. Esistono molti adattatori, ma penso che questa sia una buona scelta.

Socket per esp32-wroom-32 ed esp32-s 

Socket per esp32-wroom-32 ed esp32-s con base a V 

Cablaggio

Ci sono alcuni collegamenti da fare per utilizzare correttamente la scheda, prima dobbiamo alimentare e Pull UP e Pull Down alcuni pin.

Avvio normale

Ecco la configurazione di avvio: si abilita il dispositivo (pull-up EN), si impedisce il RESET e si mette in pull-up il GPIO0 o FLASH pin per evitare che entri in programmazione.

  • EN e GPIO0 devono essere messi in tensione a 3.3v utilizzando un resistore da 10K;
  • quindi dobbiamo alimentare la scheda con 3,3 V e più di 600 mA di corrente stabile.
esp32-wroom-32 basic connection breadboard
esp32-wroom-32 basic connection breadboard

Entrare in modalità flash

Ora per mettere in modalità di avvio è necessario aggiungere 2 pulsanti, uno per resettare il dispositivo (mettere a terra EN) e uno per inviare il segnale LOW al GPIO0.

Quindi EN e GPIO0 in pull up e collegherai un pulsante che mette il pin a GND al click come lo schema.

Per accedere alla modalità di avvio è necessario:

  • Tenere premuto il pulsante FLASH;
  • Premere e rilasciare il pulsante RST;
  • Rilasciare il pulsante FLASH.
esp32-wroom-32 programming flash connection no serial breadboard
esp32-wroom-32 programming flash connection no serial breadboard

Programmazione con FTDI (convertitore da USB a seriale)

Per programmare il dispositivo con questo sistema è possibile utilizzare un convertitore FTDI, ce ne sono di più tipi, uno che trasmette e riceve solamente e uno che fornisce anche una tensione di alimentazione selezionabile.

Puoi trovare FTDI adatti qui su USB to TTL CH340G - USB to TTL FT232RL


esp32-wroom-32 programming flash connection breadboard
esp32-wroom-32 programming flash connection breadboard

Ora devi condividere il pin di massa e mettere RX di FTDI su TX di esp e TX su RX.

Con l’adattatore stampato in 3d il cablaggio diventa:

esp32-wroom-32 socket programming flash on breadboard
esp32-wroom-32 socket programming flash on breadboard

Qui la foto del risultato su breadboard.

esp32-wroom-32 socket programming flash breadboard photo
esp32-wroom-32 socket programming flash breadboard photo

Aggiungo un led al pin 21 per controllare l’uscita del pin.

ModeGPIO0
UARTHigh
Flash BootLow

Configurare l’IDE

Nell’IDE di Arduino è necessario installare l’ambiente esp32, fare riferimento a “Esp32: piedinatura, specifiche e configurazione dell’Arduino IDE“, it is then necessary to set the correct information on the board, for an imposed esp32-wroom-32:

  • BoardESP32 Dev Module
  • Flash Frequency40MHz
  • Upload Speed921600 (115200 is more secure)
  • CPU Frequency240 MHz
  • Flash Size4MB
esp32-wroom-32 Arduino IDE configuration
esp32-wroom-32 Arduino IDE configuration

Caricare un semploce blink sketch

Ora devi solo:

  • Tenere premuto il pulsante FLASH;
  • Premere e rilasciare il pulsante RST;
  • Rilasciare il pulsante FLASH;
  • Inizia il caricamento di questo sketch;
/*
    Blink

  Mischainti Renzo www.mischianti.org
*/

//#include "soc/soc.h"
//#include "soc/rtc_cntl_reg.h"

#define LED_PIN 21 // I add the led to the GPIO21

// the setup function runs once when you press reset or power the board
void setup() {
//    WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector

  Serial.begin(115200);
  // initialize digital pin LED_PIN as an output.
  pinMode(LED_PIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_PIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  Serial.println("HIGH");
  delay(1000);                       // wait for a second
  digitalWrite(LED_PIN, LOW);    // turn the LED off by making the voltage LOW
  Serial.println("LOW");
  delay(1000);                       // wait for a second
}

E qui il risultato del monitor seriale.

Connect to serial port COM16 at 115200
LOW
HIGH
LOW
HIGH
LOW
HIGH
LOW
HIGH
LOW
HIGH

PCB della scheda di programmazione esp32

Condivido il PCB da me utilizzato per programmare l’esp32 che adotta l’adattatore stampato in 3d, ecco il relativo articolo “esp32-wroom-32 esp32-s scheda di programmazione ed adattatore per breadboard“.

ESP32 wroom 32 S programming board pcb
ESP32 wroom 32 S programming board pcb

Grazie

  1. ESP32: piedinatura, specifiche e configurazione dell’Arduino IDE
  2. ESP32: fileSystem integrato SPIFFS
  3. ESP32: gestire più seriali e logging per il debug
  4. ESP32 risparmio energetico pratico
    1. ESP32 risparmio energetico pratico: gestire WiFi e CPU
    2. ESP32 risparmio energetico pratico: modem e light sleep
    3. ESP32 risparmio energetico pratico: deep sleep e ibernazione
    4. ESP32 risparmio energetico pratico: preservare dati al riavvio, sveglia a tempo e tramite tocco
    5. ESP32 risparmio energetico pratico: sveglia esterna e da ULP
    6. ESP32 risparmio energetico pratico: sveglia da UART e GPIO
  5. ESP32: filesystem integrato LittleFS
  6. ESP32: filesystem integrato FFat (Fat/exFAT)
  7. ESP32-wroom-32
    1. ESP32-wroom-32: flash, piedinatura, specifiche e configurazione dell’Arduino IDE
  8. ESP32-CAM
    1. ESP32-CAM: piedinatura, specifiche e configurazione dell’Arduino IDE
    2. ESP32-CAM: upgrade CamerWebServer con gestione della luce flash
  9. ESP32: ethernet w5500 con chiamate standard (HTTP) e SSL (HTTPS)
  10. ESP32: ethernet enc28j60 con chiamate standard (HTTP) e SSL (HTTPS)
  11. Come usare la scheda SD con l’esp32
  12. esp32 e esp8266: file system FAT su memoria SPI flash esterna
  13. Gestione aggiornamenti firmware e OTA
    1. Gestione del firmware
      1. ESP32: flash del firmware binario compilato (.bin)
      2. ESP32: flash del firmware e filesystem (.bin) con strumenti grafici
    2. Aggiornamento OTA con Arduino IDE
      1. Aggiornamenti OTA su ESP32 con Arduino IDE: filesystem, firmware e password
    3. Aggiornamento OTA con browser web
      1. Aggiornamenti OTA su ESP32 tramite browser web: firmware, filesystem e autenticazione
      2. Aggiornamenti OTA su ESP32 tramite browser web: caricamento in HTTPS (SSL/TLS) con certificato autofirmato
      3. Aggiornamenti OTA su ESP32 tramite browser web: interfaccia web personalizzata
    4. Aggiornamenti automatici OTA da un server HTTP
      1. Aggiornamento automatico Firmware OTA dell’ESP32 dal server
      2. Aggiornamento automatico Firmware OTA dell’ESP32 dal server con controllo della versione
      3. Aggiornamento automatico Firmware OTA dell’ESP32 in HTTPS (SSL/TLS) con certificato autofirmato affidabile
    5. Aggiornamento del firmware non standard
      1. Aggiornamento firmware e filesystem ESP32 dalla scheda SD
      2. Aggiornamento firmware e filesystem ESP32 con client FTP
  14. Integrare LAN8720 con ESP32 per la connettività Ethernet con plain (HTTP) e SSL (HTTPS)
  15. Collegare l’EByte E70 (CC1310) ai dispositivi ESP32 c3/s3 ed un semplice sketch di esempio
  16. ESP32-C3: piedinatura, specifiche e configurazione dell’IDE Arduino
  17. Integrazione del modulo W5500 su ESP32 con Core 3: supporto nativo ai protocolli Ethernet con SSL e altre funzionalità
  18. Integrazione del modulo LAN8720 su ESP32 con Core 3: supporto nativo del protocollo Ethernet con SSL e altre funzionalità.

Spread the love

4 Risposte

  1. Sergio ha detto:

    Buongiorno Renzo, ho acquistato sul sito che sponsorizzi un ESP32 WROOM per la prima volta, è arrivato con i pin piegati e lo schermo dell’ESP32 un pò schiacciato, il problema è che anche se windows lo vede correttamente con il driver per il CP2102, non riesco a farlo comunicare con l’Arduino ide. Per questo ti vorrei chiedere se lo posso programmare usando un convertitore FTdI come questo e come configurare l’Ide.
    Grazie e complimenti per il sito.

  2. Sergio ha detto:

    Buongiorno Renzo e grazie per la risposta, ho verificato il cip montato sulla mia board che è una ESP32 Wroom dev kit C, tutti i pin del cip sono in morsettiera, i modulo è alimentato correttamente a 3,3 V ci sono i pulsanti già cablati siglati RST e BOOT.
    Ho provato a collegare la schedina FTDI ed utilizzare i tuoi consigli per caricare un programmino di prova ma non funziona. L’Ide di Arduino mi dice che non risponde il dispositivo. C’è un firmware di fabbrica da scaricare nel dispositivo che forse mi si è corrotto?
    Grazie

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *