⏱️ Lectura: 13 min

Un desarrollador conocido como 白一百 (baiyibai) publicó el 21 de junio de 2026 pico-usb-wifi, un firmware de código abierto que convierte una Raspberry Pi Pico W de unos seis dólares en un adaptador WiFi USB sin drivers. La placa se conecta por USB, se enumera como un dispositivo de red estándar y puentea el tráfico entre tu red inalámbrica y la computadora sin instalar absolutamente nada.

📑 En este artículo
  1. TL;DR
  2. Qué pasó: un adaptador WiFi USB que cabe en un llavero
  3. Cómo funciona: un bridge de capa 2 y una sola MAC
  4. CDC-NCM: por qué no necesita drivers
  5. Contexto: de PicoPiFi a pico-usb-wifi
  6. Datos y cifras: rendimiento, precio y límites
  7. Cómo compilarlo y flashearlo
  8. Impacto y análisis
  9. Qué sigue
  10. Preguntas frecuentes
    1. ¿Qué hardware necesito para usar pico-usb-wifi?
    2. ¿De verdad funciona sin instalar drivers?
    3. ¿Qué velocidad alcanza?
    4. ¿En qué se diferencia de PicoPiFi?
    5. ¿Soporta IPv6 y redes seguras?
    6. ¿Cómo configuro la red WiFi?
  11. Referencias

Para quien necesita WiFi en una máquina sin tarjeta inalámbrica —un PC de escritorio, un servidor headless o una Raspberry Pi corriendo Windows ARM— la propuesta es directa: hardware barato, código bajo licencia MIT y cero configuración de red. Acá explicamos cómo funciona, qué lo diferencia de proyectos previos y cómo compilarlo en Windows, macOS y Linux.

TL;DR

  • pico-usb-wifi convierte una Raspberry Pi Pico W de ~$6 en un adaptador WiFi USB sin drivers; se publicó el 21 de junio de 2026.
  • Se enumera como dispositivo USB CDC-NCM y usa los drivers estándar ya presentes en Windows, macOS y Linux, sin instalar nada.
  • Hace bridging de capa 2: reenvía tramas Ethernet entre el WiFi y el USB sin NAT, sin subredes privadas ni port-forwarding.
  • El host adopta la MAC de la estación WiFi (identidad única), sorteando el límite de que un cliente WiFi no puede puentear varias MAC.
  • Soporta IPv4 e IPv6, autenticación WPA2-PSK y alcanza unos 4,75 Mbit/s de rendimiento.
  • Se configura por consola serie CDC-ACM (/dev/ttyACM0) con comandos SET ssid, SET pass y SAVE; las credenciales persisten entre flasheos.
  • Licencia MIT; se compila con pico-sdk 2.2.0 y arm-none-eabi-gcc, y se flashea copiando el .uf2 al volumen RPI-RP2.

Qué pasó: un adaptador WiFi USB que cabe en un llavero

El microcontrolador Raspberry Pi Pico W cuesta alrededor de seis dólares e incluye un chip inalámbrico (el Infineon CYW43439) conectado por SPI. Hasta ahora ese WiFi servía sobre todo para que el propio microcontrolador hablara con la red en proyectos de IoT. Lo que hace pico-usb-wifi es darle la vuelta a la idea: en lugar de que la Pico use el WiFi para sí misma, lo presta a la computadora a la que está enchufada por USB. El resultado es un adaptador WiFi USB completo, construido con una placa que cualquiera puede comprar en una tienda de electrónica.

La gracia no está solo en el precio, sino en que es driverless: no hay que instalar software propietario, ni firmware adicional, ni paquetes en el sistema operativo. Cuando conectás la Pico W flasheada con este firmware, Windows, macOS o Linux la reconocen como una tarjeta de red más, igual que reconocerían un adaptador Ethernet USB comercial. Eso elimina el dolor de cabeza clásico de los dongles WiFi baratos: el chipset sin soporte, el driver que solo existe para una versión vieja del kernel, o el blob binario que nadie audita.

Raspberry Pi Pico W conectada por USB funcionando como adaptador WiFi
La Pico W se enchufa por USB y aparece como tarjeta de red estándar.

Cómo funciona: un bridge de capa 2 y una sola MAC

La clave técnica del proyecto es que opera en la capa 2 del modelo de red, la de las tramas Ethernet, y no en la capa 3 (IP). El firmware no corre una pila TCP/IP propia: se limita a reenviar tramas Ethernet textualmente entre dos interfaces, la del WiFi y la del USB. Es, en esencia, un puente transparente. Tu computadora cree que tiene una conexión cableada directa a la red, y el router de tu casa cree que está hablando con un cliente WiFi normal.

Acá aparece el problema que el proyecto resuelve con elegancia. Un cliente WiFi (una estación, en jerga 802.11) normalmente no puede puentear varias direcciones MAC a la vez: el modo que lo permitiría —las tramas de cuatro direcciones, o WDS— no está habilitado en la mayoría de los puntos de acceso domésticos. Si la Pico tuviera una MAC para su WiFi y la computadora otra distinta para su USB, el router vería dos identidades detrás de una sola estación y descartaría el tráfico. La solución de pico-usb-wifi es unificar ambas bajo una única identidad MAC: la interfaz USB del host adopta la dirección MAC de la estación WiFi de la Pico. Para la red existe un solo dispositivo, y por eso no hace falta NAT, ni subredes privadas, ni reenvío de puertos.

graph LR
  W["Router WiFi"] -->|"tramas 802.11"| P["Pico W"]
  P -->|"bridge capa 2"| U["USB CDC-NCM"]
  U -->|"misma MAC"| H["Host (PC o servidor)"]

Como no hay traducción de direcciones, tu computadora recibe una IP directamente del router, tanto en IPv4 como en IPv6. Eso significa que es accesible desde la red local sin trucos, algo que los adaptadores que hacen NAT no permiten. La concurrencia interna se maneja con cuidado: el servicio del WiFi corre en segundo plano mientras las operaciones de USB quedan confinadas al bucle principal, y un anillo de transmisión diferido evita los bloqueos. El firmware además habilita la recepción de multicast automáticamente y filtra las tramas que la propia placa reflejaría sobre sí misma.

💭 Clave: al no correr una pila IP propia, la Pico no es un router en miniatura sino un cable invisible. Esa decisión de diseño es lo que elimina la configuración de red y hace que el dispositivo sea verdaderamente transparente.

CDC-NCM: por qué no necesita drivers

El otro pilar del proyecto es el protocolo con el que la Pico se presenta ante el sistema operativo. pico-usb-wifi se enumera como un dispositivo USB CDC-NCM (Communications Device Class — Network Control Model), un estándar de la USB Implementers Forum para transportar tramas Ethernet sobre USB. Windows 10/11, macOS y las distribuciones modernas de Linux ya traen el driver CDC-NCM de fábrica, así que el reconocimiento es inmediato y multiplataforma.

Esto marca una diferencia importante con el proyecto que inspiró buena parte de esta categoría, PicoPiFi, de Sidd Kishan. PicoPiFi usa RNDIS, una especificación de Microsoft que funciona muy bien en Windows —fue pensada justamente para llevar WiFi a equipos Windows on ARM como la Raspberry Pi 4— pero que en Linux y macOS tiene un soporte más irregular y, en el caso de Windows, históricamente arrastra problemas de seguridad por la complejidad del driver. Al elegir CDC-NCM, pico-usb-wifi apuesta por el estándar abierto y por una compatibilidad pareja en los tres sistemas operativos mayoritarios.

📌 Nota: CDC-NCM es el sucesor de CDC-ECM y agrupa varias tramas Ethernet en un mismo bloque USB para mejorar el rendimiento. Es el mismo mecanismo que usan muchos módems y teléfonos al compartir internet por cable.

Contexto: de PicoPiFi a pico-usb-wifi

La idea de convertir una Pico W en un puente WiFi-a-USB no nació hoy. PicoPiFi popularizó el concepto con el objetivo concreto de habilitar WiFi en plataformas ARM64 donde los drivers escasean: Windows on Raspberry Pi, equipos con SoC de Qualcomm, Nvidia o Samsung. Su enfoque RNDIS reportaba un enlace USB de hasta 12 Mbps y conexiones WiFi de hasta 54 Mbps desde el punto de acceso hacia la placa.

pico-usb-wifi se ubica en ese mismo linaje pero con decisiones de ingeniería distintas. Donde PicoPiFi prioriza Windows on ARM con RNDIS, el nuevo proyecto prioriza el estándar y la portabilidad con CDC-NCM y el bridging de capa 2. Ninguno reemplaza al otro: representan dos filosofías sobre cómo resolver el mismo problema —dar conectividad inalámbrica a un equipo que no la tiene— usando el hardware más barato disponible. Que ambos sean de código abierto permite además auditar exactamente qué hace el firmware, algo impensable con la mayoría de los dongles comerciales.

Placa Raspberry Pi Pico W con su chip inalambrico sobre un escritorio de desarrollo
La Pico W incluye el chip inalámbrico CYW43439 conectado por SPI.

Datos y cifras: rendimiento, precio y límites

Conviene ser honestos con las expectativas. El rendimiento ronda los 4,75 Mbit/s, una cifra modesta que está lejos del WiFi de una laptop moderna. El cuello de botella es doble: el chip CYW43439 va conectado por SPI a un máximo teórico limitado, y el RP2040 es un microcontrolador de dos núcleos Cortex-M0+ a 133 MHz, no un procesador de red dedicado. Para navegar, administrar un servidor por SSH, sincronizar archivos o mantener un equipo headless online, esa velocidad alcanza de sobra. Para descargar a máxima velocidad o ver streaming en 4K, no.

  • Precio del hardware — una Raspberry Pi Pico W cuesta alrededor de 6 dólares; la Pico 2 W, algo más.
  • Rendimiento — aproximadamente 4,75 Mbit/s en condiciones reales.
  • Seguridad inalámbrica — autenticación WPA2-PSK (redes domésticas con contraseña).
  • Protocolos de red — IPv4 e IPv6, ambos sin NAT.
  • Resiliencia — un watchdog por hardware reinicia el firmware si se cuelga.

Las limitaciones actuales son claras: no hay soporte documentado para WPA3 ni para redes empresariales (WPA2-Enterprise con 802.1X), y la velocidad lo descarta como reemplazo de un adaptador de gama alta. A cambio, ofrece algo que esos adaptadores no dan: transparencia total del código, costo marginal y compatibilidad inmediata sin instalar nada.

Cómo compilarlo y flashearlo

El proyecto se construye con el pico-sdk 2.2.0 y CMake. Necesitás el toolchain de ARM (arm-none-eabi-gcc), CMake, un generador como Ninja o Make, y Python 3. El flujo es el habitual del ecosistema Pico. Acá va el procedimiento para los tres sistemas operativos:

# --- Linux (Debian/Ubuntu) ---
sudo apt install cmake gcc-arm-none-eabi build-essential python3 ninja-build
git clone -b 2.2.0 https://github.com/raspberrypi/pico-sdk.git --recurse-submodules
export PICO_SDK_PATH=$PWD/pico-sdk
git clone https://gitlab.com/baiyibai/pico-usb-wifi.git
cd pico-usb-wifi
cmake -B build -G Ninja && cmake --build build

# --- macOS (Homebrew) ---
brew install cmake ninja python3
brew install --cask gcc-arm-embedded
git clone -b 2.2.0 https://github.com/raspberrypi/pico-sdk.git --recurse-submodules
export PICO_SDK_PATH=$PWD/pico-sdk
git clone https://gitlab.com/baiyibai/pico-usb-wifi.git
cd pico-usb-wifi && cmake -B build -G Ninja && cmake --build build

# --- Windows (PowerShell, con Ninja y ARM GNU Toolchain instalados) ---
git clone -b 2.2.0 https://github.com/raspberrypi/pico-sdk.git --recurse-submodules
$env:PICO_SDK_PATH = "$PWD\pico-sdk"
git clone https://gitlab.com/baiyibai/pico-usb-wifi.git
cd pico-usb-wifi
cmake -B build -G Ninja
cmake --build build

El resultado es un archivo pico-usb-wifi.uf2. Para flashearlo, mantené presionado el botón BOOTSEL mientras conectás la Pico W por USB: aparecerá como una unidad de almacenamiento llamada RPI-RP2. Copiá el .uf2 ahí y la placa se reinicia con el nuevo firmware. La configuración del WiFi se hace después por una consola serie de gestión (CDC-ACM), normalmente en /dev/ttyACM0 en Linux o el puerto COM correspondiente en Windows.

# Provisionar la red por la consola de gestion (ej. con minicom o screen)
SET ssid MiRedWiFi
SET pass MiContrasenaSecreta
SET country SV
SAVE
💡 Tip: las credenciales se guardan en la memoria flash de la placa y persisten entre actualizaciones de firmware. Podés re-flashear sin volver a configurar el WiFi, y el comando RESTORE deja todo en limpio si querés empezar de cero.

Impacto y análisis

Más allá del truco simpático, pico-usb-wifi señala una tendencia: usar microcontroladores genéricos y baratos para reemplazar periféricos que históricamente requerían silicio dedicado y drivers cerrados. Un adaptador WiFi USB de código abierto, auditable línea por línea, tiene valor real en contextos donde la confianza importa: laboratorios, equipos sensibles, hardware antiguo sin soporte de drivers, o simplemente para aprender cómo funciona el networking de bajo nivel.

Para la comunidad de desarrolladores en LATAM, donde el hardware importado es caro y conseguir un dongle WiFi con buen soporte en Linux puede ser una lotería, tener una opción de seis dólares construida con una placa fácil de conseguir es genuinamente útil. Y como todo el stack está expuesto —desde el bridging de capa 2 hasta la enumeración USB— el proyecto funciona también como material didáctico: es uno de los ejemplos más limpios para entender qué pasa realmente cuando un dispositivo de red se conecta a tu computadora.

Qué sigue

Al ser un proyecto recién publicado y bajo licencia MIT, su evolución dependerá de la comunidad. Los frentes naturales de mejora son el soporte de WPA3, mayor rendimiento aprovechando la Pico 2 W (con su RP2350 más potente) y herramientas de configuración más amigables que la consola serie. Si seguís el espacio de hardware abierto, vale la pena clonar el repositorio, compilarlo y reportar lo que encuentres: a esta escala de precio, experimentar cuesta literalmente unos pocos dólares.

📖 Resumen en Telegram: Ver resumen

Preguntas frecuentes

¿Qué hardware necesito para usar pico-usb-wifi?

Una Raspberry Pi Pico W (la versión con WiFi, no la Pico estándar) y un cable USB. La Raspberry Pi Pico 2 W tiene compatibilidad esperada. La placa cuesta alrededor de seis dólares.

¿De verdad funciona sin instalar drivers?

Sí. La placa se presenta como un dispositivo USB CDC-NCM, un estándar que Windows, macOS y Linux ya soportan de fábrica. El sistema operativo la reconoce como una tarjeta de red más, sin software adicional.

¿Qué velocidad alcanza?

Alrededor de 4,75 Mbit/s. Es suficiente para navegar, administrar servidores por SSH o mantener un equipo headless online, pero no para descargas a máxima velocidad ni streaming en alta resolución.

¿En qué se diferencia de PicoPiFi?

PicoPiFi usa RNDIS, orientado sobre todo a Windows on ARM. pico-usb-wifi usa CDC-NCM y un bridge de capa 2 con una sola MAC, lo que le da compatibilidad pareja en Windows, macOS y Linux sin NAT.

¿Soporta IPv6 y redes seguras?

Soporta IPv4 e IPv6 sin NAT, y autenticación WPA2-PSK. Por ahora no hay soporte documentado para WPA3 ni para WPA2-Enterprise (802.1X).

¿Cómo configuro la red WiFi?

Mediante una consola serie de gestión (CDC-ACM) con comandos como SET ssid, SET pass y SAVE. Las credenciales persisten en la flash entre actualizaciones de firmware.

Referencias

📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.

Categorías: Noticias Tech

Andrés Morales

Desarrollador e investigador en inteligencia artificial. Escribe sobre modelos de lenguaje, frameworks, herramientas para devs y lanzamientos open source. Cubre papers de ML, ecosistema de startups tech y tendencias de programación.

0 Comentarios

Deja un comentario

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.