Homebrew Launcher (PegaSwitch)


For support in English, ask for help at ReSwitched on Discord.
If you appreciate this guide, I accept Donations.


Required Reading

On firmwares 1.0.0 - 2.3.0, the Homebrew Launcher is currently “installed” to your device through a script ran through PegaSwitch.

This will allow you to access the Homebrew Launcher through the Album application until your device is rebooted, after which you must rerun the script to restore Homebrew Launcher functionality.

After a reboot, you will have to re-run this secondary exploit in order to re-enable Homebrew Launcher access on your device. Additionally, note that this secondary exploit will also prevent you from playing retail games for as long as it remains active (until your device is rebooted).

If you are familiar with iOS device “jailbreaking”, this idea could be considered analagous to a “tethered jailbreak”.

Note that, while these instructions also work on firmware version 3.0.0, it would be far easier to instead follow Homebrew Launcher (Installer) for that firmware version.

What you need

Instructions

Section I - Prep Work

  1. Power off your device
  2. Insert your SD card into your computer
  3. Copy hbmenu.nro from the nx-hbmenu .zip to the root of your SD card
  4. Copy hbl.nsp to the root of your SD card
  5. Create a folder named switch on the root of your SD card if it does not already exist
  6. Reinsert your SD card into your device
  7. Power on your device

Section II - PegaSwitch Configuration

  1. After downloading the latest version of PegaSwitch, copy nsp.js to PegaSwitch/usefulscripts
  2. Start CMD / Terminal and cd to the PegaSwitch folder
  3. Run npm install; this will install the node modules that PegaSwitch depends on
  4. Start PegaSwitch by running the command corresponding to your operating system
    • Linux/macOS: Run sudo node start.js and make note of the IP address it displays
    • Windows: Run node start.js and make note of the IP address it displays
  5. Exit PegaSwitch by inputting Ctrl+C twice

Section III - DNS Configuration

Note that these DNS servers will need to be set on each network you connect your device to in order for it to be able to trigger the exploit.

  1. Launch System Settings
  2. Navigate to Internet -> Internet Settings
  3. Select your current network
    • This is signified by a green check mark next to the network
  4. Select “Change Settings”
  5. Set “DNS Settings” to “Manual”
  6. Set “Primary DNS” and “Secondary DNS” to the IP address displayed by PegaSwitch
    • This is usually in the format of 192.168.1.XXX
  7. Save the network settings
  8. Exit System Settings

Section IV - Initial Installation

Note that you will have to re-run this section of the exploit after each reboot in order to re-enable access to the Homebrew Launcher.

Option i - Firmware Version 1.0.0

Note that this option only applies devices with firmware version 1.0.0; if you have firmware versions 2.0.0 - 2.3.0, scroll down to “Option ii - Firmware Versions 2.0.0 - 2.3.0”.

Note that firmware 1.0.0 currently requires a Japanese copy of Puyo Puyo Tetris S in order to connect to PegaSwitch for the first time. After that, an alternative method of connecting to PegaSwitch will become available.

  1. Ensure your firewall does not block incoming connections to UDP port 53 or TCP ports 80 and 8100
  2. Launch PegaSwitch in your command/terminal prompt by typing sudo node start.js --webapplet
  3. Launch Puyo Puyo Tetris S on your device
  4. Press A and then press R
  5. Press A and touch the bottom-most menu item labelled “お問い合わせ先”
  6. Touch the SEGA logo in the bottom-left corner; this will launch the webapplet and load the PegaSwitch webpage.
  7. PegaSwitch on your PC should show that your device has connected and show its firmware version and MAC address in the prompt.
  8. In PegaSwitch on your computer, type evalfile usefulscripts/nsp.js
  9. Press the Home button to exit
  10. Launch the Album applet
  11. If the exploit was successful, the Homebrew Launcher will launch
Option ii - Firmware Versions 2.0.0 - 2.3.0

Note that this option only applies devices with firmware versions 2.0.0 - 2.3.0; if you have firmware version 1.0.0, scroll up to “Option i - Firmware Versions 1.0.0”.

  1. Launch PegaSwitch in your command/terminal prompt by typing sudo node start.js
  2. Navigate to Internet -> Internet Settings
  3. Select your current network
  4. Select “Connect to this Network”
  5. If the DNS connection was successful, you will see the message “Registration is required to use this network.”
  6. Select “Next”
  7. The PegaSwitch webpage will load
  8. PegaSwitch on your PC should show that your device has connected and show its firmware version and MAC address in the prompt.
  9. Run evalfile usefulscripts/nsp.js
  10. Press the Home button to exit
  11. Launch the Album applet
  12. If the exploit was successful, the Homebrew Launcher will launch

Section V - Fake News (Optional)

As you must re-run the “Initial Installation” section of the exploit after each reboot, it would be ideal if there was a more convenient way of connecting to PegaSwitch.

Fortunately, we can install a fake entry into the News applet (the “Fake News” exploit) which can make connecting to PegaSwitch significantly easier.

Note that modifying system save data can brick your device permanently if you are not careful! It is highly recommended to avoid editing the installFakeNews.js script to avoid damaging your device.

  1. In order to do so, connect your device to PegaSwitch as in Section III
  2. Once connected to PegaSwitch, run evalfile usefulscripts/installFakeNews.js and wait for it to finish
  3. Reboot your device and you should see a PegaSwitch news entry
  4. To trigger Fake News, start PegaSwitch on your PC with sudo node start.js --webapplet and then select the Fake News entry on your device and tap to open the “video”

Note that, currently, homebrew development is in a very early state with a very limited number of applications.

You can find available applications on switchbrew, /r/SwitchHacks on reddit, or Switch Homebrew on GBAtemp.

To install homebrew applications, simply copy the homebrew .nro file to the /switch/ folder on your SD card.


You can now launch the Homebrew Launcher by launching the Album application from your device’s home menu (until your device is rebooted).

You will now be unable to launch retail cartridge or eShop games (until your device is rebooted).

You will need to re-run evalfile usefulscripts/nsp.js with PegaSwitch (using any browser applet) after each reboot in order to re-enable Homebrew Launcher access on your device.

For regular homebrew and development progress summaries, check the ReSwitched Weekly blog regularly.

For information on contributing to homebrew development as a developer, check out the Homebrew Development page.