David Pagels' Raspberry Pi Pico Adapter Brings Nintendo Gamecube, N64 Controllers to the Switch
Building on an earlier Arduino-based adapter project, this new variant aims to address stock shortages of official controllers.
Maker and retro gaming enthusiast David Pagels has designed an adapter which brings the classic Nintendo 64 and Gamecube controller families to the Nintendo Switch — using a Raspberry Pi Pico to convert the pads to USB.
"This is a spiritual successor to my N64-Arduino-Switch project," Pagels explains. "It's been a year since I published the N64-Arduino-Switch project. Since then, the wireless N64 Nintendo Switch controllers have still been largely out of stock and scalped. One of the pieces of feedback from the last project is that it looked intimidating to setup. I've since discovered the Raspberry Pi Pico and decided to redo this project for the Pico."
Moving from an Arduino Uno to the more compact Raspberry Pi Pico, powered by the dual-core RP2040 microcontroller, brings a pair of key advantages over the original version of the project. One is cost: "The Pico only costs $4," Pagels explains, "instead of $10 for an off-brand, slower Arduino [clone]." The other is that it requires no extra equipment: just hold down the on-board BOOTSEL button, drag-and-drop the firmware, and you're ready to go, without the need for a Device Firmware Update (DFU) programmer.
"This project no longer only supports the N64 controller, but now supports Gamecube controllers too," Pagels writes of another enhancement, which includes support for the popular Nintendo Wavebird wireless Gamecube controller. "I've created two button mappings for the Gamecube controller: a one-to-one mapping, and a mapping that makes the controls as close as possible to the original Super Mario Sunshine mappings."
To finish the project, Pagels has also designed a 3D-printed enclosure designed to house the Raspberry Pi Pico and provide a Nintendo 64-compatible connector at one end — converting it to micro USB and, from there, to the Nintendo Switch.
Full details are available on Pagels' GitHub repository, where the source code has been published under the permissive MIT license.