Skip to content

FrameEnder/nintendo-switch-controller-arduino

 
 

Repository files navigation

Nintendo Switch Controller Arduino

control your Nintendo Switch using an Arduino UNO R3

Requirements

  • Arduino Uno (R3)
  • Tiny jumper cable (female female) to flash intermediate device chip
  • USB cable
  • Linux System like Ubuntu (Debian)

Installation

1. clone repository

git clone --recursive [email protected]:dornbirndevelops/nintendo-switch-controller-arduino.git

2. install required packages

  • Arduino IDE (this should install avr-gcc)
  • DFU Programmer (called FLIP on Windows):
sudo apt install arduino dfu-programmer

3. Build Flash (.hex) files for Arduino UNO R3 (atmega16u2)

make

Flash

IMPORTANT FOR NOTEBOOK USERS: turn off autosuspend before flashing because dfu-programmer does not recognize your device otherwise. this change can be reverted afterwards.

  1. connect the Arduino UNO via USB Cable to your computer

  2. verify that the Arduino gets discovered

lsusb
# Bus 001 Device 004: ID 2341:0043 Arduino SA Uno R3 (CDC ACM)
  1. connect RESET to GND like in the image below for about 1 second:

wiring

  1. verify that the Arduino is now in DFU mode
lsusb
# Bus 001 Device 005: ID 03eb:2fef Atmel Corp.
  1. decide, which .hex-file you want to flash onto your atmega16u2, few examples are below:

default firmware

sudo dfu-programmer atmega16u2 erase
sudo dfu-programmer atmega16u2 flash firmwares/Arduino-usbserial-atmega16u2-Uno-Rev3.hex
sudo dfu-programmer atmega16u2 reset

repeat-a (just press a all the time in game)

sudo dfu-programmer atmega16u2 erase
sudo dfu-programmer atmega16u2 flash repeat-a.hex
sudo dfu-programmer atmega16u2 reset

any other firmware

sudo dfu-programmer atmega16u2 erase
sudo dfu-programmer atmega16u2 flash path/to/firmware.hex
sudo dfu-programmer atmega16u2 reset
  1. disconnect arduino from computer

Usage

Repeat A repeat-a.hex

repeat-a just spams the A button. You can use it to farm Fossils at the Digging Duo and/or hunting Shiny Fossils at Route 6

  1. go into the Change Grip/Order window on your Switch Homescreen and press nothing
  2. plug in the Arduino UNO R3

Watts Farm wattsfarmer.hex

  1. walk to a den and throw an Wishing Piece in it
  2. use the date spoofing exploit until the den glows red (don't go in yet!)
  3. go into the Change Grip/Order window on your Switch Homescreen and press nothing
  4. plug in the Arduino UNO R3

Masterballs masterballs.hex

This uses the new VS date spamming exploit, look it up on youtube.

  1. Enable the VS date spam exploit
  2. go into a Pokécenter right in front of the computer
  3. make sure you can play the lottery today (do not play yet)
  4. set you switch clock settigns to manual mode
  5. go into the Change Grip/Order window on your Switch Homescreen and press nothing
  6. plug in the Arduino UNO R3

Shiny breeding wildareabreeding.hex

  • open wildareabreeding.c in src folder
  • change value at line 62 #define cyclesto correct amount and save
  1. fly to the daycare in the wild area
  2. your party needs to be full and in the first slot should be a Pokémon with the Flame Body ability
  3. selection in menu needs to hover the map button
  4. exit the menu
  5. go into the Change Grip/Order window on your Switch Homescreen and press nothing
  6. plug in the Arduino UNO R3

Farm Dracovish dracovish.hex

make sure you have plenty of fossils in your inventory

  1. place yourself in front of the fossil lady.
  2. go into the Change Grip/Order window on your Switch Homescreen and press nothing
  3. plug in the Arduino UNO R3

NOT WORKING YET DUE TO MEMORY LIMITS! WORK IN PROGRESS (Release a full box of Pokémon releasebox.hex)

be careful using this

  1. open the box you want to release
  2. go into the Change Grip/Order window on your Switch Homescreen and press nothing
  3. plug in the Arduino UNO R3

Thanks

Thanks to Shiny Quagsire for his Splatoon post printer and progmem for his original discovery. Also thanks to bertrandom for his snowball thrower and all the modifications.

About

control your Nintendo Switch using an Arduino UNO R3

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 81.8%
  • Makefile 15.1%
  • C++ 3.1%