Driverless USB WIFI for Windows on Raspberry Pi / R / ARM32 / ARM64 / X86 / X64 With Simple Pi Pico W Firmware

by aayush_deo1994 in Circuits > Raspberry Pi

124 Views, 0 Favorites, 0 Comments

Driverless USB WIFI for Windows on Raspberry Pi / R / ARM32 / ARM64 / X86 / X64 With Simple Pi Pico W Firmware

instruct.png

Beyond the boundaries of conventional computing, Windows on ARM (WOA) stands as a pioneering operating system, potentially ushering in a new era of ubiquitous, standardized, and affordable mobile computing for the masses. However, while WOA presents a plethora of opportunities for the unofficial Windows on R project or Renegade Project focusing the DIY community, the accessibility to cost-effective standardized wireless connectivity remains a challenge.

I’ve developed an open-source firmware for the Raspberry Pi Pico W, which ingeniously transforms it into a low current consuming Wi-Fi USB dongle at only 20 ma. It’s availability is guaranteed by Raspberry pi foundation itself. With an incredibly low cost of ~$6 and widespread availability, this firmware maximizes the potential of the Pico W’s onboard USB 1.1 interface, operating at 12 Megabits per second, to unleash the full capabilities of the Infineon CYW43439 chip.

One of the most remarkable aspects of this firmware is its seamless integration with Windows systems. It utilizes the existing usbrndis6 driver, readily available on all architectures of Windows — x86, x64, and ARM64 — since Windows XP. As a result, no additional drivers are needed, ensuring effortless compatibility across various Windows platforms.


Medium Blog: Driverless USB WIFI for Windows on Raspberry Pi / R / ARM32 / ARM64 with Simple Pi Pico W Firmware

Code on GitHub: pico-webserver

Supplies

Pi Pico W board required

Make Use of the Firmware WIFI Settings

Screenshot 2024-01-05 193522.png
  1. Set the WIFI network ssid to "ssid" and WIFI password to "password" (it might disconnect all other clients in the WIFI network is also insecure way)
  2. set the pi Pico w in uf2 receive mode by pressing the onboard boot button and plunging in the Pi Pico
  3. copy the "pico_webserver.uf2" binary to the Pi Pico w

Make Use of Network WIFI Settings

  1. change the ssid and password passed in the function cyw43_arch_wifi_connect_async as 1st and 2nd arguments respectively
  2. compile the project as described in the readme which will create a custom "pico_webserver.uf2" with your WIFI settings
  3. set the pi Pico w in uf2 receive mode by pressing the onboard boot button and plunging in the Pi Pico
  4. copy the "pico_webserver.uf2" binary to the Pi Pico w

Debug Tips - If WIFI Network Access Stops Abruptly

  1. Goto Control Panel -> Network and Internet -> Network Connections for a new RNDIS ethernet network adapter created
  2. open task manager to check if traffic is flowing for the RNDIS ethernet network adapter
  3. If the traffic stops instead of removing and re-plugging the Pi Pico W you can disable and enable the RNDIS ethernet network adapter found in the step 1