Descripción
utiliza un procesador Xtensa Dual-Core LX6 de 32 bits a 160 ó 240 MHz. El usar dos núcleos permite dedicar uno de ellos a la comunicación IP y WiFi y el otro al resto de procesos. Se resuelve así una de las dificultades más importantes que imponía la arquitectura del ESP8266.
Tiene una memoria RAM de 520 kB, accesible por ambos procesadores y puede utilizar memoria RAM externa adicional de hasta 8 MB.
La memoria flash, igual que en el ESP8266, ha de ser externa y soporta hasta 16 MB. En cambio, el ESP32 sí tiene una ROM interna de 448 kB, utilizada para el bootloader y las funciones internas.
Integra pines GPIO, PWM y ADC como el ESP8266 pero añade conversores DAC y tiene canales PWM dedicados para el control de LEDs y de motores. Además el número de pines dedicados a estas tareas es mayor que en el ESP8266
Igual que éste, también es capaz de comunicarse utilizando protocolos I2C, serie, I2S, SPI e IR. Adicionalmente tiene interfaces Ethernet, SDIO y CAN bus 2.0. Integra un sensor de efecto Hall y un termómetro. Además, los conversores ADC pueden activar un preamplificador de bajo ruido para soportar señales de muy bajo nivel.
Una característica muy importante que se ha añadido al ESP32 respecto a su hermano menor es una interfaz Bluetooth 4.2. Esto amplía el abanico de posibilidades de comunicación del ESP32.
Otra de las pegas del ESP8266 es la seguridad. Esto limita su uso para aplicaciones industriales y comerciales. No soporta comunicación segura mediante hardware. Se ha conseguido implementar el protocolo criptográfico TLS 1.2 mediante software pero esto aumenta la carga del procesador de forma considerable.
El ESP32 resuelve esto incorporando un acelerador de encriptación por hardware.
Igualmente, no hay forma de proteger el código binario dentro de la flash del ESP8266, por lo que es relativamente sencillo realizar ingeniería inversa extrayendo el código máquina desde la flash.
El ESP32 permite la encriptación del código en la flash para que no sea posible la leer el código binario desde la memoria.
Por último, además de los dos procesadores principales tiene un coprocesador de muy bajo consumo asociado al RTC. Éste permite realizar ciertas tareas como el control de los pines de entrada salida mientras el chip está en modo de sueño profundo.
Todo esto tiene un precio. Las placas de desarrollo con ESP32 cuestan entre 4 y 10 veces más que los ESP8266 o cualquier variante de este microcontrolador.