usb64 - A project developed to use USB controllers on the Nintendo 64 console :tv: :video_game:

Order PCBs:

Compare PCB Prices:

Buy Parts

Adjust quantity:
%
 
ReferencesQtyDescriptionManufacturerMPNDigikey
C11CAP 100UF, 5MM DIA, 2MM LEADWurth Elektronik860010372006732-8598-1-ND
C2,C3,C43CAP 100NF, 0805Wurth Elektronik885012207016732-8026-1-ND
TFT1,TFT22FEMALE HEADER 0.1Sullins Connector SolutionsPPTC201LFBN-RCS7018-ND
USB11USB TYPE A RECEPTACLEOn Shore Technology IncUSB-A1HSW6ED2989-ND


A project developed to use USB controllers on the Nintendo 64 console.
Precompiled binaries can be downloaded from Releases.
NOTE: This project is still in development, PRs and ideas are welcome. See todo list for ideas.

  • N64 controller emulation (up to four controllers at once!).
  • Rumblepak emulation.
  • Mempak emulation with four selectable banks. Technically unlimited.
  • Transferpak emulation. Put Gameboy ROMS on an SD Card!
  • N64 mouse emulation. Use a USB Mouse!
  • N64 Randnet emulation. Use a USB keyboard!
  • Configurable deadzones and sensitivity from the N64 Console.
  • True dual analog sticks with GoldenEye and Perfect Dark.
  • SD card driver with FATFS support for storage/backup of Gameboy ROMS, mempaks etc.
  • A single hardwired controller interface for ultimate hacking.
  • Optional TFT LCD Support.
  • Raspberry Pi interface or equivalent for all other USB controllers.
  • More inbuilt USB controller drivers. (PS3, Aftermarket Xbox One, OG Xbox, improved Generic HID).
  • USB Bluetooth stack.
  • Mouse/Keyboard input for controllers.
  • Gamecube controller support.
  • Better debug output (Flashing LED, SD card logging)
  • Bluetooth 8bitdo/compatible controllers via the 8BitDo Wireless USB Adapter
  • Wired 8bitdo controllers when they are started in X-input mode.
  • Xbox S/X Wired
  • Xbox one Wired (Genuine / PDP)
  • Xbox 360 Wired
  • Xbox 360 Wireless (Via PC USB Receiver)
  • PS4 Wired
  • A hardwired controller, use your own buttons etc.
  • Back + D-Pad = Insert Mempak banks 1 to 4
  • Back + LB = Insert Rumblepak
  • Back + RB = Insert Transferpak
  • Back + Start = Select virtual pak (Use in-game mempak managers to configure the device)
  • Back + B = Switch to true dual-analog stick more for GoldenEye 007/Perfect Dark
  • Back + A = Backup buffered memory to SD Card (DO THIS BEFORE POWER OFF!)
QtyPart DescriptionLink
1Teensy 4.1https://www.pjrc.com/store/teensy41.html
1USB Host Cablehttps://www.pjrc.com/store/cable_usb_host_t36.html
30.1" Pin Headerhttps://www.pjrc.com/store/header_24x1.html
264Mbit PSRAM SOIC-8https://www.pjrc.com/store/psram.html
4N64 Controller ExtensionsAliExpress
1(Optional) ILI9341 TFT LCD Display 2.2" (320x240)AliExpress
1MicroSD Card-
1(Optional) Casehttps://a360.co/2HPz0U0
1(Optional) PCB breakout boardKitspace

Note: PSRAM model numbers are IPS6404L-SQ-SPN or ESP-PSRAM64H.

See COMPILE.md.

See INSTALL.md.

See USAGE.md.

usb64 is shared under the MIT license, however this project includes code by others. Refer to the list below.

usb64 with optional case and TFT display.

If you like my work please consider a small donation