For support, ask for help at #Cakey on Freenode IRC.
If you appreciate this guide, I accept Donations through Bitcoin.

This guide is for developer (“PANDA” or “SNAKE”) consoles only!
If you have a retail (consumer purchased; not from the Nintendo Developer Program) console, check out the standard Guide

This guide needs your help to seed these torrents!

To use the torrent files in this guide, you will need a torrent client like Deluge

Read all of the introductory pages before proceeding.

What is Homebrew?

Homebrew usually refers to software that is not authorized by Nintendo. It allows you to run homebrew games, tools like save editing and backup, and emulators for various older systems.

In most cases, running homebrew on your console is 100% free using just the browser.

What is Custom Firmware?

Custom Firmware (“CFW”) enables you to use more advanced hacks that userland homebrew can’t easily do. For instance, signature patches let you install unsigned titles that appear right on your HOME Menu.

CFW can be easily set up on any dev console version

What does this guide install?

This guide has the end goal of taking a completely unmodified 3DS from stock firmware to boot9strap powered Custom Firmware. On some versions, it utilizes homebrew as a stepping off point, but Custom Firmware is still the goal.

boot9strap is the newest and best method of launching Custom Firmware that gives us nearly full control of the system only milliseconds into boot, which is similar to the effect of BootMii for the Wii. It gives us even earlier control than arm9loaderhax did, and, unlike standard sighax, boot9strap uses an NDMA overwrite exploit in order to gain Boot9 code execution. This means that any console running boot9strap is capable of dumping the console unique OTP (OTP.bin), the ARM11 bootrom (boot11.bin), and the ARM9 bootrom (boot9.bin).

The benefits of boot9strap over other Custom Firmware launch methods are numerous, and as such it is recommended to use this guide over any other that relies on outdated software (such as menuhax + rxTools, arm9loaderhax, or even normal sighax).

For information on how boot9strap works, please see this presentation by SciresM.

For a list of each of the calculated sighax signatures (the platform boot9strap is built on), see this gist.

What can I do with Custom Firmware?

  • Play all game cards and eShop games, regardless of region
  • Customize your HOME Menu with user-created themes, badges, and splash screens
  • Use “ROM hacks” for games that you own
  • Take gameplay and application screenshots
  • Backup, edit, and restore saves for many games
  • Play games for older systems with various emulators, using RetroArch or other standalone emulators. (Works best with a New Nintendo 3DS)
  • Install homebrew titles to your system, and have them appear on your HOME Menu
  • Dump your game cards to a format you can install, and play them without needing the card
  • New 3DS only: stream live gameplay to your PC wirelessly with NTR CFW
  • Run many old Nintendo DS flash carts that were blocked long ago or never worked on Nintendo 3DS
  • Safely update to the latest system version without fear of losing access to homebrew

What do I need to know before starting?

  • Before beginning the guide, you must know the risks of 3DS hacking: EVERY time you modify your system, there is always the potential for an UNRECOVERABLE brick. They’re rare, but still a possibility so make sure you follow ALL directions EXACTLY.
  • This guide will work on New 3DS, Old 3DS, and 2DS in all regions on on all firmwares (except for Old 3DS JPN due to a missing 0.23.5 firmware pack).
  • If everything goes according to plan, you will lose no data and end up with everything that you started with.
  • A large part of this guide is lengthy NAND dumps and downgrades, so the entire process can take several hours thanks to the 3DS’s slow processor.
  • Keep the device plugged in and charged throughout the entire process to avoid data loss or damage from an unexpected power-off!
  • Your SD card should be MBR, not GPT (the SD card that comes with the device will be MBR by default).
  • If you need to format a brand new SD card, you can use guiformat and set to an Allocation Unit Size of 32K.
  • The 2DS is essentially identical to the Old 3DS in terms of software, and that any steps which say “Old 3DS” also apply to 2DS.