Beginner’s Guide: Understanding the basics of Nintendo Switch softmodding

In this guide, I will provide some important and useful background information regarding the Nintendo Switch modding scene for beginners to avoid having to repeat the same information to every single person  Some of the tools needed to be able to run a Custom Firmware on the Nintendo Switch can be found (and purchased) here.

What is softmodding and how does it work on the Switch?

Before talking about softmodding a Nintendo Switch, you should know that only the first generation Nintendo Switch can be modified by following my guides. Switches purchased from the initial release in 2017 all the way up to June 2018 should be hackable. To check whether your Switch is hackable, please check its serial number here. Your switch should ideally be listed as “unpatched”, since that almost certainly guarentees that you can softmod the Nintendo Switch. If your Switch is listed as “possibily patched”, you can still try to follow my guides but you may get stuck along the way.

Bottom of Nintendo Switch with serial number
You can find the serial number on the bottom of your Switch

If your Switch is “patched”, then you cannot follow the softmod guides on this website. Instead, the only way to softmod such a Switch is by running firmware version 4.1.0 or below. Otherwise, you will need to hardmod your Nintendo Switch, which involves soldering an aftermarket PCB inside the Switch, which is beyond the scope of my channel and this website.

Now that you know if you can follow my guides (congrats if you have an unpatched Switch!), we can cover some key terms in greater detail so you better understand what I’m talking about in my videos and blogs.

Softmodding

I have already discussed whether your Switch can be softmodded, but what actually is softmodding? To keep it simple, softmodding involves exploiting a software flaw of any given system, which allows it to execute other code than provided by the manufacturer of the system. In the case of the first generation of the Nintendo Switch, there is a “bug” within its Recovery Mode, which allows the Switch to execute other code when its in this recovery mode.

RCM

Speaking of the recovery mode, a commonly heard (or read) term regarding the Nintendo Switch is the “RCM” or Recovery Mode. By putting the Switch in this mode, we are able to inject code to the Nintendo Switch that allows it to run, e.g., a custom firmware or boot to a custom bootloader interface (no worries, we will cover this later on). The recovery mode can be entered by (1) powering of the Nintendo Switch, (2) removing the right joycon from the console, and (3) by shortening a set of pins along the right joycon rail while simultaneously holding down the power button and volume up buttons for a few seconds. Instead of booting up, the display should stay black, which means the Switch is in the recovery mode, ready to accept custom code!

To make it as easy as possibile to boot the Switch to the recovery mode, you can pick up an RCM jig from the list of “recommended products”. Such an RCM jig contains a set of contact pins to automatically connect the right pins of the Switch. Alternatively, if you cannot get your hands on an RCM jig for whatever reason, you can use this guide to bend a paperclip instead.

RCM jig for Nintendo Switch
RCM jig for the Nintendo Switch

Payloads

Once your Switch is in the recovery mode (RCM from now on), you can inject a so-called “payload” to the Nintendo Switch. A payload is basically a piece of custom code that can be pushed to the Switch in RCM to do a variety of things. Most of the time, you’ll either inject a payload that contains a custom bootloader (e.g. Hekate) or a payload that boots to a custom firmware (e.g. to the Atmosphere CFW). However, there are also payloads that allow you to dump the firmware files of the Nintendo Switch (TegraExplorer) or that can retrieve the console-specific keys of your Switch (e.g. LockpickRCM). In the future, I may create some guides for these specific tools but for now it is most important to understand that a payload is used to “kickstart” the hacking process of a Switch in RCM.

To actually inject a payload to the Switch, you will have to connect your Nintendo Switch to a PC (Windows is the preferred operating system since I’m used to it and may not be able to help you if you have another operating system installed). You can connect the Switch to the PC by using a Type C to Type A cable (please refer back to the list of “useful products“.). Once connected, you will have to download a program called TegraRCMGUI, which allows you to inject a payload to a Nintendo Switch connected to a PC in RCM.

TegraRCM User Interface
User interface of TegraRCMGUI

Bootloader

A bootloader is the interface that a Switch can boot to before it boots to an operating system. One of the most populair bootloader interfaces available for the Nintendo Switch has to be Hekate. This bootloader can do a lot of things, which you can read about on the Github page. The most important things it can do for you as a beginner are that (1) it can create a backup of your Nintendo Switch (Games, save data, settings, etc.), (2) it can create a so-called EmuMMC partition (discussed in greater detail below), and (3) that it can boot to a multitude of operating systems (the official firmware, a custom firmware, Android, and even Ubuntu!).

Hekate interface

In my guides, I almost always use Hekate to backup the contents stored on the Nintendo Switch (so we can always recover a Switch is something goes wrong along the way). Moreover, I use it to create an EmuMMC partition, which will be discussed next.

EmuMMC Partition

In the early days of Nintendo Switch hacking, you always had to run a custom firmware on the internal storage of the Nintendo Switch. The big “problems” of this were that (1) if something went wrong with your Switch, you might have needed to restore a backup of the Switch to recover it and (2) if you modified your Switch but wanted to also be able to play online, you always needed to recover a clean backup of the Switch storage before going online to avoid getting a console ban.

However, more recently, the preferred way to setup a custom firmware is to use an EmuMMC partition. This process can be (fully) automated in Hekate. Hekate will first of all partition a microSD card into two separate partitions. One partition is used to copy all the files from the internal storage to (System files etc. to be able to boot to the OS from the microSD card). The other partition is used for all your CFW files (ROMs, emulators, homebrew apps etc.)

Setting up EmuMMC addresses the two big problems that we previously had when we were not able to separate the CFW from the official firmware; the official firmware will no longer be modified since the CFW entirely runs of the microSD card, and we can still boot to the official firmware to play online and to access the eShop!

EmuMMC EmuNAND Setup process Nintendo Switch
The process of creating an EmuMMC partition, also often showed in my guides.

Please note that in order to use EmuMMC, you must use at least a 64 GB microSD card.

Custom firmware and Homebrew

In this final part, I will briefly discuss the custom firmware for the Nintendo Switch and I will give you a few examples of what you can actually do with a modified Nintendo Switch. First of all, the most popular custom firmware (CFW) for the Nintendo Switch is Atmosphere. This is a free and open source CFW for the Nintendo Switch that acts as the “bridge” to run homebrew applications on the Switch.

A Nintendo Switch running Atmosphere. The interface is the same as a stock Switch but you’re able to access the Homebrew Menu.

A homebrew app is basically any code that is created by an individual (or a group) and that can be executed on a console. Homebrew apps are used to “enrich” the user experience, by expanding the set of possibilities of a given console. For example, someone created a homebrew app for the Nintendo Switch that allows users to manage their save files (since Nintendo still has no easy way to create save backups). Another example is sys-clk, which is a tool that allows users to underclock or overclock the Nintendo Switch in order to either preserve battery or to increase the performance of a given game. There are also tools that allow you to upgrade or downgrade the software of a Nintendo Switch (ChoiDujourNX) and emulators that transfer the Switch into the ultimate handheld, capable of playing games from the NES, SNES, GBA and other non-Nintendo consoles.

Examples of Homebrew Apps in the Homebrew menu

To discover some useful or interesting homebrew applications, I’d advise you to install the Homebrew App Store to your Switch and browse through it to find cool stuff!

Concluding remarks

Though this guide is by no means a complete set of key terms, I hope you learned some of the basics of the Nintendo Switch and its softmodding capabilities. If there’s anything else that’s unclear to you, don’t be afraid of joining the Discord server! If you want to take the deep dive and try to modify the Switch, you can follow this guide or this video. If you need a microSD card, an SD card adapter, a USB Type C cable, or an RCM jig, check out the recommended products section!

5 Replies to “Beginner’s Guide: Understanding the basics of Nintendo Switch softmodding”

  1. Hi, I used to watch your videos in youtube for updating atmospher and firmware on my switch. I just would like to ask how can I get back to official firmware and play online and revert back to cfw easily? Currently I’m using 10.0.4|AMS 0.12.0|E

    Thanks,
    Howell

    1. As long as you’re using emuMMC (which you are judging from the “E” behind the Atmosphere version), you can simply power off the Switch and boot it up like you normally would. To boot back to the CFW, you need to boot the Switch to RCM and inject the Hekate payload again. Please see step 11 here for all the details.

      1. Great job on the guide! Best one and best explained I’ve found for sure!
        I have a switch that is soft modded exactly with this setup. I wanna play online using the official firmware, but it is asking for a firmware update. Is it safe to update the official firmware as normal? I know it won’t affect the emumcc oon my sd card, but im worried I will loose access to recovery mode.

        Is it ok to update the official firmwar?

        Thanks!!!

  2. I do trust all of the ideas you have offered in your post. They’re really convincing and can certainly work. Still, the posts are too quick for newbies. May just you please prolong them a bit from subsequent time? Thanks for the post.

Leave a Reply