O ESP8266 mudou completamente o cenário maker no mundo. Antes, o que era dominado pelo Arduino e suas variações, passou a dividir espaço com o ESP, que tem WiFi e custa menos de US$ 2. Sendo assim, o Arduino perde para o ESP quando se trata de especificações.
Não demorou muito para que esse universo fosse expandido, o que é um ponto bem positivo, já que temos mais opções e a concorrência faz os preços caírem. Um exemplo disso foi RTL8710 e o MT7681, muito similares ao ESP e com preço baixo, entre US$ 2 a US$ 5.
Mas a Espressif, fabricante do ESP8266, não deixaria essa briga evoluir, trazendo com o maior barulho possível o ESP32.
O tão esperado ESP32
Quando o ESP32 foi anunciado, uma enorme onda de especulações se iniciou. Varias informações iam surgindo e os rumores se tornando mais fortes, mas nada oficial vinha da Espressif. Até que em janeiro deste ano, a Espressif lançou oficialmente as vendas do ESP32 e o primeiro manual de uso do chip, para o grande delírio dos makers.
Os diferenciais
Primeiro, devo deixar claro que o ESP32 não é um substituto ao ESP8266, tão pouco custa tão baixo, já que eles têm diferenças grandes em relação ao hardware.
O grande e principal diferencial do ESP32 em relação ao ESP8266 é o fato dele possuir bluetooth, além do já conhecido WiFi, e de mais periféricos, como os listados abaixo:
Características:
- Bluetooth 4.2 BLE
- Dual core 32bits LX6 Xtensa
- 448KB ROM
- 520KB SRAM
- 16KB SRAM no RTC
O ESP32 possui 48 GPIOS, sendo que os pinos analógicos podem ser configurados como digitais. Os periféricos nativos, com compartilhamento de pinos em alguns casos, são:
- 3x SPI
- 2x I2C
- 2x I2S
- SDIO/SD/MMC
- 3x UART
- CAN
- Ethernet 10/100Mbps
- IR (Infrared)
- 16x PWM
- Sensor de Temperatura interno
- Sensor touch de 10 canais
- ADC de 12bits e suporte para até 18 canais (multiplexado)
- DAC de 8bits e 2 canais
Outro diferencial do ESP32 é o fato dele possuir acelerador em hardware para algoritmos de criptografia, incluindo AES, SHA, RSA e ECC.
A tensão de trabalho do ESP32 varia de 2.2V a 3.6, e quando operado por bateria (VBAT), pode variar entre 2.8V e 3.6. O consumo pode chegar até 225mA de pico nas transmissões. Isso torna o ESP32 uma boa alternativa para uso de pilhas alcalinas (2x 1.5V).
Preparando o ambiente de desenvolvimento
A Espressif disponibiliza um framework de desenvolvimento chamado de IDF (IoT Development Framework) para o desenvolvimento de aplicações com o ESP32. Para um detalhamento de como fazer a instalação, siga o documento disponibilizado pela própria Espressif neste link.
Neste momento, vamos usar o já conhecido platformIO para o desenvolvimento do primeiro “hello world” com o ESP32 e com a plataforma Arduino.
Para maiores detalhes sobre a plataforma Arduino para o ESP32, acesse.
Instalando o platformIO
Para quem ainda não conhece o platformIO, veja este artigo para uma breve introdução.
O platformIO já fez a integração com o ESP32, inclusive com cerca de dez placas de desenvolvimento disponíveis para iniciar um projeto, incluindo a ESP32 Thing.
Demo:
#include <WiFi.h> const char* ssid = "ssid"; const char* password = "senha"; void setup() { Serial.begin(115200); delay(10); pinMode(5, OUTPUT); digitalWrite(5, LOW); Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.disconnect(true); WiFi.mode(WIFI_MODE_STA); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { digitalWrite(5, HIGH); delay(250); digitalWrite(5, LOW); delay(250); Serial.println(WiFi.status()); } digitalWrite(5, HIGH); Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } int value = 0; void loop() { }
O código, é exatamente igual ao do ESP8266, mudando apenas o nome da biblioteca de WiFi.
Kit de desenvolvimento
A placa utilizada é da SparkFun, a ESP32 Thing:
Pinout da ESP32 Thing:
Conclusão
O ESP32 é muito superior ao ESP8266 em diversos aspectos. Parece que a Espressif ouviu muitos pedidos dos usuários do ESP8266 e implementou no ESP32.
Ele atende muitas necessidades, inclusive em projetos onde um processador seria muito e um ESP8266, pouco, ficando no meio termo.
O valor, mesmo que não seja o mesmo que o ESP (nem acho que deveria), é ainda inferior aos processadores mais baratos do mercado, sendo uma boa escolha neste segmento.