NESPico

A NES controller USB interface with a Raspberry Pi Pico.

Play your favorite retro games with a slightly modified NES controller. Just get Raspberry Pi Pico, a soldering iron and a few wires and you are golden!!1!

Read this in other languages: Portuguese, English

NESPico Gamepad

Building

These instructions are extremely terse, and Linux-based only. For detailed steps, instructions for other platforms, and just in general, we recommend you see Raspberry Pi Pico C/C++ SDK

  1. Install CMake (at least version 3.13), and GCC cross compiler
    sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi
    
  2. Clone this repo and update submodules
    git clone https://github.com/luxedo/NESPico.git
    cd NESPico
    git submodule update --init  # Thou shalt not be --recursive
    cd pico-sdk
    git submodule update --init
    cd ..
    
  3. Setup a CMake build directory
    mkdir build
    cd build
    cmake ..
    
  4. Make your target from the build directory you created. The build will replace the prebuilt binary
    make
    

PreBuilt

If you don’t want to bother and build the binary yourself, then the latest version is avaliable at bin/nespico.uf2

Pinout

NES <=> RPi Pico connection is as follows:

Fun NES Pico
3v3 White 3V3
GND Brown Ground
Latch Orange GPIO 5
Clock Red GPIO 4
Data Yellow GPIO 6

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.


Check out the repo

me

The world is a complex puzzle, and I love using data and code to decode it. Data scientist and developer by day, problem-solver always.