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
FPGAs

Las FPGAs (Field Programmable Gate Arrays) son dispositivos lógicos reconfigurables que permiten implementar hardware personalizado mediante lenguajes HDL. Ofrecen paralelismo masivo y tiempos deterministas que superan a los microcontroladores convencionales en tareas específicas. Arquitectura básica Bloques lógicos configurables (CLB): contienen LUTs, flip-flops y multiplexores. Red de interconexión programable: conecta LUTs y bloques especializados. Bloques de memoria (BRAM) y UltraRAM: almacenamiento de baja latencia. DSP slices: multiplicadores y acumuladores optimizados. I/O programables: soportan estándares LVDS, LVCMOS, SerDes, etc. Flujo de diseño Descripción HDL (VHDL, Verilog, SystemVerilog) o herramientas de alto nivel (HLS, OpenCL). Sintetizado: convierte el HDL en una red lógica. Implementación (place & route): asigna recursos físicos y rutas de interconexión. Generación de bitstream: archivo que configura la FPGA. Programación mediante JTAG, SPI flash o procesadores integrados. Familias populares Fabricante Serie Rasgos Xilinx/AMD Artix-7, Kintex-7, Zynq Buena relación costo/rendimiento, SoC con ARM Cortex-A9. Intel/Altera Cyclone V, MAX 10, Arria Opciones desde bajo costo hasta alto desempeño. Lattice iCE40, ECP5, Nexus Bajo consumo, ideales para IoT y dispositivos portátiles. Gowin LittleBee, Arora Alternativa económica con herramientas accesibles. Aplicaciones Procesamiento de señales (radar, SDR, visión por computadora). Puentes de comunicación (PCIe, Ethernet, protocolos personalizados). Control industrial con tiempos deterministas. Prototipado de ASIC y emulación de hardware. Ecosistema de herramientas Vivado / Vitis (Xilinx), Quartus Prime (Intel), Radiant / Diamond (Lattice). Flujos open source: Yosys + nextpnr, SymbiFlow, OpenFPGA. Lenguajes de alto nivel: Migen, nMigen, Chisel, SpinalHDL. Consejos para principiantes Empieza con placas accesibles (iCEstick, DE0-Nano, Arty A7). Practica con diseños simples: contadores, PWM, UART. Usa simulación (GHDL, ModelSim) antes de sintetizar para atrapar bugs. Gestiona los constraints de tiempo y pines en archivos .xdc o .sdc. Documenta versiones de herramientas; pequeñas diferencias pueden cambiar resultados. Con esta base podrás adentrarte en el mundo de las FPGAs y escoger la plataforma adecuada para tus proyectos de diseño digital.