A curated collection of awesome things related to Nintendo Switch hacking and homebrew.
If you would like to see something awesome added to this list, please open an issue or create a pull request.
Note: All retail products will link to the manufacturer's site when possible. The products may not be available for purchase at that site. Please perform due diligence when purchasing console modding products online.
Last Update: April 26, 2021
These guides will help you get started with enabling homebrew on your Nintendo Switch.
- Homebrew Guide - An excellent, straight-forward guide for getting up and running with Switch homebrew
- Nintendo Homebrew Switch Guide - Another great homebrew setup guide, with a bit more detail around customizing the homebrew environment on your Switch
- Sending a Payload - Overview of various methods of sending payloads to the Switch
- SAMD21 Modchip Install Guide - Install guide for Trinket M0, Rebug SwitchME M0, etc.
GBAtemp will contain the most information regarding the current state of Nintendo Switch homebrew and hacking, and will usually be the place to find help setting up or troubleshooting homebrew. The subreddits are a nice place for people who just want to keep up with the latest homebrew releases and information in an easily digestible format.
Payload injectors allow you to run custom software on unpatched Switches when they are in RCM mode.
- NS-Atmosphere
- RCMloader, RCMloader zero
- SX Pro - Comes with SX OS license
The SAMD21-based microcontroller boards can be purposed as modchips for unpatched Switches only. The SX modchips use a different method of launching a custom payload and are compatible with all current Nintendo Switch consoles.
- Trinket M0, Gemma M0, ItsyBitsy M0 Express, Feather M0 Express - SAMD21-based microcontroller boards from Adafruit that can be used as modchips in unpatched Switches
- Rebug SwitchME M0 - An open source SAMD21-based modchip designed for use in unpatched Switches
- SX Core, SX Lite - Modchips by Team Xecuter, comes with SX Pro license
Bootloaders allow pushing payloads to unpatched Switches when in RCM mode.
- TegraRcmGUI - Windows utility to inject payloads in RCM mode
- NS-USBloader - Title installer with payload injection functionality
- Fusee_Suite - Firmware for SAMD21-based modchips
Payloads are injected during and override the Switch boot sequence, allowing for custom firmware and other utilities to run.
- Hekate - A GUI based Nintendo Switch Bootloader
- ArgonNX-SE - GUI payload chainloader for Nintendo Swtich
- fusee-primary - Payload for running Atmosphère
- Incognito_RCM - Utility to remove console serial number from sysnand or emunand
- Lockpick_RCM - Utility for dumping console encryption keys
- SX Loader - Payload for running SX OS custom firmware
Custom firmware modifies and enhances the stock Switch software to allow running homebrew, applying custom themes, etc., with Atmosphère being the most popular and widely supported.
- Atmosphère - Open source custom firmware for Nintendo Switch
- DeepSea - Custom firmware package containing Atmosphère and common homebrew modules and utilities
- SX OS - Commercial custom firmware for Nintendo Switch
Note: It is not recommended to run homebrew from unsigned NSPs, as this can easily lead to a ban from Nintendo. The recommended method of running homebrew in Atmosphère is via title replacement - hold R while launching a legit application, which will launch HBMenu.
Signature patches, a.k.a. sigpatches, allow unsigned code to run on a Switch running custom firmware. While this can allow running pirated software, sigpatches also have a legitimate use for running homebrew NSP packages and using NSP forwarders for convenience. They can be updated using the homebrew apps AIO Switch Updater or Awoo Installer, or manually from the following locations:
- Sigpatches for Atmosphère
- Sigpatches for Atmosphère (fusee-primary only)
- Sigpatches for Atmosphère (Hekate/fss0/fusee-secondary only!)
These packages allow usage of alternate operating systems on the Switch.
- L4T Ubuntu - Ubuntu Linux based on NVIDIA's Linux for Tegra project
- Lakka - L4T Ubuntu build focused on emulation using RetroArch as the frontend
- LineageOS - LineageOS (Android) for Nintendo Switch
All homebrew listed below is compatible with Atmosphère. Note that a lot of the apps listed below can be installed via the Homebrew App Store.
- nx-hbmenu - Nintendo Switch Homebrew Menu, comes bundled with Atmosphère
- Homebrew App Store - GUI for downloading/managing homebrew apps
- AIO Switch Updater - A Nintendo Switch homebrew app to download and update custom firmware, sigpatches, official firmware and cheat codes
- Awoo Installer - Title installer for Nintendo Switch
- Checkpoint - Fast and simple homebrew save manager
- Daybreak - Firmware update utility bundled with Atmosphère, recommended over the older ChoiDujourNX
- EdiZon - A homebrew save management, editing tool and memory trainer
- Goldleaf - Multipurpose homebrew tool (file browser, title installer)
- nxdumptool - Cartridge and eShop title dumping utility
- NX-Shell - File manager
- NXThemes Installer - Switch theme manager
- Payload Launcher - Reboot to payload utility with a nice user interface
- uLaunch - Custom, open-source qlaunch (Nintendo Switch HOME menu) replacement/reimplementation
System modules are software that enhance the Switch operating system when using custom firmware.
- nx-ovlloader - Host process for loading Tesla overlays
- sys-clk - CPU and GPU overclocking system module
- sys-con - Nintendo Switch sysmodule that allows support for third-party controllers
- sys-ftpd-light - FTP server system module
- sys-tune - Background audio player for the Nintendo switch
- MissionControl - Use controllers from other consoles natively on your Nintendo Switch via Bluetooth
- nx-btred - nx-btred is a Bluetooth audio driver/redirector for Switch
Tesla is a homebrew which allows custom menus to be displayed over a game, similar to the Quick Settings menu when holding Home.
- Tesla Menu - Base overlay required to load child overlays
- Status Monitor Overlay - Monitor many stats of Nintendo Switch hardware
- sys-clk-Overlay - Overlay for managing sys-clk system module settings
Most homebrew games are ports of open source games or game engines. Game engines will typically require files from the original game, or game packs, for full functionality.
- DevilutionX - Diablo port for Switch
- Doom64EX - Doom64EX port for Switch
- EDuke32 - EDuke32 port for Switch
- GZDoom - 3D-accelerated Doom source port
- NXQuake2 - Nintendo Switch port of the Yamagi Quake II client
- OpenBOR - OpenBOR engine port for Switch
- OpenLara - Classic Tomb Raider open-source engine (check last update date in release notes)
- Postal-NX - Postal port for Switch'
- QuakespasmNX - Nintendo Switch port of Quake (use this build until main repo is updated)
- Return to Castle Wolfenstein - Return to Castle Wolfenstein port
- Sonic 1 & 2 (2013) - Port of Sonic 1 & 2 (2013)
- Sonic CD (2011) - Port of Sonic CD (2011)
- Sonic 3 A.I.R. - Port of Sonic 3 & Knuckles remaster
- Taisei Project - Awesome bullet hell shoot'em up
The emulation performance of the Switch is excellent. RetroArch is a great "one-stop-shop" for most emulation needs. For more demanding systems like Sony PSP and Nintendo DS, standalone emulators like PPSSPP can have better performance.
- melonDS - Standalone Nintendo DS emulator
- RetroArch - Multi-platform emulation framework
- PPSSPP - Standalone PSP emulator
- pemu (pFBN, pNES, pSNES) - Suite of standalone emulators by Cpasjuste
- Chiaki - PS4/PS5 remote play client
- Moonlight-NX - Game streaming for PCs with NVIDIA graphics cards
- SKyNX - PC game streaming