esp12 esp07 (esp8266): flash, piedinatura, spec e config dell’IDE Arduino – 6

Spread the love

esp12 E: programming, specifications, Arduino IDE configuration
esp12 E: programming, specifications, Arduino IDE configuration

Ecco un altro articolo sull’esp8266, ora introdurremo il modulo base, può essere utilizzato senza scheda sviluppatore integrata, ma per programmarlo bisogna fare un po’ di connessioni e procurarsi un adattatore.

esp-12 ed esp-07

esp-12 esp-07 Aliexpress esp-12 - Aliexpress esp-07

esp12 E pinout low resolution
esp12 E pinout low resolution

esp12 piedinatura ad alta risoluzione

esp07 pinout low resolution mischianti
esp07 pinout low resolution mischianti

esp07 piedinatura ad alta risoluzione

Specifiche

  • CPU e memoria
    • Processore:  microprocessore con core RISC L106 a 32 bit  basato sul microcontrollore Tensilica Xtensa Diamond Standard 106 funzionante a 80 MHz
    • Dimensione RAM <36kB, vale a dire che, quando ESP8266EX funziona in modalità station ed è connesso al router, lo spazio programmabile accessibile all’utente nella sezione heap e dati è di circa 36kB.)
    • Flash SPI esterno: su questo modulo è montato con un flash SPI esterno da 1 MB per esp12 e 1Mb per esp07 per memorizzare i programmi utente.
    • la frequenza degli oscillatori a cristallo è 40 MHz, 26 MHz e 24 MHz.
    • Supporto UART 300 ~ 4608000 bps Impostazione predefinita 115200 bps
    • Package SMD16 per l’esp07 e SMD22 per l’esp12
  • Wifi
    • 802.11 b / g / n
    • Stack di protocollo TCP/IP integrato
    • Switch TR integrato, balun, LNA, amplificatore di potenza e rete di adattamento
    • PLL, regolatori e unità di gestione dell’alimentazione integrati
    • Supporta antenne eterogenee
    • Wi-Fi 2,4 GHz, supporto WPA/WPA2
    • Supporta le modalità operative STA / AP / STA + AP
    • + 20dBm di potenza in uscita in modalità 802.11b
    • Sveglia e trasmissione pacchetti <2 ms
    • Supporta la funzione Smart Link per dispositivi Android e iOS
  • Interfacce periferiche avanzate
    • ADC a 10 bit integrato
    • SDIO 2.0, (H) SPI, UART, I2C, I2S, IRDA, PWM, GPIO
    • STBC, 1 × 1 MIMO, 2 × 1 MIMO
    • Aggregazione A-MPDU e A-MSDU e intervallo di guardia di 0,4 secondi
    • Potenza in sospensione profonda <10uA, dispersione corrente in spegnimento <5uA
    • Consumo energetico in standby <1,0 mW (DTIM3)
    • Intervallo di temperatura in funzionamento -40 ° C ~ 125 ° C

Adattatore stampato in 3D

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

Adattatore per esp12 e esp07 

Adattatore per esp12 e esp07 base a V 

Connessioni

Ci sono alcuni collegamenti da fare per utilizzare correttamente la scheda, prima dobbiamo alimentare e pull up e pull down alcuni pins.

Avvio normale

Con questa configurazione si abilita il dispositivo (pull-up EN), e si impedisce il RESET e si mette a LOW il GPIO0 o FLASH per evitare che entri in modalità programmazione.

  • EN, RST e GPIO0 devono essere portati HIGH utilizzando un resistore da 10K;
  • GPIO 15 deve essere pulled down con un resistore da 10K;
  • quindi dobbiamo alimentare la scheda a 3,3V e più di 200mA di corrente stabile.
esp12 programming basic connection
esp12 programming basic connection

Entrare in modalità flash

Ora per mettere in modalità programmazione è necessario aggiungere 2 pulsanti, uno per ripristinare il dispositivo (mettendo a terra il RST) e uno per inviare il segnale LOW al GPIO0.

Porta ad HIGH RST e GPIO0 con un resistore e collega un pulsante che al click porta il pin su GROUND come lo schema.

Per accedere alla modalità di programmazione è necessario:

  • Tenete premuto il pulsante FLASH;
  • Premere e rilasciare il pulsante RST;
  • Rilasciare il pulsante FLASH.
esp12 programming module connection without serial
esp12 programming module connection without serial,

Programmazione con FTDI (convertitore da USB a seriale)

Per programmare il dispositivo è necessario utilizzare un convertitore FTDI, ce ne sono di vari tipi, alcuni che trasmettono e ricevono solamente, e altri che forniscono anche una tensione di alimentazione (selezionabile).

Here some model of FTDI USB to TTL CH340G - USB to TTL FT232RL


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

esp12 flashing module connection breadboard
esp12 flashing module connection breadboard

Qui il risultato della breadboard.

Programming circuit on breadboard with adapter for esp12
Programming circuit on breadboard with adapter for esp12
ModeGPIO15GPIO0GPIO2
UARTLowLowHigh
Flash BootLowHighHigh

Configurazione dell’IDE

esp12

Nell’IDE di Arduino è necessario installare l’ambiente esp8266, fate riferimento a “WeMos D1 mini (esp8266): piedinatura, caratteristiche e configurazione dell’Arduino IDE“, quindi è necessario configurare le impostazioni sulla scheda, per l’esp12 è necessario impostare:

  • Board: NodeMCU 1.0 (ESP-12E Module)
  • Builtin Led: 2
  • Upload Speed: 921600 (115200 is more secure)
  • CPU Frequency: 80 MHz
  • Flash Size: 4MB
esp12-E Arduino IDE configuration
esp12-E Arduino IDE configuration

esp07

Per l’esp07 userò queste impostazioni

  • Board: Generic esp8266 Module
  • Builtin Led: 2
  • Upload Speed: 921600 (115200 is more secure)
  • CPU Frequency: 80 MHz
  • Crystal Frequency: 26 MHz
  • Reset Method: dtr
  • Flash Size: 1MB
esp07 programming specifications arduino IDE configuration
esp07 programming specifications arduino IDE configuration

Upload di un semplice sketch blink

Ora devi solo:

  • Tenere premuto il pulsante FLASH;
  • Premere e rilasciare il pulsante RST;
  • Rilasciare il pulsante FLASH;
  • Inizia il caricamento di questo sketch;
// the setup function runs once when you press reset or power the board
void setup() {
	Serial.begin(115200);
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  Serial.println("HIGH");
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  Serial.println("LOW");
  delay(1000);                       // wait for a second
}
  • collegate il monitor seriale con velocità di trasmissione 115200.

Qui il log della console

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

Scheda di programmazione PCB

Condivido anche la scheda di programmazione PCB, farò un articolo apposta.

esp07 programming board pcb
esp07 programming board pcb

esp-12 esp-07 (esp8266) scheda di programmazione ed adattatore per breadboard

Grazie

  1. WeMos D1 mini (esp8266): caratteristiche e configurazione dell’Arduino IDE
  2. WeMos D1 mini (esp8266): SPIFFS Filesystem integrato
  3. WeMos D1 mini (esp8266): debug sulla seriale secondaria
  4. WeMos D1 mini (esp8266), i tre tipi di modalità di sospensione per gestire il risparmio energetico
  5. WeMos D1 mini (esp8266): FileSystem integrato LittleFS
  6. esp12 esp07 (esp8266): flash, piedinatura, spec e config dell’IDE Arduino
  1. Firmware and OTA update
  1. esp32 e esp8266: file system FAT su memoria SPI flash esterna
  2. i2c esp8266: how to, rete 5V, 3.3V, velocità e pin personalizzati


Spread the love

Lascia un commento

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