Hero Image
Cómo elegir el módulo ESP32 ideal para tu PCB

Cómo elegir el módulo ESP32 ideal para tu PCB La familia ESP32 es estándar en IoT por costo, Wi-Fi/BLE y ecosistema. Al pasar de prototipo a producto, la elección del módulo impacta RF, consumo, certificación y BOM. Esta guía resume criterios técnicos, regulatorios y logísticos para seleccionar con confianza. 1) Define requisitos del producto Energía y consumo. ¿Batería o línea? Filtra por deep sleep (≈5 µA en C3 hasta >20 µA en S3) y por picos de TX (500–700 mA). Conectividad. Además de Wi-Fi 2.4 GHz, hay BLE 5.x (C3/S3), 802.15.4 para Thread/Matter (C6), e incluso variantes sin Wi-Fi (H2). Elige primero la familia por protocolo. Memoria y periféricos. TLS pesado, UI, voz/visión → PSRAM + más flash (p.ej., WROVER, S3 8–16 MB). Sensores simples → 2–4 MB. Entorno. Rango de temperatura, blindaje metálico y robustez EMI (p.ej., WROOM-32E/UE). Verifica versiones industriales. 2) Elige la familia ESP32 Familia CPU Radios Ventajas Casos típicos ESP32 (WROOM/WROVER) Xtensa LX6 Wi-Fi b/g/n, BT Classic + LE Ecosistema maduro, opciones con PSRAM Gateways, audio, TFT ESP32-S2/S3 Xtensa (S3 con SIMD) Wi-Fi (S3: + BLE) USB OTG, aceleraciones para IA HID, cámaras/LCD, edge-AI ESP32-C2/C3/C6 RISC-V C3: Wi-Fi + BLE; C6: + 802.15.4 Bajo consumo, Matter/Thread Batería, domótica ESP32-H2 RISC-V BLE + 802.15.4 Ultra bajo consumo, sin Wi-Fi Zigbee/Thread con pila Primero familia por protocolo/consumo; luego la variante.

Hero Image
Controlar un LED con ESP32 y MQTT

MQTT es un protocolo ligero de mensajería ideal para IoT. Con un ESP32 y un broker local o en un VPS puedes controlar actuadores desde cualquier lugar del mundo. Preparar el broker Opción local (Mosquitto) sudo apt update sudo apt install mosquitto mosquitto-clients sudo systemctl enable --now mosquitto Opción VPS Contrata un VPS ligero (1 vCPU, 1 GB RAM). Instala Mosquitto y configura autenticación básica en /etc/mosquitto/conf.d/seguro.conf: allow_anonymous false password_file /etc/mosquitto/passwd listener 8883 cafile /etc/letsencrypt/live/tu-dominio/fullchain.pem keyfile /etc/letsencrypt/live/tu-dominio/privkey.pem certfile /etc/letsencrypt/live/tu-dominio/fullchain.pem Genera certificados TLS con Let’s Encrypt y crea usuarios con mosquitto_passwd. Firmware ESP32 (Arduino core) #include <WiFi.h> #include <PubSubClient.h> const char* ssid = "TuRed"; const char* password = "TuClave"; const char* mqtt_server = "broker.tudominio.com"; const int mqtt_port = 8883; WiFiClientSecure espClient; PubSubClient client(espClient); const int ledPin = 2; void callback(char* topic, byte* payload, unsigned int length) { String mensaje; for (unsigned int i = 0; i < length; i++) mensaje += (char)payload[i]; digitalWrite(ledPin, mensaje == "ON" ? HIGH : LOW); } void reconnect() { while (!client.connected()) { if (client.connect("esp32-led", "usuario", "password")) { client.subscribe("casa/sala/led"); } else { delay(2000); } } } void setup() { pinMode(ledPin, OUTPUT); Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); } espClient.setCACert("-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n"); client.setServer(mqtt_server, mqtt_port); client.setCallback(callback); } void loop() { if (!client.connected()) reconnect(); client.loop(); } Para conexiones sin TLS ajusta el puerto 1883 y elimina setCACert, pero prioriza seguridad en despliegues reales.

Hero Image
Elegir la ESP32 adecuada

La familia ESP32 de Espressif incluye docenas de variantes con diferentes radios, memoria y encapsulados. Escoger el módulo correcto evita limitaciones de memoria, consumo excesivo o falta de certificaciones inalámbricas. Criterios de selección Conectividad inalámbrica. ¿Necesitas Wi-Fi 2,4 GHz, Bluetooth LE, Classic o incluso 802.15.4? Memoria y almacenamiento. Flash integrada (4–16 MB), PSRAM opcional para buffers gráficos o voz. GPIO disponibles. Algunos módulos comparten pines con la antena o el cristal, reduciendo los I/O libres. Certificaciones. Para productos finales busca módulos con FCC/CE y antena integrada. Consumo energético. Evalúa modos de suspensión, corriente en deep sleep y voltaje operativo. Variantes populares Módulo CPU RAM/Flash Radios Características clave ESP32-WROOM-32 Xtensa LX6 dual a 240 MHz 520 KB + 4 MB flash Wi-Fi + BT Classic/LE DevkitC, amplio soporte, antena PCB. ESP32-WROVER Xtensa LX6 dual 520 KB + 4 MB flash + 8 MB PSRAM Wi-Fi + BT Ideal para gráficos, cámaras o SSL pesado. ESP32-C3 RISC-V single 160 MHz 400 KB + 4 MB flash Wi-Fi + BT LE 5 Bajo consumo, pin-to-pin con ESP8266. ESP32-S3 Xtensa LX7 dual 240 MHz 512 KB + 8 MB flash/PSRAM Wi-Fi + BT LE 5 Vector instructions para IA, USB OTG. ESP32-C6 RISC-V single 160 MHz 512 KB + 4 MB flash Wi-Fi 6 + BT LE 5 + 802.15.4 Thread/Matter listo, eficiente. Devkits recomendados ESP32-DevKitC: Referencia básica para WROOM. Incluye convertidor USB-UART y fácil acceso a pines. ESP32-S3-DevKitC-1: Para proyectos de visión gracias a USB nativo y soporte para cámaras. ESP32-C3-DevKitM-1: Ideal para wearables y sensores de baja potencia. LilyGO T-Display / T-Embed: Añaden pantalla IPS, ranura microSD y batería LiPo integrada. Consejos prácticos Define primero la pila de software. ESP-IDF, Arduino Core, MicroPython o circuitos con Matter pueden requerir memoria adicional. Revisa el pinout oficial. Algunos GPIO no toleran 5 V o están reservados para arranque (GPIO0, GPIO2, GPIO15). Planea la antena. Respeta el keep-out de la PCB o el conector U.FL para no degradar la potencia. Aprovecha los modos de bajo consumo. Configura RTC, ULP y wake-up por GPIO o temporizador para aplicaciones alimentadas por batería. Certifica tu producto. Usa módulos pre-certificados y documenta las pruebas de radiofrecuencia. Con esta matriz podrás elegir el módulo ESP32 que mejor se ajuste a tu presupuesto, consumo y requisitos de conectividad.