Tutorial ESP32

El tutorial ESP32 para entusiastas de las placas de desarrollo y microcontroladores que no sepan mucho ni de electrónica ni de programación, con explicación muy detallada del código.

ESP32

¿Qué es un ESP32?

El ESP32 es un SoC (System on a Chip) o sistema en un chip (circuito integrado), es decir que un chip tenemos todos o gran parte de los módulos que componen un computador. El ESP32 es un SoC de bajo costo y también bajo consumo de energía, con tecnología Buetooth y WiFi integrada, fabricado por Espressif Systems.

El sucesor del ESP8266 es el ESP32, el cual ha sido muy popular debido a tener WiFi integrado, mientras que el ESP32 no solo tiene WiFi integrado sino que también tiene Bluetooth, todo el mundo asegura que el ESP32 es un «ESP8266 con esteroides».

El chip ESP32 está basado en un microprocesador de doble núcleo Tensilica Xtensa LX6 cuya frecuencia puede llegar hasta los 240Ghz, también posee un co-procesador de bajo consumo, que es muy util

Además de todo eso, logra un consumo de energía muy bajo a través de funciones de ahorro de energía que incluyen sincronización de reloj y múltiples modos de operación, gracias a su co-procesador de bajo ultra baja energía, que logra que la corriente de reposo del chip ESP32 sea inferior a 5 μA, lo que lo convierte en la herramienta ideal para sus proyectos con batería o aplicaciones IoT.

ESP WROOM 32

Para este tutorial con ESP32 vamos a utilizar una placa de desarrollo con el ESP WROOM 32, la ESP32 devkit v1 development board con 30 pines

Placa de desarrollo ESP WROOM-32 - Tutorial ESP32
Placa de desarrollo ESP WROOM-32 con 30 pines


En este curso de Arduino no voy a adentrarme mucho en el tema de los modelos, básicamente aquí voy a utilizar el Arduino Uno R3, para la mayoría de los proyectos y en el camino exploraremos otros más y explicaremos las diferencias con respecto al UNO.

ESP32 Pinout

Especificaciones técnicas del ESP WROOM 32

MicroprocesadorXtensa Dual Core-32bit LX6 con 600 DMIPS
Co-procesadorSí, Co-procesador de ultra baja energía (ULP)
Frecuencia del reloj240Mhz
Wi-Fi802.11 b/g/n
Bluetoothv4.2 BR/EDR y BLE
ROM384KB
SRAM520 KB
SRAM in RTC16 KB
PSRAM8 MB
GPIO34
Pines PWM (software)16 canales
SPI4
I2S2
I2C2
UART2
ADC2 (12-bit) tipo SAR, soporta hasta 18 canales.
DAC2 (8-bit)
CAN 2.01 x 2.0
Capacitive touch sensors10
Sensor efecto hall
Sensor de TeperaturaSí (las primeras versiones)
Interfaz SD
Timers4 (64-bit)
1-WireImplementado por software
Encriptación por hardwareSí. AES, SHA, RSA, ECC
LED_BUILTINPin 2
Gen números aleatorios
Encriptación mem. Flash
Arranque seguro
Voltaje de operación3.3V DC (2.7~ 3.6V)
Voltaje Lógico I/O (GPIO)3.3V
Corriente de operación~80mA (con fuente de más de 500mA)
Temperatura de operación-40ºC to 125ºC

Dónde Programar el ESP32?

Existen varias formas de programar el ESP32, básicamente podemos programarlo en lenguaje MycroPython (que es una re implementación del Python enfocada a microcontroladores y sistemas embebidos) y C/C++. Si vamos a programar en MicroPython podríamos usar como IDE, Thonny IDE, uPyCraf IDE, VS Code con la extención Pymaker, entre otros. Pero nosotros vamos a utilizar el IDE de Arduino para seguir programando en C/C++ y así aprovechar ya lo aprendido con nuestro Arduino.

Podemos utilizar la versión 1 del IDE de Arduino o la versión 2 Release Candidate para realizar nuestros proyectos.

Configuración del IDE Arduino para el ESP32

Nuestro IDE Arduino viene listo para trabajar con todas las tarjetas de Arduino pero no está lista para otros tipos de tarjetas de desarrollo, pero nos permite agregar los repositorios para instalar otras placas de desarrollos diferentes a las de Arduino. Para agregar nuestro ESP32 debemos seguir los siguientes pasos:

Abrimos el IDE Arduino y vamos al menú archivo ->Preferencias:

Tutorial ESP32

En la ventana de Preferencias, en el Gestor de URLs Adicionales de tarjetas le damos clic a el botón que seleccionamos en la imagen.

Agregamos la dirección https://dl.espressif.com/dl/package_esp32_index.json a la lista de URL que tenemos, le damos OK en las dos ventanas.

Ahora vamos a ir al gestor de tarjetas para instalar nuestro ESP32, por lo que vamos al menú Herramientas -> Placa «XXXXX» ->Gestor de tarjetas

Se nos abre una ventana con las tarjetas que podemos instalar, en el cuadro de diálogo digitamos ESP32 y le damos Enter para que nos busque.

Una vez que filtramos nos aparece ESP de Espressif Systems, le damos a instalar. Una vez hayamos realizado esta instalación encontraremos nuestra ESP32 entren las tarjetas instaladas.

Luego de haber hecho correctamente la instalación vamos al menu Herramientas -> Placa ->ESP32 y allí seleccionamos la placa que tenemos, en mi caso es ESP32 Dev Module.

A disfrutar nuestro ESP32, ya podemos subir el código de cualquiera de nuestros proyectos a nuestra placa y crear los proyectos más sorprendentes.

Cómo programamos el ESP32?

Al tener nuestro IDE de Arduino configurado para el ESP32 , podremos crear los scketch de la misma forma que lo hicimos en con el Arduino, podremos utilizar las funciones analógicas y digitales del IDE de Arduino:

//funciones de lectura y escritura análogica
analogRead();
analogWrite();


//funciones de lectura y escritura digital
digitalRead();
digitalWrite();

Pero también tendremos unas funciones propias del ESP32 ya que estos tienen incorporados sensores táctiles, sensores de efecto hall y algunos modelos poseen sensor de temperatura.

Para estas funciones tenemos:

//función para leer el sensor táctil
touchRead()

//función para leer los datos del sensor de efecto Hall
hallRead()

//función para leer la temperatura
temprature_sens_read()

También posee funciones propias del ESP, como por ejemplo

//función que nos devuelve el modelo del chip
ESP.getChipModel()

//función que nos devuelve la revisión del chip
ESP.getChipRevision()

//función que nos devuelve la cantidad de núcleos del procesador
ESP.getChipCores()

//función que nos devuelve la dirección MAC del chip
ESP.getEfuseMac()

Ya podemos seguir con nuestro tutorial ESP32, siguiendo estos interesantes proyectos.

3 comentarios en «Tutorial ESP32»

    • Hola Wal, si seguiste el tutorial deberías poder subir tu programa al ESP32, es importante tener en cuenta seleccionar correctamente la placa que tienes de la lista de placas y luego selecciona el puerto, automáticamente te debe aparecer el puerto COM al que está conectado tu ESP32, si no te aparece ningún puerto, intenta reemplazar el cable.

      Responder

Deja un comentario

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.