¿Que es un ESP32?
También llamado DEVKIT V1 WROOM 32, es un potente microcontrolador dual core basado en un chip Wi-Fi que incorpora Bluetooth de bajo consumo, el cual puede ser programado desde el IDE de Arduino.
Este módulo es muy usado para prototipo rápido de proyectos con IoT (Internet de la cosas). Integra en una placa el SoM ESP-WROOM-32 que tiene como base al SoC ESP32, el conversor USB-serial CP2102 necesario para programar por USB el microcontrolador, reguladores de voltaje y leds indicadores.
Por su potencia y pequeño tamaño es muy usado en aplicaciones IoT, redes de sensores de baja potencia hasta las tareas más exigentes, como codificación de voz, transmisión de música y descodificación de MP3.
Características
En el núcleo se encuentra el SoM ESP-WROOM-32 que tiene como base al SoC ESP 32. Hay dos núcleos de CPU que pueden controlarse individualmente, y la frecuencia de reloj de la CPU es ajustable de 80 MHz a 240 MHz.
El usuario también puede apagar la CPU y utilizar el co-procesador de baja potencia para monitorear constantemente los periféricos en busca de cambios o cruce de umbrales, ahorrando así más energía. Además el módulo integra un amplio conjunto de periféricos, que van desde sensores táctiles capacitivos, sensores Hall, interfaz de tarjeta SD, Ethernet, SPI de alta velocidad, UART, I2S e I2C.
¿Cuáles son las versiones del ESP32?
Actualmente existen varios tipos de chip ESP-32 ESPRESSIF disponibles en Chile, los cuales son:
- ESP-32-D0WDQ6
- ESP-32-D2WD.
- ESP-32-S0WD.
- ESP-32-PICO-D4.
Esta tarjeta incorpora conversor USB-Serial CP2102, regulador de 3.3V y pulsadores de EN y BOOT para la programación del módulo. ESP32S es compatible con Arduino, Lua y MicroPython.
La actualización de este módulo también es posible gracias a la compatibilidad de actualización vía OTA, por lo que los desarrolladores pueden actualizar continuamente sus productos incluso después de que ya lo hayas adquirido. Estas actualizaciones OTA son compatibles en Chile.
Hay otro complemento que también incorpora el ESP32 y además tiene la posibilidad de portar una batería 18650, lo que lo hace más portable.
Existe una placa ESP32 con cámara incluida, se llama ESP32 CAM, es muy recomendable su uso para procesamiento de imagen y aplicaciones que combinen las ventajas de una cámara con una ESP32.
Usar el Arduino IDE para programarlo
Gracias al desarrollo de un par de librerías, es posible actualmente utilizar el famoso IDE de Arduino para programar las placas ESP32. Pero antes de poder cargar tus códigos al módulo es necesario preparar el IDE para esta tarea.
Para programar esta placa desde con el software de Arduino te recomendamos seguir a detalle este tutorial, puesto a que se debe instalar la librería y los drivers necesarios para que pueda funcionar correctamente.
Usar MicroPython con ESP32, ¿es mejor que usar la IDE de Arduino?
Usar MicroPython es una excelente manera de aprovechar al máximo su placa. Y viceversa, esta también es una gran plataforma para usar MicroPython.
El IDE de Arduino en varias ocasiones demanda más uso de memoria para interpretar el código. Sin embargo una función o boceto escrito en Arduino se ejecutará lo más rápido posible en la CPU de una placa, mientras que un código similar en MicroPython será un poco más lento porque tiene que interpretar cada instrucción y convertirla en código de CPU.
Te dejamos un tutorial completo de como utilizar ESP32 junto a MicroPython.
Especificaciones técnicas
- Voltaje de Alimentación (USB): 5V DC
- Voltaje de Entradas/Salidas: 3.3V DC
- SoM: ESP-WROOM-32 (Espressif)
- SoC: ESP32-D0WDQ6
- CPU: Dual core Tensilica Xtensa LX6 (32 bit)
- Frecuencia de Reloj: hasta 240Mhz
- Desempeño: Hasta 600 DMIPS
- Procesador secundario: Permite hacer operaciones básica en modo de ultra bajo consumo
- Wifi: 802.11 b/g/n/e/i (802.11n @ 2.4 GHz hasta 150 Mbit/s)
- Bluetooth: v4.2 BR/EDR and Bluetooth Low Energy (BLE)
- Memoria:
448 KByte ROM
520 KByte SRAM
16 KByte SRAM in RTC
QSPI Flash/SRAM, 4 MBytes - Pines Digitales GPIO: 24 (Algunos pines solo como entrada)
- Pines PWM: 16
- Pines Analógicos ADC: 18 (3.3V, 12bit: 4095, tipo SAR, ganancia programable)
- Conversor Digital a Analógico DAC: 2 (8bit)
- UART: 2
- Chip USB-Serial: CP2102
- Antena en PCB
- Seguridad:
- Estándares IEEE 802.11 incluyendo WFA, WPA/WPA2 and WAPI
- 1024-bit OTP, up to 768-bit for customers
- Aceleración criptográfica por hardware: AES, HASH (SHA-2), RSA, ECC, RNG
- Dimensiones: 55*28 mm
Pinout y Datasheet
Para conocer la distribución de cada uno de los pines del ESP32 DEVKIT V1, tienes a continuación cada pins con el GPIO y el protocolo de comunicación que ofrece este módulo: GPIO, UART, SPI, I2C, PWM, ADC y DAC del ESP32.
Además de los protocolos de comunicaciones y posibles configuraciones de los pins de ESP32, es necesario conocer la potencialidad en detalle del procesador, para eso a continuación se muestra el datasheet del ESP32.
Enlaces de Interés y librerías
GPIO | NAME | FUNCIONES | PUEDES USARLO |
---|---|---|---|
I00 | GPIO0, ADC2_CH1, TOUCH_CH1, Boot | Pulled-UP. Debe ser HIGH al arranque. Genera PWM al arranque | ⚠️ Debe ser HIGH al arranque |
TX | GPIO1, U0TXD | Pin TX | ❌ Salida de depuración al arrancar |
IO2 | GPIO2, ADC2_CH2, TOUCH_CH2 | Debe ser flotante o LOW para flasheo | ⚠️ Conectado al LED |
RX | GPIO3, U0RXD | Pin RX | ❌ En HIGH al arrancar |
IO4 | GPIO4, ADC2_CH0, TOUCH_CH0 | ✔ | |
IO5 | GPIO5 | Debe ser HIGH al arranque. Genera señal PWM al arrancar | ⚠️ |
CLK | GPIO6 | FLASH SPI | ❌ |
D0 | GPIO7 | FLASH SPI | ❌ |
D1 | GPIO8 | FLASH SPI | ❌ |
D2 | GPIO9 | FLASH SPI | ❌ |
D3 | GPIO10 | FLASH SPI | ❌ |
CMD | GPIO11 | FLASH SPI | ❌ |
IO12 | GPIO12, ADC2_CH5, TOUCH_CH5, MTDI | Debe ser LOW al arrancar | ⚠️ Debug JTAG |
IO13 | GPIO13, ADC2_CH4, TOUCH_CH4, MTCK | 🟢 Debug JTAG | |
IO14 | GPIO14, ADC2_CH6, TOUCH_CH6, MTMS | Genera señal PWM al arrancar | ⚠️ Debug JTAG |
IO15 | GPIO15, ADC2_CH3, TOUCH_CH3, MTDO | Debe ser HIGH al arrancar | ⚠️ Debug JTAG |
IO16 | GPIO16 | ✔ | |
IO17 | GPIO17 | ✔ | |
IO18 | GPIO18 | ✔ | |
IO19 | GPIO19 | ✔ | |
IO21 | GPIO21 | ✔ | |
IO22 | GPIO22 | ✔ | |
IO23 | GPIO23 | ✔ | |
IO25 | GPIO25, ADC1_CH8, DAC_1 | ✔ | |
IO26 | GPIO26, ADC2_CH9, DAC_2 | ✔ | |
IO27 | GPIO27, ADC2_CH7, TOUCH_CH7 | ✔ | |
IO32 | GPIO32, ADC1_CH4, TOUCH_CH9, XTAL_32K_P | ✔ | |
IO33 | GPIO33, ADC1_CH5, TOUCH_CH8, XTAL_32K_N | ✔ | |
IO34 | GPIO34, ADC1_CH6, VDET_1 | ⚠️ Solo entrada | |
IO35 | GPIO35, ADC1_CH7, VDET_2 | ⚠️ Solo entrada | |
VP | GPIO36, ADC1_CH0, S_VP | ⚠️ Solo entrada | |
VN | GPIO39, ADC1_CH3, S_VN | ⚠️ Solo entrada |
Preguntas Frecuentes
El ESP32 tiene dos núcleos de CPU (Dual Core Tensilica Xtensa LX6). ¿Cómo puedo aprovechar esta capacidad dual-core en mis proyectos y qué ventajas ofrece sobre un microcontrolador single-core?
La arquitectura dual-core del ESP32 es una de sus características más potentes. Puedes aprovecharla de varias maneras, principalmente utilizando el sistema operativo en tiempo real (RTOS) FreeRTOS, que es la base del framework ESP-IDF y también es accesible desde el entorno Arduino para ESP32:
- Tareas Dedicadas por Núcleo: Puedes asignar tareas específicas a cada núcleo. Por ejemplo:
- Núcleo 0 (PRO_CPU): Manejar tareas de protocolo de red (WiFi, Bluetooth) y otras tareas de sistema. Esto es a menudo manejado automáticamente por el framework.
- Núcleo 1 (APP_CPU): Dedicarlo completamente a la lógica de tu aplicación principal (leer sensores, controlar actuadores, ejecutar algoritmos).
- Paralelismo Real: A diferencia de un single-core que simula multitarea cambiando rápidamente entre tareas, un dual-core puede ejecutar dos tareas verdaderamente en paralelo. Esto es beneficioso para:
- Aplicaciones con Alta Carga de Red: Mantener una conexión WiFi o Bluetooth estable y responsiva mientras se realizan otras tareas intensivas.
- Procesamiento de Señales o Datos en Tiempo Real: Un núcleo puede dedicarse a la adquisición y procesamiento de datos de sensores rápidos mientras el otro maneja la comunicación o la interfaz de usuario.
- Mejorar la Responsividad: Tareas críticas en tiempo pueden ejecutarse en un núcleo sin ser interrumpidas por tareas menos prioritarias en el otro.
- Uso con FreeRTOS: En el entorno Arduino para ESP32, puedes crear «tareas» (tasks) de FreeRTOS y especific_AR_ en qué núcleo quieres que se ejecuten (
xTaskCreatePinnedToCore
). Esto te da un control granular sobre la asignación de recursos.
La ventaja principal sobre un single-core es la capacidad de manejar tareas complejas y concurrentes (especialmente aquellas que involucran red) de manera más eficiente y con mejor rendimiento en tiempo real.
¿Qué diferencias existen entre el Bluetooth Clásico (BR/EDR) y el Bluetooth Low Energy (BLE) que ofrece el ESP32, y para qué tipo de aplicaciones es cada uno más adecuado?
El ESP32 soporta ambos estándares Bluetooth, y cada uno tiene sus fortalezas:
- Bluetooth Clásico (BR – Basic Rate / EDR – Enhanced Data Rate):
- Características: Diseñado para un flujo de datos continuo y de mayor ancho de banda. Consume más energía que BLE.
- Perfiles Comunes: A2DP (Advanced Audio Distribution Profile) para streaming de audio estéreo, SPP (Serial Port Profile) para emular una conexión serie inalámbrica, HFP (Hands-Free Profile) para comunicación de voz.
- Aplicaciones Adecuadas:
- Streaming de música a altavoces o auriculares Bluetooth.
- Transferencia de archivos o datos a una velocidad moderada.
- Conexión a dispositivos que solo soportan Bluetooth Clásico (ej. algunos módulos GPS antiguos, impresoras serie Bluetooth).
- Bluetooth Low Energy (BLE / Bluetooth 4.x y 5.x):
- Características: Optimizado para un consumo de energía muy bajo y conexiones intermitentes de pequeñas cantidades de datos. Ideal para dispositivos alimentados por batería. Menor ancho de banda que el Clásico.
- Conceptos Clave: Periféricos (slaves) que anuncian datos y Centrales (masters) que se conectan para leer/escribir características (datos). Perfiles GATT (Generic Attribute Profile).
- Aplicaciones Adecuadas:
- Dispositivos Wearables (pulseras de fitness, smartwatches).
- Sensores IoT que envían datos periódicamente (temperatura, humedad, movimiento).
- Beacons para proximidad y localización en interiores.
- Controles remotos de bajo consumo.
- Dispositivos médicos portátiles.
El ESP32 te da la flexibilidad de elegir el tipo de Bluetooth que mejor se adapte a las necesidades de tu proyecto en términos de rendimiento de datos y consumo de energía.
El ESP32 tiene 18 pines ADC de 12 bits. ¿Qué implica una resolución de 12 bits y qué precauciones debo tomar al leer señales analógicas con el ESP32?
Una resolución de 12 bits para los Convertidores Analógico-Digitales (ADC) del ESP32 significa:
- Niveles de Cuantificación: El ADC puede dividir el rango de voltaje de entrada (generalmente 0V a 3.3V, o un rango configurable con atenuación interna) en 212 = 4096 niveles discretos. Esto es una mejora significativa sobre los ADC de 10 bits (1024 niveles) de Arduino UNO.
- Mayor Precisión en la Medición: Con más niveles, el ADC puede representar el voltaje analógico de entrada con mayor fidelidad. El «escalón» de voltaje más pequeño que puede detectar es (Rango de Voltaje de Entrada) / 4096. Por ejemplo, para un rango de 0-3.3V, la resolución es 3.3V / 4096 ≈ 0.8mV.
Precauciones al Leer Señales Analógicas con ESP32:
- Voltaje de Entrada Máximo: Los pines ADC del ESP32 son sensibles. NUNCA apliques un voltaje superior a 3.3V (o el VDD_SAR_ADC si es diferente) a un pin ADC, a menos que estés utilizando la atenuación interna y conozcas sus límites. Exceder este voltaje puede dañar el pin o el chip.
- Linealidad del ADC: Los ADCs del ESP32 son conocidos por tener algunas no linealidades en los extremos de su rango de medición (cerca de 0V y cerca del voltaje de referencia máximo). Para mediciones muy precisas, puede ser necesario calibrar el ADC o trabajar dentro de un rango más lineal (ej. 0.1V a 3.1V).
- Ruido: Los ADCs pueden ser susceptibles al ruido, especialmente el proveniente de la actividad WiFi. Es recomendable:
- Usar un buen filtrado en la alimentación del ESP32.
- Añadir un pequeño condensador (ej. 0.1µF) en el pin ADC cerca del ESP32 para filtrar ruido de alta frecuencia.
- Realizar múltiples lecturas y promediarlas para reducir el impacto del ruido.
- Impedancia de Fuente: La impedancia de la fuente de la señal analógica que estás midiendo debe ser relativamente baja (idealmente <10kΩ) para una conversión precisa y rápida.
- Atenuación: El ESP32 permite configurar diferentes niveles de atenuación para sus entradas ADC, lo que expande el rango de voltaje de entrada medible (ej. hasta ~1.1V, ~1.5V, ~2.0V, ~3.1V sin atenuación externa, dependiendo de la configuración). Asegúrate de seleccionar la atenuación correcta para tu señal.
- ADC2 y WiFi: Algunos pines ADC pertenecen al ADC2. Cuando el WiFi está activo, el ADC2 puede no estar disponible o sus lecturas pueden ser inestables. Para lecturas analógicas fiables mientras el WiFi está activo, es preferible usar los pines del ADC1.
¿Qué son los «sensores táctiles capacitivos» y los «sensores Hall» integrados en el ESP32 y cómo puedo utilizarlos en mis proyectos?
El ESP32 incluye estos sensores integrados que pueden ser muy útiles:
- Sensores Táctiles Capacitivos (TouchPads):
- Funcionamiento: Varios pines GPIO del ESP32 pueden configurarse como entradas táctiles capacitivas. Detectan cambios en la capacitancia cuando un objeto conductor (como un dedo) se acerca o toca el pad (que puede ser un simple trozo de metal o una traza en una PCB conectada al pin).
- Uso con ESP32: Puedes leer el valor del sensor táctil (que es inversamente proporcional a la capacitancia). Estableciendo un umbral, puedes detectar un «toque».
- Aplicaciones:
- Crear botones o interfaces de usuario táctiles sin necesidad de pulsadores mecánicos.
- Detección de proximidad simple.
- Activación de dispositivos al tocar una superficie.
- Sensor de Efecto Hall Integrado:
- Funcionamiento: Un sensor de efecto Hall detecta la presencia y la magnitud (y a veces la polaridad) de un campo magnético. Cuando un campo magnético perpendicular atraviesa el sensor, genera una diferencia de voltaje.
- Uso con ESP32: El ESP32 tiene un sensor Hall interno. Puedes leer su salida analógica para medir la intensidad del campo magnético cercano.
- Aplicaciones:
- Detección de la posición de un imán (ej. para un interruptor de lengüeta (reed switch) sin contacto, o para detectar la apertura/cierre de una puerta con un imán).
- Medición de velocidad de rotación si se coloca un imán en un eje giratorio.
- Detección de corriente (si se usa un núcleo magnético alrededor de un conductor).
El sensor Hall interno del ESP32 es de propósito general; para mediciones de campo magnético muy precisas o específicas, un sensor Hall externo podría ser necesario.
La placa utiliza el chip USB-Serial CP2102. ¿Qué implicaciones tiene esto para la programación y comunicación serie con el ESP32, y necesito instalar drivers?
El CP2102 de Silicon Labs es un chip conversor USB a UART (Universal Asynchronous Receiver/Transmitter) muy común en placas de desarrollo:
- Función: Actúa como un puente entre el puerto USB de tu computador y la interfaz UART serie del microcontrolador ESP32. Esto permite:
- Programación del ESP32: Cargar el firmware (tu sketch de Arduino o programa compilado) desde el PC al ESP32.
- Comunicación Serie: Establecer una comunicación serie bidireccional entre el ESP32 y el PC (ej. usando el Monitor Serie del Arduino IDE para enviar y recibir datos, depurar, etc.).
- Instalación de Drivers:
- Sí, generalmente necesitas instalar drivers específicos para el CP2102 en tu sistema operativo (Windows, macOS, Linux) para que reconozca correctamente la placa cuando la conectes por USB y le asigne un puerto COM virtual.
- Puedes descargar los drivers VCP (Virtual COM Port) más recientes desde el sitio web de Silicon Labs.
- Algunos sistemas operativos modernos pueden intentar instalar los drivers automáticamente, pero a menudo es más fiable instalar los oficiales del fabricante.
- Identificación del Puerto: Una vez instalados los drivers y conectada la placa, tu sistema operativo le asignará un número de puerto COM (ej. COM3 en Windows, /dev/ttyUSB0 en Linux, /dev/cu.SLAB_USBtoUART en macOS). Deberás seleccionar este puerto en tu entorno de desarrollo (como el Arduino IDE) para poder programar la placa y usar el monitor serie.
El CP2102 es un chip fiable y bien soportado, pero la instalación correcta de los drivers es un primer paso crucial.
¿Qué son los pines «EN» (Enable) y «BOOT» (a veces llamado IO0) en la placa ESP32 DevKit y cómo se utilizan durante el proceso de programación o reseteo?
Estos dos pines/botones son fundamentales para controlar el modo de operación y el proceso de arranque del ESP32:
- Pin/Botón EN (Enable / Reset):
- Este pin está conectado al pin CHIP_PU (Chip Power Up) del ESP32. Cuando este pin está en BAJO (LOW), el chip ESP32 está deshabilitado o en estado de reset. Cuando está en ALTO (HIGH), el chip está habilitado y funcionando.
- El botón «EN» en la placa DevKit generalmente conecta este pin a tierra cuando se presiona. Presionar y soltar el botón EN reinicia el ESP32.
- Pin/Botón BOOT (o IO0 – GPIO0):
- El estado del pin GPIO0 durante el arranque (justo después de un reset) determina en qué modo arranca el ESP32:
- GPIO0 en ALTO (HIGH) al arrancar: El ESP32 arranca en modo normal, ejecutando el programa que está cargado en su memoria Flash. Este es el modo de operación habitual.
- GPIO0 en BAJO (LOW) al arrancar: El ESP32 arranca en modo Bootloader (o modo de descarga/flasheo). En este modo, el ESP32 espera recibir un nuevo firmware a través de su interfaz UART (usualmente UART0, conectada al chip USB-Serial).
- El botón «BOOT» en la placa DevKit generalmente conecta el GPIO0 a tierra cuando se presiona.
- El estado del pin GPIO0 durante el arranque (justo después de un reset) determina en qué modo arranca el ESP32:
- Proceso de Programación Manual (si la carga automática falla):
- Mantén presionado el botón «BOOT».
- Presiona y suelta el botón «EN» (reset) mientras sigues manteniendo «BOOT».
- Suelta el botón «BOOT».
- Ahora el ESP32 debería estar en modo bootloader, listo para recibir el nuevo firmware desde el IDE.
Muchos entornos de desarrollo y placas modernas intentan manejar esta secuencia automáticamente usando las líneas DTR y RTS del conversor USB-Serial, pero a veces es necesario hacerlo manualmente.
¿Cuáles son las principales consideraciones de consumo de energía al diseñar proyectos IoT con ESP32 y cómo puedo optimizarlo usando sus modos de bajo consumo?
El ESP32 es potente, pero el WiFi y el Bluetooth pueden consumir bastante energía. Para proyectos IoT alimentados por batería, la optimización es clave:
- Consumo en Modo Activo: Con WiFi y/o Bluetooth activos y ambos núcleos funcionando, el ESP32 puede consumir entre 50mA y 250mA o más, dependiendo de la actividad de la radio y la CPU.
- Modos de Bajo Consumo (Deep Sleep): El ESP32 ofrece varios modos de «sueño» para reducir drásticamente el consumo:
- Modo Modem-Sleep: La CPU está operativa, pero las radios WiFi/Bluetooth se apagan o entran en un estado de bajo consumo cuando no están transmitiendo. Reduce el consumo pero mantiene la CPU activa.
- Modo Light-Sleep: La CPU principal se detiene, pero la memoria RTC y los periféricos RTC permanecen activos. La radio puede despertarse periódicamente. El consumo es significativamente menor.
- Modo Deep-Sleep: Es el modo de más bajo consumo (puede llegar a unos pocos microamperios, µA). La CPU principal, la mayoría de la RAM y los periféricos digitales se apagan. Solo el controlador RTC y la memoria ULP (Ultra Low Power co-processor) permanecen alimentados. El ESP32 puede despertarse de Deep-Sleep por:
- Un temporizador RTC.
- Una interrupción externa en un pin RTC GPIO.
- El co-procesador ULP.
- Sensores táctiles.
- Estrategias de Optimización:
- Usar Deep-Sleep Extensivamente: Para sensores que solo necesitan enviar datos periódicamente, pon el ESP32 en Deep-Sleep la mayor parte del tiempo. Despiértalo, toma la lectura, transmite los datos y vuelve a dormir.
- Minimizar el Tiempo de Actividad de WiFi/Bluetooth: Conéctate a la red solo cuando sea necesario, transmite los datos rápidamente y desconéctate.
- Apagar Periféricos No Usados: Deshabilita los periféricos que no estés utilizando.
- Optimizar el Código: Escribe código eficiente que complete sus tareas rápidamente.
- Seleccionar Componentes de Bajo Consumo: Elige sensores y otros componentes que también tengan modos de bajo consumo.
- Gestión de la CPU: Ajustar la frecuencia de la CPU (más baja cuando no se necesita máximo rendimiento) puede ayudar.
Dominar los modos de bajo consumo es esencial para lograr una larga duración de batería en proyectos IoT con ESP32.
La descripción menciona «Antena en PCB». ¿Es esto suficiente para la mayoría de las aplicaciones WiFi/Bluetooth o cuándo debería considerar una antena externa para el ESP32-WROOM-32?
El módulo ESP-WROOM-32, que es el corazón de esta placa DevKit, viene con una antena integrada en la propia PCB del módulo (antena tipo «meandro» o «inverted-F»).
- Suficiencia para la Mayoría de Aplicaciones: Para la mayoría de las aplicaciones domésticas, de hobby, o prototipado en entornos con buena cobertura WiFi/Bluetooth (ej. dentro de una casa u oficina, con el router o dispositivo BLE a una distancia razonable de unos pocos metros a unas pocas decenas de metros en línea de vista), la antena en PCB es generalmente suficiente y ofrece un buen rendimiento. Es compacta y no requiere componentes externos.
- Cuándo Considerar una Antena Externa: Podrías necesitar o beneficiarte de una antena externa (para lo cual necesitarías un módulo ESP32 que tenga un conector U.FL/IPEX para antena externa, que no todos los ESP-WROOM-32 estándar lo traen, aunque algunas variantes sí) en las siguientes situaciones:
- Mayor Alcance Requerido: Si necesitas comunicación WiFi/Bluetooth a distancias mayores o en entornos con muchas obstrucciones (paredes gruesas, interferencia metálica).
- Carcasas Metálicas: Si el ESP32 va a estar dentro de una carcasa metálica, la antena en PCB se verá fuertemente atenuada. Una antena externa montada fuera de la carcasa es esencial en este caso.
- Optimización de la Radiación: Si necesitas dirigir la señal de radio en una dirección particular o si la orientación de la placa ESP32 con su antena PCB no es óptima para la comunicación.
- Entornos con Alta Interferencia RF: Una antena externa bien elegida y posicionada podría ofrecer mejor inmunidad al ruido o un patrón de radiación más favorable.
Para este DevKit V1 con ESP-WROOM-32 estándar, la antena en PCB está diseñada para un buen rendimiento general. Si necesitas un alcance extremo o tienes condiciones de RF muy desafiantes, investiga módulos ESP32 que soporten explícitamente antenas externas.
Roberto González –
Excelente el detalle, leí que es compatible con arduino, se le pueden poner shield?
Mechatronicstore –
Hola Roberto, el ESP32 si es compatible con Arduino, de hecho fijate en el pinout que trae pines de comunicación dedicados para Arduino. Además es compatible para programarse desde el IDE de Arduino. Conr especto a si es commpatible con las shield de Arduino, no se puede. Debido a que no calzarían los pines. Hay una shield para Node MCU que si le calzaría pero no es compatible con este módulo. Saludos!
Pedro Jofré –
Gracias por todo el detalle de como programar la esp32, hace tiempo leí sobre ella pero me costó entender el funcionamiento y como programarlo con la ide de Arduino, gracias a esta descripción pude hacerlo funcionar, muchas gracias.
Johan Meza –
Muy buen producto, me gustaría comprar 5 más :c
Mechatronicstore –
Estimado gracias por su comentario. Ya volvió a estar disponible. Saludos.