HackerTrans
TopNewTrendsCommentsPastAskShowJobs

byb

no profile record

Submissions

Raspberry Pi Pico W as USB Wi-Fi Adapter

gitlab.com
269 points·by byb·21 gün önce·132 comments

comments

byb
·17 gün önce·discuss
I'm flattered. You asked very good questions. I'd be happy to de-mystify it with a longer conversation. Find me on LinkedIn: 白一百
byb
·20 gün önce·discuss
Author here: I have wanted to make a wireless USB mouse and keyboard switch out of RPI Pico Ws for a long time. I would go a layer deeper than USB/IP, because I want to cache the USB handshake to keep the connection enumerated on multiple systems without dropping.
byb
·20 gün önce·discuss
Author here: good point - I do hope the retro computing community enjoys this tool. It does remind me of the Espressif line if ESP8266 and ESP32 devices which have Wi-Fi devices which are available on UART and respond to AT modem commands. Pico-usb-wifi is a nice tool which some clever YouTubers will hopefully be able to use to get old internet appliances, or systems that didn't have Wi-Fi, online.

Personally, I rescued a dozen PogoPlugs from the trash a decade ago and used one to practice self hosting a word press instance. Having a dongle like this would have allowed me to stick it in a corner and run something like librespot or snapcast. Instead, I eventually sent them to the recycler when I moved.
byb
·20 gün önce·discuss
Author here: thank you for this deep dive. I saw peaks of 5.9 Mbps, it might be possible to increase throughput by allocating more memory. The link between the rp2040 and Infineon Wi-Fi device is 31.5 Mb/s. It might be possible to push that out over PIO to an external USB 2.0 PHY. Apparently the Wi-Fi device is capable of higher speeds. Who knows what will be the limiting factor. I'll leave it to someone else to experiment, my focus was the stock hardware without any modifications.
byb
·20 gün önce·discuss
Author here: Thank you, this is one of the nicest things anyone has ever said about my work.

I achieved two goals today: a front page post on hackernews and for being recognized for my work; or more accurately, for being very good at using AI ;)
byb
·20 gün önce·discuss
Author here: You're welcome!
byb
·20 gün önce·discuss
Author here: I will consider writing a blog about ir, but it will require a lot of work on my part, because as I mentioned, this was a digression/side quest from the main task of hacking my Spotify Car Thing. It might work better as a YouTube video.
byb
·20 gün önce·discuss
Author here: Thank you! It's a nice thought that something I made will become a trusted tool for IT professionals.

Now I need to make a nice 3D-printed case.

I admit, I almost couldn't believe it when I turned off my regular blazing fast 802.11ax NIC in the KDE network manager and switched to the pico-usb-wifi and I watched the YouTube "stats for nerds" buffer fully fill up and playback was totally smooth.
byb
·20 gün önce·discuss
Author here: this is actually a "side quest" which I alluded to in the README.adoc and another comment. I've had a few Spotify Car Things (SuperBird) sitting on my desk that I have not touched in a year because I was waiting for the community to come out with a non-tethered approach to reclaiming them. All of the existing continue to either require a host PC, phone, or RPI Zero. I want to deploy these throughout my home and have them usable without my PC or phone nearby - likely with just a Home Assistant dashboard. I spent the first few hours cloning repositories of existing firmware, and examining other approaches, such as Bluetooth low energy with ESPHome Bluetooth proxies, but they ended up being dead ends. I took a compromise that a small wireless dongle would be acceptable. I then began examining the Linux source tree to see if it was possible to flip the USB from client to host and spent a considerable amount of time recompiling BishopDynamics' SuperBird NixOS distribution and building a test dashboard to show the IP networking information, because I knew that once I flipped the device's USB mode, I would lose access to the device. SuperBird took almost four hours to compile on my low end CPU - I let it compile while I hit my five hour Claude Code quota.

https://gitlab.com/baiyibai/superbird-host-mode

I also did not look forward to trying to build in wireless functionality in to NixOS, because it also took 30 minutes to flash the device - I had to lower the transfer block size and add more retries in the flash utility because it kept crashing.

ultimately both the SuperBird work and the RPI pico firmware was about 300 prompts of investigation, research, creating potential approaches, architecting, designing, debugging, testing/validating, and documenting.

Regarding your last two questions... I started out 25 years ago by studying for a CCNA in high school and joined the industry just as first generation 802.11ac devices began hitting the market. From my position, I've worked on every layer from the SoC, PCB, to software. I want to be very careful and say software estimation is very difficult. The main bug (issue #1) I encountered would have been very difficult to diagnose and resolve ten years ago using traditional development workflows.
byb
·20 gün önce·discuss
No, it's not really easier to buy a Wi-Fi dongle. My target device is the Spotify Car Thing and SuperBird doesn't have Wi-Fi components. My Claude Code Pro subscription was idle, so it cost me nothing. Also, according to an article from Tom's Hardware from two years ago, four million Picos have already shipped, so I've unlocked this ability for let's say 500,000 devices. Finally, my day job is in the Wi-Fi industry... this wasn't a learning exercise.
byb
·20 gün önce·discuss
Exactly, bit banging an 8-bit bus isn't that different from pushing the data out of the USB port. It would be great to try an LLM trained on pre-1900 documents and ask it if powered flight is possible.

Great work on PicoGUS.
byb
·20 gün önce·discuss
It's one of the neat features of the AsciiDoc language. The user is able to change captions mid document, in this case :figure-caption:. AsciiDoc and Antora are things I've invested a lot of my time into

https://baiyibai-antora.gitlab.io
byb
·21 gün önce·discuss
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.
byb
·5 ay önce·discuss
Embrace cheap hardware.

CachyOS on a 200-300 USD Intel n100 tablet with a wired or wireless keyboard of your choice is my go-to recommendation these days. I have one connected to a 4k display and it handles 4k YouTube just fine. It handles Windsurf as well. By comparison, Debian 13 could not handle 4k video and Windsurf overtaxed the system, causing write access errors.

https://www.chuwi.com/product/items/Chuwi-hi10-x2.html

Or spend a little more to get a 12 inch higher resolution display: https://www.chuwi.com/product/items/chuwi-hi10-max-n150.html

If you need more video outputs, higher speed I/O, or a faster CPU for video editing, I cannot help you.
byb
·5 ay önce·discuss
Yes, a neat follow-up would be to clone the copy protection device with a cheap microcontroller. A lot of these devices were filled with epoxy, but it would be funny to find out these were all just 1Kbit EEPROMs. Such an article could give some background on parallel port communication, EEPROMs, and how regular printer data was passed through.
byb
·5 ay önce·discuss
Neat. A personal tone trainer. Seriously, shut up and take my money now. Of course, it needs a vocabulary trainer, and zhuyin/traditional character support.
byb
·6 ay önce·discuss
My biggest source of paranoia is my open home assistant port, while it requires a strong password and is TLS-encrypted, I'm sure that one day someone will find an exploit letting them in, and then the attacker will rapidly turn my smart home devices on and off until they break/overheat the power components until they start a fire and burn down my house.
byb
·7 ay önce·discuss
What a story. This brings back memories and ties directly into my life.

In fall of 1999, I built my first PC with an Abit BE6 to use with an Intel Pentium 3 'Coppermine' 500 MHz. I was a fifteen year old kid working at pizzeria in the midwest making minimum wage to feed my computer hobby. At the time I was reading hardocp, and compiled a list of "good" BX motherboards to try and find at computer show that was organized on a semi-regular basis at the local fairgrounds. This event saw numerous mom&pop computer stores travel from hours away to sell custom PCs, software, and hardware. I remember having a bit of buyer's remorse because I actually wanted the BE6-II which featured the ability to change the front side bus in 1 MHz steps, while the older BE6, only had a set of fixed multiplers and PCI dividers. My 500 MHz coppemine (5 x 100 MHz) didn't post at 750 MHz (5 x 150 MHz) and was unstable above 667 MHz (5 x 133 MHz). This overclock still 'saved' me a considerable amount of money by allowing me to purchase the cheapest part and squeeze performance out of it. That computer hobby led me down a path of studying computer engineering and my eventual departure (escape) from the Midwest.

Years later, in 2015 I moved to Taipei, and remember walking around Neihu seeing all the headquarters of the computer part manufacturers I used in my childhood (Liteon, ECS, Nvidia). I didn't realize that Abit's former headquarters on 陽光街 is right next to many of the places I've been living and working next to for the past decade.

Another memory from that time was buying 128 MB of SD-RAM from Crucial (Micron). I remember being a little pissed because the price had gone up 50% due to the 921 earthquake, which killed thousands and left many homeless, and knocked the fabs offline which led to a supply shortage.
byb
·7 ay önce·discuss
The website https://nissan.com shows how to avoid this outcome.
byb
·10 ay önce·discuss
They were listed in the numerous other replies, and in the initial blog post. Both have been dismissed as undesirable/unworkable. What's your point. I'm not interested in a discussion as to whether alternatives exist, I'm interested in discussing the merits of those alternatives.