ESP32 – Especificação Técnica

ESP32 – Especificação Técnica

Está é a plataforma mais famosa pra uso em Internet das Coisas (Internet of Things ou IoT) pois ele não necessita de nenhum modulo adicional para ter conexão com a internet pois ele já vem com Bluetooth e Wi-fi integrado, já no caso do Arduíno Uno, Mega, Nano e etc, necessitam que seja conectado um Shield ou modulo para que haja essa conexão e que ele possa ser usado para a Internet das Coisas. O conjunto inteiro do ESP-32 é chamado de NodeMCU-32S, mas também há outras variantes para a plataforma completa.

Após a explosão no mercado com a plataforma Arduíno muitas outras empresas e organizações começaram a seguir o modelo da plataforma do Arduíno porem nem todas essas plataformas conseguiram ter a integração com a IDE (Integrated Development Environment ou Ambiente de Desenvolvimento Integrado) do Arduíno, porem em 2016 a Espressif Systems criou a plataforma ESP32 (ESP-WROOM-32) que utiliza o SoC (System on Chip) ESP32-D0WDQ6 e através de sua comunidade desenvolveram um plugin que consegue fazer a integração do ESP32 com a IDE de programação do Arduíno, o que tornou este chip uma grande alternativa em relação ao Arduíno já que ele possui Bluetooth e Wi-fi integrado.

A grande diferencia em si da plataforma Arduíno não era o Arduíno Uno, Arduíno Mega e etc, mas sim a sua IDE de programação que faz um trabalho maravilho em simplificar gigantescamente a programação do usuário e tudo isso graças as grandes quantidades de bibliotecas disponíveis na internet, onde por ser uma plataforma gratuita torna o acesso mais fácil e o desenvolvimento pelos os usuários algo contínuo.

A IDE é muito simples sem muitos botões para confundir usuários iniciantes, o que torna a adesão grande em escolas e por pessoas que nunca tiveram contato com uma IDE de programação,

Especificações:

O datasheet do ESP32 que a Espressif fornece possui muitos dados que são importantíssimos para a conservação e o bom uso do ESP32, organizei em forma de tabela:

Alimentação:2,2V ~ 3,3V DC
Corrente de Consumo:Média de 80mA
Temperatura de Operação:
-40°C ~ +85°C
Processador:Xtensa® Dual-Core 32-bit LX6
Processador secundário:ULP (Ultra Low Power coprocessor) 8MHz com consumo de 150uA.
Frequência de Operação:80MHz ~ 240MHz
Memoria FLASH:4MB
Memoria RAM:520KB
Memoria ROM:448KB
GPIOs (Entradas e Saídas):34 GPIOS de 3.3V e 12mA.
Conversores ADC (Analógico para Digital):18 ADC com 12-bit de resolução (4096 bits)
Conversores DAC (Digital para Analógico):2 ADC com 8-bit de resolução (256 bits)
WiFi:2,4 GHz,

 

802.11 b/g/n/e/i (802.11n até 150 Mbps)
Bluetooth:Bluetooth Low Energy v4.2 (BLE)
Criptografia:AES, RSA, SHA e ECC
Segurança:WPA/WPA2/WPA2-Enterprise/WPS
Protocolos de Rede:IPv4, IPv6, SSL, TCP/UDP/HTTP/FTP/MQTT
Temporizadores:4 Timers de 64-bit.
Interfaces de Módulos:
Cartão SD, UART, SPI, SDIO, I2C, LED PWM, Motor PWM, I2S, I2C, IR
Sensores:
  • 1  Sensor de temperatura interno.
  • 1 Sensor de efeito Hall.
  • 10 Sensores de Toque Capacitivo.
Recursos:
  • 4 Watchdogs
  • Deep Sleep
  • Pré-amplificador analógico de baixo ruído
  • Três canais de temporizadores de 16 bits geram formas de onda PWM
  • Entrada e saída estéreo de/para o codec de áudio e saída de dados paralela do LCD
  • Oito canais de transmissor e receptor Infravermelho para várias formas de onda
  • 4 interfaces virtuais de Wi-Fi

São muitos os recursos que estão disponíveis no ESP32, se comparado com o Arduino, o ESP é ideal para projetos profissionais onde necessitam vários recursos com poucos módulos, seu poder de processamento é muito maior que o Arduíno.

Atenção: A alimentação máxima do ESP32 é de 3,3V o que faz que 5V para alimentação ou para sinal lógico em seus GPIOs seja fatal, podendo levar a queima do ESP32, caso necessite entrar um sinal lógico de 5V em seus GPIOs utilize um divisor de tensão com dois resistores um de 1K e outro de 2K.

A alimentação é um dos contras do ESP32 pois a tensão máxima de trabalho é de 3,3V fazendo com que seja necessário adaptações para alimentar algum sensor ou conectar algum periférico nos pinos de GPIO do ESP32, mas dependendo dos sensores nem é necessário adaptações com resistores ou transistores já que uma gama de sensores funcionam a 3,3V.

Pinos de GPIOs:

O esp32 possui 34 GPIOs programáveis e estes mesmos GPIOs possuem diversas funções onde:

  • 18 GPIOs possuem conversor ADC
  • 2 possuem DAC,
  • 10 possuem Sensores de Toque Capacitivo.
  • 34 possuem interrupção
  • 4 possuem I2C
  • 16 possuem Ethernet EMAC

Abaixo está uma ilustração feita pelo identificando cada pino dos ESP32:

Pinout do ESP32 DevKitC, fonte: https://gojimmypi.blogspot.com/2017/03/jtag-debugging-for-esp32.html
Pinout do ESP32 DevKit1, fonte: https://microcontrollerslab.com/

Outra informação importante é que nem todos os GPIO’s possuem resistores de pull-up e pull-down, fui descobrir desta característica depois de desenvolver o XPboard percebi que o pino 34 do LCD não estava funcionando normalmente não exibindo nada no LCD, fui descobrir que alguns pinos não possuem esses resistores internamente. São os GPIO’s do 34 ao 39:

GPIO 34 – Não possui resistor de Pull-up ou Pull-down
GPIO 35 – Não possui resistor de Pull-up ou Pull-down
GPIO 36 – Não possui resistor de Pull-up ou Pull-down
GPIO 39 – Não possui resistor de Pull-up ou Pull-down

Em algumas placas de ESP32 o GPIO 6 até o GPIO 11 Estão disponíveis para o uso para o programador. No entanto, esses pinos estão conectados ao chip flash SPI integrado no chip ESP-WROOM-32 e não são recomendados para outros usos. Portanto, evite usar esses pinos em seus projetos:

GPIO 6 (SCK / CLK)
GPIO 7 (SDO / SD0)
GPIO 8 (SDI / SD1)
GPIO 9 (SHD / SD2)
GPIO 10 (SWP / SD3)
GPIO 11 (CSC / CMD)

Alguns GPIOs alteram seu estado para nivel HIGH (3,3V) ou emitem sinais PWM na inicialização ou reset da placa. Isso significa que, se você tiver saídas conectadas a esses GPIOs, poderá obter resultados inesperados quando o ESP32 for reiniciado ou inicializado, evite usa-los para acionamento de coisas que possam comprometer a segurança de pessoas. Abaxo segue a lista de GPIO’s

GPIO 1
GPIO 3
GPIO 5
GPIO 6 a GPIO 11 (conectado à memória flash SPI integrada do ESP32 – não recomendado para uso).
GPIO 14
GPIO 15

Você deve estar atento aos GPIO’s que você irá utilizar pois não é todos que possuem as funções que você deseja, algumas GPIO’s são imprevisíveis, segue uma tabela com a maioria dos GPIO’s:

GPIOEntradaSaídaComentários:
0Sempre em ALTOOKEmite sinal PWM na inicialização
1Pino TXOKSaída de depuração na inicialização
2OKOKConectado ao LED da placa
3OKPino RXDurante o boot fica HIGH(3,3V)
4OKOK
5OKOK Emite sinal PWM na inicialização
6xxConectado ao SPI flash integrado
7xx Conectado ao SPI flash integrado
8xx Conectado ao SPI flash integrado
9xx Conectado ao SPI flash integrado
10xx Conectado ao SPI flash integrado
11xx Conectado ao SPI flash integrado
12OKOKInicialização falha se colocado em Alto
13OKOK
14OKOKEmite sinal PWM na inicialização
15OKOKEmite sinal PWM na inicialização
16OKOK
17OKOK
18OKOK
19OKOK
21OKOK
22OKOK
23OKOK
25OKOK
26OKOK
27OKOK
32OKOK
33OKOK
34OKSem Pull-Up e Pull-Down
Recomendável: Somente Entrada
35OK Sem Pull-Up e Pull-Down
Recomendável: Somente Entrada
36OK Sem Pull-Up e Pull-Down
Recomendável: Somente Entrada
39OK Sem Pull-Up e Pull-Down
Recomendável: Somente Entrada

Energia:

Embora o ESP32 seja muito mais potente e robusto para projetos do que o Arduino Uno ou Mega ele consome uma elevada corrente de 80mA se comparado com o Arduíno que consome em torno de 2mA. Isto é devido ao Wi-fi, bluetooth e o processamento o que é horrível para aplicações que utilize bateria, nessas aplicações o uso da energia é crucial quanto menor é a corrente maior é a duração do funcionamento do circuito sem ter que recarregar a bateria, há maneiras de diminuir a corrente de uso do ESP32 como o Deep Sleep, desligar o Wi-Fi quando não houver uso e etc.

Estas praticas exigem que o programador conheça bem o hardware e quando é necessário ligar e desligar os recursos que consomem energia e que não são necessários ficarem ativos constantemente.

Hardware:

A construção do ESP-32 é protegida por um shield de ferro para evitar interferências eletromagnéticas, o ESP-32 em sí é o modulo ESP-WROOM-32 que é bem pequeno se comparado com o restante do NodeMCU-32S no modulo ESP-WROOM-32 possui o chip principal ESP32-D0WDQ6 um cristal oscilador normalmente de 40MHz e um chip de memória Flash GD25Q32 de 4Mb a 16Mb. A seguir está uma galeria de imagens dos componentes do hardware e também o esquemático fornecido pelo datasheet:

Referencias:

https://randomnerdtutorials.com/esp32-pinout-reference-gpios/

Licença CC 4.0

Creative Commons

O trabalho “ESP32 – Especificação Técnica” de JailsonBR está licenciado com uma Licença Creative Commons Atribuição 4.0 Internacional.

Jailson Oliveira

Sou Engenheiro Eletricista com Enfase em Eletrônica e Técnico em Eletrônica, gosto de estar praticando montagens de circuitos e também programar sistemas embarcados. Acredito que compartilhar informações gratuita gera mais informações novas por parte de outras pessoas.

Um comentário em “ESP32 – Especificação Técnica

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *