🛠 Conecta un RP2040 a la red con UEXT-CH390 y ESPHome
Objetivos
Este tutorial tiene como objetivo transformar una placa Raspberry Pi Pico (RP2040) en un nodo IoT cableado confiable. Al usar el módulo UEXT-CH390, evitamos las limitaciones del Wi-Fi para lograr una conexión Ethernet estable, crucial para sistemas de domótica críticos. La meta es integrar este nodo en Home Assistant a través de ESPHome, aprovechando las funciones nativas de DHCP y OTA.
Hardware Necesario
- Una placa Raspberry Pi Pico o Pico 2.
- El módulo Olimex UEXT-CH390 (controlador WCH CH390).
- Un cable Ethernet RJ45 y un router/switch activo.
- Un cable USB-C para alimentación y programación.
- Un ordenador con ESPHome instalado (vía pip o Docker).
Pasos
- Conexión de Hardware: Inserte el módulo UEXT-CH390 en el conector UEXT de la Pico. Asegúrese de que los pines estén alineados. El módulo se alimenta a 3.3V a través del bus UEXT. No se requiere soldadura si usa conectores dedicados.
- Configuración de ESPHome: Cree un nuevo archivo YAML en su editor ESPHome. Defina la plataforma como
rp2040. Agregue el componentespiusando los pines predeterminados de la Pico (GP2, GP3, GP4, GP5 para MOSI, MISO, SCLK, CS respectivamente, verifique según su esquema). - Declaración del CH390: En la sección
ethernet, especifique el chipsetCH390. ESPHome maneja automáticamente la inicialización del MAC y PHY integrados. - Activación de Servicios: Habilite
apipara comunicación con Home Assistant,otapara actualizaciones inalámbricas yweb_serverpara acceso local. Configuredhcppara asignación automática de IP. - Compilación y Flash: Compile el firmware. Conecte la Pico en modo bootloader (mantenga BOOTSEL mientras conecta USB). Arrastre el archivo
.uf2generado en la unidad de almacenamiento masivo USB.
Verificación
Una vez reiniciada la Pico, conecte el cable Ethernet. Verifique en la interfaz de su router que un nuevo dispositivo haya obtenido una dirección IP. Abra la dirección IP en un navegador web para ver la interfaz local de ESPHome. En Home Assistant, el nodo debe aparecer automáticamente mediante descubrimiento mDNS. Pruebe la latencia con un comando simple (ej: lectura de un sensor virtual) para confirmar la estabilidad del enlace cableado.
Para Ir Más Lejos
Explore el uso del búfer SRAM de 16 KB del CH390 para manejar flujos de datos más pesados o actualizaciones OTA rápidas. También puede combinar este módulo con otros sensores en el bus I2C o SPI restante para crear una estación meteorológica cableada de alta frecuencia.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
esp32-ch390-lwip-station.inoC++rp2040-pico-ch390-micropython.pyPythonesp32-ch390-udp-sensor-gateway.inoC++esp32-ch390-web-server-local.inoC++rp2040-ch390-iot-home-assistant.inoYAMLrp2040-lwip-ethernet-ping-6.inoC/C++ (Raspberry Pi Pico SDK)