bclose

Presentando el ESP32

primer acercamiento al ESP32

Introducción a M5Stack y LORAWAN

 

 
  • Presentando el ESP32.
  • Características y peculiaridades del ESP32.
  • Tipos y modelos.
 

 

Material requerido.

 

 Tienda EspañaTienda Mexico
 vista lateral del esp32
Un ESP32

 

Empezando con el ESP32

 

Como vamos a empezar a hablar largo y tendido del microprocesador ESP32, parece una buena idea empezar por el principio y hacer las presentaciones como es debido. Básicamente podemos decir que se trata de un procesador del tipo SOC (System On Chip, es decir que integra todos los componentes necesarios de un pequeño micro ordenador en un solo chip), que integra dos procesadores basados en el Tensilica Xtensa LX6 de doble core, (Que en contra de lo que pudiera parecer, es un modelo de procesador Americano y no chino)

Tensilica licencia sus procesadores a terceros y este es el caso del ESP32 que fue diseñado por Espressif Systems ( chinos) y construido por TMSC (Taiwaneses)  en tecnología de 40 nm y que se suele considerar como sucesor de su hermano menor y previo, el ESP8266 del que nos hemos hartado a hablar en esta casa desde hace años y con el que conserva completa compatibilidad de software (Exceptuando el bluetooth, del que no dispone)

La virtud del ESP32 es que incorpora un doble procesador de hasta 240 MHz de velocidad que incluye memoria RAM, memoria Flash para guardar el programa y todo lo necesario para poderse manejar con WIFI y bluetooth en un solo chip. Casi nada.

Si a eso le sumamos, que se suele vender como chip básico para integrarlo en tus propios productos a gran escala, y como unidades montadas en una plataforma (con pines expuestos para poderlos usar con comodidad) por el precio de una entrada de cine o poco más, es evidente que tenemos un producto ganador.

Además, los chinos demostraron un excelente olfato comercial, al desarrollar un pluggin para Arduino que nos permite usarlo si necesidad de aprender la nueva arquitectura y que hemos usado profusamente en esta vuestra casa. Por todo ello, en estos momentos el ESP32 es un caballo ganador claro en toda esta movida de la IOT el DIY y demás siglas que nos encantan. Pero a pesar de todo, hay algunas particularidades del chip que nos conviene desarrollar para evitar algunos de los errores más comunes y de eso va esta sesión.

 

Modelos del ESP32.

 

El ESP32 es un poco difícil de usar si lo compramos comercialmente a su proveedor Espressif porque es mas o menos como esto:

SMD ESP32

Es decir, se trata de un chip SMD para montaje en superficie e integrarlo en tus propios diseños electrónicos, pero que resulta muy difícil de usar en un laboratorio o escuela porque no se puede acceder directamente a sus pines con una protoboard o similares. Por eso, los amigos de Arduino solemos comprar el ESP32 integrado en monturas que faciliten su uso por parte de quien no queremos diseñar nuestros propios circuitos electrónicos, como este:

vista lateral del esp32

Hasta aquí no hay problema. Pero, aunque el chip SMD es básicamente siempre el mismo (No es del todo verdad) cada proveedor chino lo monta de acuerdo a su propio interés y mejor entender, lo que hace que comprar un ESP con montura sea un deporte de riesgo, porque si no estás al atento, puedes comprar lo que no esperabas y por eso, es importante, dejar claro desde ya que no todos los ESP32 comerciales con montura USB son iguales, ni incluyen la misma memoria ni, sobre todo, disponen de las mismas patas en el exterior.

multiples tamaños y pines

Por si no fuese suficiente follón, además algunos de los pines que se exponen no pueden ser usado por un amante de Arduino, lo que aún complica más el asunto y por eso, en Prometec procuramos usar el modelo de referencia de Espressif llamado ESP32-DevKitC o ESP32-WROOM porque es lo más parecido a un modelo estándar, pero no fíes mucho.

 

Ejemplos de encapsulados del ESP32.

 

Hay toda una variedad de diseños propietarios que son básicamente un ESP32 mas un USB para alimentarlo y programarlo con diferentes sabores como, por ejemplo:

 IMAGEN MODELO
 VROOMESP32-VROOM

 

Con el típico patillaje que solemos usar en nuestros tutoriales

 modelo esp32 con menos pines 

Muy parecido al de arriba, pero con menos pines disponibles

 modelo con OLED color 

Una aversión que incluye una pantalla OLED en Blanco y negro o color dependiendo del fabricante, como las que tenemos en la tienda Prometec

 modelo esp32 con LORA 

Un modelo que incluye además de WIFI y Bluetooth, LORA 866 y su antena para mayor alcance

 modelo con camara 

Un modelo que incluye cámara además del ESP32 y software de reconocimiento facial y que contra pronóstico funciona bastante bien

 reemplazo del arduino uno con esp32 

En este otro modelo, el ESP32 reemplaza al micro de un Arduino uno, pero manteniendo el mismo patillaje y configuración

Como ves podríamos seguir, pero creo que la idea ha quedado bastante clara.

 

Descripción del ESP32.

 

Vamos a ver ahora las características principales del ESP32 de forma descriptiva y en fproximas sesiones, procuraremos hablar en detalle de cada uno, pero de momento y a modo de introducción podemos presentar como características del ESP32:

  • 18 x Analog-to-Digital Converter (ADC) channels
  • 3 x SPI interfaces
  • 3 x UART interfaces (Puertas serie)
  • 2 x I2C interfaces
  • 16 x PWM output channels
  • 2 x Digital-to-Analog Converters (DAC)
  • 2 x I2S interfaces (Este interface no lo habíamos tocado aun)
  • 10 x Capacitive sensing GPIOs

Naturalmente, varios pines pueden actuar de diferentes formas dependiendo de nuestro programa, pero no todos los pines pueden ser cualquier cosa. Algunos son fijos y podemos usarlos, pero otros no podemos usarlos bajo ninguna circunstancia (Lo que resulta difícil de entender)

Aquí os dejo una lista en la que los pines rojos no se pueden usar nunca, los amarillo se pueden usar, pero pueden pasarte cosas raras (Especialmente en los arranques) y de los rojos mejor que te olvides si no tienes muy claro lo que hacen:

GPIOInputOutputNotes
0pulled upOKoutputs PWM signal at boot
1TX PinOKdebug output at boot
2OKOKconnected to on-board LED
3OKRX PinHIGH at boot
4OKOK
5OKOKoutputs PWM signal at boot
6XXconnected to the integrated SPI flash
7XXconnected to the integrated SPI flash
8XXconnected to the integrated SPI flash connected to the integrated SPI flash
9XXconnected to the integrated SPI flash
10XXconnected to the integrated SPI flash
11XXconnected to the integrated SPI flash
12OKOK
13OKOKoutputs PWM signal at boot
14OKOKoutputs PWM signal at boot
15OKOK
16OKOK
17OKOK
18OKOK
19OKOK
20OKOK
21OKOK
22OKOK
23OKOK
24OKOK
25OKOK
26OKOK 
27OKOK
28OKOK
29OKOK
30OKOK
31OKOK
32OKOK
33OKOK
34OK
35OK
36OKinput only
37OKinput only
38OKinput only
39OKinput only

No supongas que puedes usar todos los pines, ni tampoco que todos valen para todo. Tienen sus manías y conviene que repases esta tabla de arriba antes de usarlos porque te pueden dar más de un dolor de cabeza.

 

 

IMAGEN DE MARCA