Conhecendo o ESP32 – Introdução (1)

Nesse tutorial, você conhecerá todas as informações básicas sobre o Microcontrolador ESP32. Como é um chip com muitos recursos e de certa forma complexo, a quantidade de material para ser estudado é muito grande. Com essa base apresentada aqui, poderá dar início ao aprendizado dele.

Em 2015, a empresa chinesa Espressif  lançou o Microcontrolador ESP8266. O produto foi uma inovação tecnológica na época, pois já vinha com os circuitos de WIFI embutidos no próprio chip e com preço bem acessível. O uso do ESP8266 foi muito difundido devido à essas versatilidades. Com a bagagem tecnológica adquirida e com a garantia do sucesso do ESP8266, a Espressif  lançou em 2016 um outro Microcontrolador com mais recursos além do WIFI, com Bluetooth também – o ESP32.

Esse são os tópicos do Tutorial – Conhecendo o ESP32 – Introdução :

 

Características do Chip ESP32

Esse ESP32 é um super chip !  Ele possui dois Microprocessadores  Xtensa® 32-bit LX6  com até 600 DMIPS (velocidade de processamento). A frequência do clock pode ser de até 240 MHz, dependendo do modelo. A frequência mais comum é 160 MHz ( 10 vezes o clock do Arduino Uno).

  • memória ROM  interna de 448K Bytes (para Boot e Core)
  • memória RAM estática interna de 520K Bytes
  • Memória externa (total 4) – suporte para até 16M Bytes Flash e 16M Bytes SRAM
  • 1 K Bit de Fusíveis eletrônicos (para segurança e criptografia)
  • Real Time Clock com 16K Bytes de SRAM
  • Interface WIFI 802.11 b/g/n – 802.11 n (2.4 GHz), até 150 Mbps
  • Interface Bluetooth v4.2 BR/EDR e  Bluetooth LE (low energy)
  • Dois grupos de Timers – 4 timers de 64 Bits
  • Aceleradores de hardware (criptografia) – AES, SHA, RSA e ECC
  • Alimentação VCC de 2,3V a 3,6V CC
  • Consumo de corrente max com WIFI – 240 mA

Periféricos do Chip ESP32 

  • 34 × Portas programáveis GPIOs
  • 2 x Conversores ADC SAR 12-bits com até 18 canais
  • 2 × Conversores DAC de 8-bits
  • 10 ×  sensores de toque
  • Sensor de Temperatura
  • 4 × interfaces SPI – clock até 40 MHz !
  • 2 × interfaces I2S – clock até 40 MHz !
  • 2 × interfaces I2C – até 5 Mbps
  • 3 × interfaces seriais UART – até 5 Mbps !
  • 1 Host (SD/eMMC/SDIO) para controle de SD Cards
  • 1 Escravo (SDIO/SPI)
  • Interface Ethernet MAC (necessita acessório)
  • Interface CAN 2.0
  • Interface Infra-vermelho  (Tx/Rx)
  • Controle de Motor PWM
  • Controle de LED PWM até 16 canais
  • Sensor interno Hall

ESP32 module Datasheet

Diagrama em Blocos do Chip ESP32 

ESP32 Block diagram

 

ESP32 Chip pinout (visto por cima) 48 pinos

 

Características dos Módulos ESP32

A Espressif desenvolveu alguns tipos de mini-módulos com o Chip ESP32 – dual core :

  • ESP-WROOM-32 , 32D e 32U (mais comum)
  • ESP32-WROVER , WROVER-I, B e ID
  • ESP32 – PICO-D4

Todos esses módulos possuem uma memória Flash de 4 MBytes, onde fica armazenado o firmware (código). Os módulos mais recentes da linha Wrover já vem com uma memória PSRAM( RAM pseudo estática) de 8 MBytes.

Existem também outros modelos de módulos ESP32, mas com single core, isto é, com um processador somente. Mas esses modelos não são comuns aqui no Brasil.

Modelos de módulos ESP32

Módulo ESP32-Wroom-32

Dentro desse módulo temos o Microcontrolador (chip) ESP32, uma memória Flash de 4M Bytes (FM25Q32), um cristal de Clock (40 MHz) e uma antena embutida. A frequência de 240 MHz é sintetizada a partir do clock de 40 MHz.

Em relação ao módulo do ESP8266, dá para perceber que o ESP32 tem muito mais portas (38 pinos no total – incluindo pinos de I/O e de alimentação).

ESP32-Wroom-32 Datasheet

Pinagem do Módulo ESP32-Wroom-32 (para melhor visualização, abra a figura em uma nova guia)

 

Placas de desenvolvimento ESP32

Quando a Espressif lançou o ESP8266, ela só vendia o módulo sem regulador e sem interface USB-Serial. Isso dificultou para muitos, o uso desse módulo. Para evitar o mesmo erro, a Espressif lançou  os módulos ESP32 e as placas de desenvolvimento (Development Boards) também :

  • ESP32-PICO-KIT
  • ESP-WROVER-KIT
  • ESP-WROVER-KIT-VB
  • ESP32-DevKitC
  • ESP32-LyraTD-MSC
  • ESP32-LyraT

Placas de Desenvolvimento do ESP32

Link com mais informações sobre  Módulos e Boards de ESP32

 

ESP32 complete platform

Alguns outros fabricantes, criaram as suas próprias versões de Placas de Desenvolvimento :

Os Boards mais comuns encontrados aqui no Brasil , usam os módulos ESP-WROOM-32. Existem dois modelos de placas de desenvolvimento ESP32 DevKit, uma placa com 30 pinos e a outra com 38 pinos. As diferenças não são tão importantes, já que na Placa de 30 pinos não tem disponíveis os pinos para interface com o SD card ( SD0, SD1, SD2, SD3, CMD e CLK) . Não é recomendável o uso desses pinos, já que são usados pela memória Flash do módulo ESP32 !

Placa ESP32 na loja Eletrogate

Toda placa ESP32 DevKit já tem um regulador de 3,3V, um chip de interface Serial-USB , um conector micro-USB, um LED e botões de RESET (EN) e de LOAD (BOOT). Pode ser usada similarmente como se fosse uma placa Arduino.

Usando o diagrama do site www.pighixxx.com, fiz um Pinout da placa  ESP32 DevKit (não foi fabricada pela ESPRESSIF) :

Pinagem da Placa ESP32 DevKit – (38 pinos)

 (para melhor visualização, abra a figura em uma nova guia)

O diagrama abaixo é do circuito  eletrônico da placa de desenvolvimento ESP32-DevKit Versão 4 da Espressif.

Diagrama do Board ESP32 DevKit V4

 (para melhor visualização, abra a figura em uma nova guia)

Essa placa ESP32 DEVKIT tem um regulador de 3,3V (corrente max 1A) , que pode ser o chip AMS1117 -3.3. No Datasheet do ESP32, esta especificado que a corrente fornecida para alimentação de 3,3V deve ser no mínimo de 500 mA. Portanto nunca conecte um outro módulo ou dispositivo que consuma mais do que 0,5 A, para não sobrecarregar esse regulador interno.

Link do Datasheet do REG AMS1117-3.3

A alimentação dessa placa pode ser feita através do próprio conector USB (5,0V) ou então através do pino 5V ou VIN , com uma alimentação regulada de 5,0V .  Apesar do Regulador AMS1117 aceitar até 12V na entrada, recomendo que, se for alimentar a placa através desse pino, use sempre uma fonte  regulada de 5V, pois assim nunca sobre-aquecerá o mesmo ! Evitando um possível defeito no regulador.  Não recomendo que use  o pino 3V3  para alimentar a placa com 3,3V . Esse pino é a saída do regulador de 3,3V e não a entrada. Mas no site da ESPRESSIF, considera também que a alimentação possa ser através do pino 3V3. Mas uma observação importante : as opções de alimentação são mutuamente exclusivas, isto é, somente poderá usar uma opção (USB, 5V ou 3,3V) . Não use mais de uma opção, pois poderá danificar algum componente da placa. Não se  esqueça de conectar o GND da fonte no GND da placa.

O Chip da interface Serial-USB é o CP2102 da Silicon Labs. Ele suporta USB 2.0 com velocidade de até 1 MBps (não suporta USB 3.0).  Na placa ESP32 DEVKIT, a alimentação 3,3V do CP2102 é feita através do regulador AMS1117. Consumo máximo de corrente é de apenas 26 mA. O CP2102  possui um regulador interno de 3,3V, mas nessa placa  esse regulador esta inoperante.

Link do Datasheet do CP2102

Link para download dos drivers do CP2102 para Windows, Macintosh OSX, Linux e Android :

Link dos Drivers CP2102

Essa é a foto em alta definição da  Placa ESP32 DEVKIT (38 pinos)  :

(para melhor visualização, abra a figura em uma nova guia)

OBS: O pino G33 na parte superior da imagem esta identificado incorretamente ! Esta escrito G23, mas o correto é G33 (entre os pinos G25 e G32) .

 

Essa é a foto em alta definição da  Placa ESP32 DEVKIT (30 pinos)  :

(para melhor visualização, abra a figura em uma nova guia)

 

Botão de RST (ou EN) – dá um pulso LOW no pino EN ,  reset do módulo ESP32.

Botão de BOOT – dá um pulso LOW no pino GPIO 0 – permite a gravação do programa no ESP32.

Observação interessante : Os pinos DTR e RTS do Chip CP2102, controlam o pino ENA (reset chip ESP32) e o pino GPIO0 (Load program). Portanto, ao gravar um programa com a IDE Arduino, não é necessário pressionar o botão de BOOT (Load). Muito melhor do que no ESP8266 !

 

Conhecendo o ESP32 – Usando Arduino IDE (2)

ESPRESSIF – recursos do ESP32

Forum da ESPRESSIF para o ESP32

The Internet of Things with ESP32

Livros sobre ESP32

 

No próximo tutorial, você aprenderá a usar o ESP32.

Se gostar ou tiver alguma dúvida,  deixe um comentário!

Rating: 5.0/5. From 2 votes.
Please wait...
Gustavo Murta
Gustavo Murta
Consultor e Projetista de Sistemas Embarcados. Técnico em eletrônica, formado em Curso superior de TPD, pós-graduado em Marketing. Trabalhou por muitos anos na IBM na área de manutenção de computadores de grande porte. Aposentou-se, podendo curtir o que mais gosta : estudar e ensinar Tecnologia. Hobista em eletrônica desde 1976. Gosta muito de Fotografia e Observação de aves.