pico-usb-wifi es un proyecto de firmware de código abierto que convierte la Raspberry Pi Pico W en un adaptador WiFi USB sin controladores, compatible con Windows, Linux, macOS y cualquier sistema operativo con soporte USB CDC-NCM.

El chip Infineon CYW43439 que integra esta placa no puede usarse directamente como puente USB a WiFi. En su lugar, el firmware implementa un puente transparente de capa 2 entre el módulo inalámbrico de la Pico W y la interfaz USB. En la práctica funciona como una pasarela Ethernet a WiFi que expone una conexión Ethernet a través de USB (el llamado modo USB gadget) para enrutar los paquetes WiFi de la red.

¿Qué ofrece el firmware pico-usb-wifi?

  • Puente transparente de capa 2 entre las interfaces inalámbrica y USB de la Pico W
  • Se expone como dispositivo USB CDC-NCM
  • IPv4 e IPv6 sin NAT, sin subred privada y sin configurar reenvío de puertos
  • Consolas de gestión y depuración fuera de banda por serial CDC-ACM
  • Autenticación WPA2-PSK y WPA3-SAE, además de redes abiertas
  • Rendimiento: 4,75 Mbit/s promedio, limitado sobre todo por la interfaz USB 1.1 de 12 Mbps
Arquitectura de pico-usb-wifi
Arquitectura de pico-usb-wifi
Adaptador WiFi USB con Raspberry Pi Pico W
Adaptador WiFi USB con Raspberry Pi Pico W

¿Para qué sirve en la práctica?

Un dongle WiFi USB de gama baja cuesta entre 2 y 3 dólares (unos 1.900 a 2.800 pesos chilenos), así que esta solución no compite ni en precio ni en velocidad. Su utilidad real es de emergencia: cuando necesitas conectividad WiFi y tienes una Raspberry Pi Pico W de repuesto a mano. La placa original ronda los 6 dólares (cerca de 5.600 pesos), de modo que el atractivo está en reutilizar hardware que ya tienes, no en ahorrar dinero.

Según el desarrollador (白一百, baiyibai), es poco probable mejorar de forma significativa el rendimiento sobre el puerto USB nativo, aunque aprovechar las E/S programables del RP2040 podría ser una vía, tomando como punto de partida el proyecto Pico-100BASE-TX.

Configuración por consola

Las credenciales WiFi y otros parámetros se configuran a través de la consola de gestión que aparece en el puerto /dev/ttyACM0. El firmware escanea las redes disponibles, permite unirse a una, fijar la contraseña y guardar el perfil en la memoria flash. Además del puerto de gestión, /dev/ttyACM1 queda reservado para depuración.

Aunque está diseñado para la placa Pico W, también podría funcionar en la Pico 2 W recompilando el firmware para esa variante (por confirmar).

Un proyecto construido con asistencia de IA

Un detalle llamativo: el proyecto se desarrolló con Claude Code, con cerca de un millón de tokens consumidos según su autor. El código fuente (en C, basado en el PicoSDK), las explicaciones de funcionamiento y las instrucciones para compilar el firmware están publicadas en GitLab. Como alternativa, se puede descargar e instalar directamente el binario pico-usb-wifi.uf2 en la placa. El hallazgo llegó a la comunidad maker vía Adafruit.