Raspberry Pi Pico W as USB Wi-Fi Adapter

235 points - today at 3:17 AM

Source

Comments

MomsAVoxell today at 5:24 PM
In the retro-computing world (Oric-1/Atmos) we are using the PicoW as a way to get our old machines on the Internet, not by implementing USB-CDC drivers on the old machines, but by having the PicoW imitate an old-school modem interface, albeit one that 'dials in' to a web site address instead of another modem ..

It's pretty cool, I have to say - especially for us old Oric folks, who never did quite get a full BBS ecosystem for these machines, unlike others. Its on like donkey kong now though, thanks to wonderful PicoW projects like this!

MisterTea today at 2:04 PM
I had the same idea for a Plan 9 USB WiFi using an ESP32. You serve the wifi device as a ether(3) device which negates the need for janky side band config as the config is done over the same 9P interface. Never got around to it.
polpo today at 5:56 AM
Interesting that Gemini said it was infeasible. It should be aware that using a Pico W as a transparent ethernet bridge has been done several times over in open source projects, for example on BlueSCSI (emulating a Daynaport SCSI-Ethernet adapter) and PicoMEM and my own PicoGUS project (emulating an NE2000 Ethernet adapter).
alnwlsn today at 4:08 PM
Buried the lede by calling this a "usb wifi adapter" and not "magic Ethernet adapter that you don't have to plug a cable into". This will come in handy for my systems that are normally air gapped or currently connected to something else, but sometimes I need to get another network connection on there for a few minutes. I don't always have a USB ethernet adapter on hand or enough cable, but I almost always have a Pico around.

Also I posted this comment using one. Speedtest says about 4 Mbps. Surprisingly usable for web browsing though. Very nice tool! I'll be keeping the .uf2 file around for sure.

xondono today at 3:04 PM
I’ve been looking for a good solution for doing the exact opposite, being able to connect stuff through USB in my bench, and see them pop up in my office desktop as if they were usb devices.

The closest I’ve gotten is using a raspberry pi in the workbench, but for some weird devices that’s sometimes not good enough.

1vuio0pswjnm7 today at 4:35 PM
No Javascript

Peruse README and source code

   x=pico-usb-wifi
   tnftp -4o"|unzip -p /dev/stdin $x-main/README.adoc $x-main/src/*.c" \
   https://gitlab.com/baiyibai/$x/-/archive/main/$x-main.zip \
   |tr -cd '[ -~\n]' \
   |less
KJs6ZxELzQM37O today at 10:04 AM
I recently bought Pico 2 W for DualSense (https://github.com/awalol/DS5Dongle).
byb today at 3:17 AM
pico-usb-wifi is firmware for the Raspberry Pi Pico W that turns it into a driverless USB Wi-Fi adapter, enumerating as a USB CDC-NCM device.
asc91 today at 3:40 PM
I would like to ask the author, what do they mean when they say 'I spent 2 days and 1M claude code tokens' Did you completely vibe code this? or did you create a spec and asked claude to implement that? How many times did you need to course correct claude when it deviated if it did? How much of your own experience as working in WiFi industry was useful while building this project? And what would be different if you had worked on this project without that experience?
bhouston today at 10:22 AM
Interesting project.

In a similar but opposite vein, I am going on a vacation and I wanted to share the stupidly expensive internet in my room at night with the family so I am likely bringing a raspberry pi to have as a travel router attached to my Mac. In this case, I can use the RaspAP project: https://raspap.com/

This is slightly different in that I do want a NAT.

WhyNotHugo today at 2:56 PM
Would love a Bluetooth variant, so I can use Bluetooth HID devices on a host with no Bluetooth stack.
palata today at 9:15 AM
> Average 4.75 Mbits/sec throughput

Isn't that slow for WiFi?

I mean it's an interesting learning experience, but isn't that strictly worse than pretty much any WiFi dongle?

deleted today at 7:34 AM
drop-volley today at 4:55 AM
Can you have the Pico operate as an access point? Would love to be able to use this to connect over wifi to a printer (printer in client mode), with the printer and macos talking directly over IP without needing to configure any other routing/forwarding on macos.
nicman23 today at 5:30 AM
close enough, welcome back 56(0)k
vardump today at 7:27 AM
Thanks! Now I potentially have ~20 USB WiFi adapters I didn’t have yesterday.

Even better, no need to hassle with the WiFi settings on the target system.

In wrong hands, Pico W is actually a bit terrifying device, because it combines USB and wireless.

JSR_FDED today at 4:48 AM
Love the way the author labels each of his diagrams as “AI Slop”!
hellweaver666 today at 7:43 AM
Oooooh, now I'm thinking... you could design a simple circuitboard that holds multiple picos (surface mounted) and uses the USB data pads on the back to pull all the USB ports out to an onboard USB hub basically allowing you to add a multitude of wifi adapters to a project in one USB cable. Would be great for War Driving!
andrewstuart today at 5:15 AM
Google Gemini is that naysayer senior developer who confidently tells you it can’t be done.

Claude is that easy to get along with smart hard working guy who just gets on with it and builds it double quick.

ChatGPT is the eager senior developer who says it can be done but can’t actually work it out and fluffs it.

amelius today at 8:07 AM
How many Mbps?
eeesdfsdfg today at 3:44 PM
I need mesh too
diego_moita today at 1:25 PM
I don't have any idea of what is the purpose of this.

Do you want to share an USB device across the WiFi?

If so, why not use the USB-IP protocol? It is already part of the Linux kernel, has implementation for Windows and doesn't require additional hardware.

raffael_de today at 10:24 AM
what is this useful for?
throwwwll today at 9:04 AM
AI Slop.
arcza today at 9:42 AM
[flagged]
ranger_danger today at 4:58 AM
> I spent two days of a long holiday weekend and about one million Claude Code tokens building this firmware.
GL26 today at 6:39 AM
one million Claude Tokens (assuming you are on opus) = 5 USD = the very dongle you tried to replace. Add the cost of the rasberry pico, you'll have an easier time buying the wifi dongle. The project is cool thought to learn about networks, NAT, Proxys, ect...
gavinsyancey today at 6:24 AM
You can do this by installing OpenWRT on the Pi and controlling it from the web interface.