Homebrew A noob's guide to DSi hacking end-to-end.


Jan 1, 2018
United States
Update: This guide is already outdated as of 1/26/18. It may still work, and you may find the steps helpful to review, but I don't guarantee it. Please at least read more recently updated guides to make sure you're following the right steps.

I've attempted to install homebrew on my USA version DSi XL, and in the process discovered a lot of guides and tools that don't quite lead a noob through the whole process. This is my attempt to share what I've learned for others who are in the same boat as I was in a few days ago.

Disclaimer: I'm not an expert, and while this worked for me in January 2018 it may be outdated quickly. Please carefully read more authoritative guides to ensure you don't brick your DSi.

My goals when starting out:
  1. Prepare to install HiyaCFW (custom DSi firmware) via RocketLauncher (an exploit) in the future. Neither are released as of this posting.
  2. Install homebrew applications and emulators to my DSi XL's SD card, so that I don't need to use a flashcart.
Requirements for following the below guides, as best I can tell:
  1. A USA version DSi or DSi XL (your firmware version should have a "U" next to it, like "Ver 1.4.5U").
  2. An empty SD card, formatted FAT32, which you can use in your DSi (pro tip, the SD card port is on the right side of the console, don't go unscrewing the battery door like me). Also, an SD card reader for your PC. I used a 4GB SDHC card but you might get away with as low as 1GB if you don't want to put many homebrew programs on it and if the tools we're using don't require an SDHC card specifically.
  3. A Windows PC (or OSX/Linux computer with Wine installed, I think). I'm going to be describing how I used a Windows PC.
  4. Flipnote Studio already installed on your DSi/DSi XL. If you don't have this, I believe you're out of luck unless you have another exploitable DSiWare title installed on your DSi (if you recently acquired a used DSi like me, probably not) or are willing to hardmod your DSi and have the soldering skills to do so. I will assume you have Flipnote Studio installed.
The guides/processes I followed - read these first in case requirements or processes have changed:
How I hacked my DSi end-to-end:

Goal 0: Prep
Set up to hack your DSi.
  1. Ensure you have all the requirements listed above.
  2. Insert your SD card into your PC's card reader. Format your SD card FAT32, just to make sure, and give it a descriptive name (like "burgundyxldsi").
  3. Create a space that you can use to organize all the files you'll be moving around. I created a folder in my Documents folder called "DSi Hacks" ("C:\Users\roygbiv\Documents\DSi Hacks\"). I created subfolders under that, "Downloaded Files", "Extracted Utilities", and "DSi NAND Backups".
  4. Ensure your DSi is fully charged, and you're able to leave it charging somewhere near your computer (at least for those steps in the process that you don't want to risk losing power, like when you're flashing system NAND).
  5. Download 7z if you don't have it. I recommend installing the 64bit installable version, assuming you are using a 64bit OS.
  6. Download a hex editor (I recommend HxD, scroll down to find the English portable version 2/3s of the way down this page, and use 7z to extract HxD.exe to "DSi Hacks\Extracted Utilities".
  7. Download OSFMount (64bit if your OS supports it, otherwise 32bit) and install it.
  8. Download and install a torrent client if you don't have one.
  9. Download Python 3 (I recommend the 64bit portable version, but here are all the downloads). If you downloaded the portable version, use 7z to extract it to "DSi Hacks\Extracted Utilities\python364\".
  10. Eject your SD card from your PC and insert it into your DSi.
  11. Power on your DSi and open "System Settings". Ensure that "Data Management" is the first option on the lower screen. If it doesn't appear, connect to the Internet on your DSi, open the DSi Shop from the DSi Menu, and then return to System Settings and check again.
  12. (Optional) Ensure that the date and time are correctly set on your DSi. This is so you don't confuse yourself when looking at files on the PC, and wonder why the creation date/time doesn't make sense. Note the DSi uses a 24-hour clock, so if it's 6:50pm, set the time to "18:50".
  13. In System Settings, check your firmware version, in the lower right corner of the upper screen. If the version number is lower than 1.4, scroll right on settings until you reach "System Update", connect to the Internet, and update to version 1.4.5U. If it is exactly 1.4 (i.e. "Ver 1.4U", then you will be able to skip the "Goal 1" section - you're on the ideal firmware version. If it is above 1.4 (mine was 1.4.5U), then continue to the next section, "Goal 1".

Goal 1: Prepare for HiyaCFW by downgrading to 1.4, using ugopwn
Follow jerbear64's guide to utilize ugopwn and downgrade to 1.4U.
  1. Navigate to jerbear64's downgrading guide and download all files linked under "What you need" (except Python 3, which we downloaded under "Set up"), to "DSi Hacks\Downloaded Files\". Extract dsi_srl_extract.zip to "DSi Hacks\Extracted Utilities\dsi_srl_extract\", and NUSDownloader_v19_DSi.zip to "DSi Hacks\Extracted Utilities\NUSDownloader_v19_DSi\".
  2. Follow all instructions in Section I. If you can't double-click on console_id.py to run it, you may need to right click on it, select "Open with", and browse for "python364\python.exe".
  3. Follow all instructions in Section II. I recommend copying nand.bin to your folder "DSi Hacks\DSi NAND Backups\" and renaming it to nand_original.bin - or, if you're ever going to hack other DSis, giving it a unique name for the console like "burgundyxl_nand_original.bin".
  4. Follow all instructions in Section III. You should now be ready to install RocketLauncher and HiyaCFW when they come out! If that's all you want, you can stop here.
  5. (Optional) If you aren't planning on using Python for anything else, you can delete the "python364\" folder if you extracted the embedded python .zip to that folder as I recommended (or uninstall Python if you used an installable version). I don't like having random versions of programming languages sitting around on my PC, and you don't need it for the rest of these guides.
  6. If you want to install homebrew now without HiyaCFW available, move on to "Goal 2".

Goal 2: Install SRLoader to launch homebrew, utilizing sudokuhax
Set up DSi NAND Tool for convenience, inject sudoku and sudokuhax into your NAND backup, and install SRLoader.
  1. Switch off your DSi and insert its SD card into your PC.
  2. We are now going to switch from using twlnf to fwTool, which it was based upon, because I couldn't figure out how to do everything necessary in twlnf. Download fwTool (get the latest .nds file, and download to "DSi Hacks\Downloaded Files\"). Note that this is a forked version of fwTool, which was originally developed by WinterMute. It worked for me, but if you have problems you can try the version found under "What you need" on this webpage instead.
  3. In your SD card volume, delete "nand.bin", "nand.bin.sha1", and "boot.nds" (which was originally twlnf.nds, remember).
  4. Copy fwTool.nds to the root of your SD card. Rename that file to boot.nds.
  5. Eject your SD card and insert it into the DSi. Switch on the DSi.
  6. Open Flipnote Studio and trigger ugopwn using the method you used before. (Steps 11-24 in Section I of the downgrading guide.)
  7. Now you're in fwTool. Select "Dump CID", "Dump NAND", and then once it's finished, "Exit" to shut down your DSi. (There are other interesting things you can do with fwTool like "Dump BIOS", but you don't need the other functions of the tool in order to follow these guides).
  8. Remove the SD card and insert it into your PC. In your SD card, open the folder that looks like "FWxxxxxxxxxxxx" and copy CID.bin to a handy folder (you can put it in "DSi Hacks\Extracted Utilities\dsi_srl_extract\" as that's where "console_id.txt" is stored.
  9. Launch your hex editor, like HxD, and open CID.bin. Select the whole contents of the file, copy, and paste into a blank text document. Remove the spaces, and save the document as "cid.txt" in the same folder.
  10. Copy "nand_dsi.bin" to "DSi Hacks\DSi NAND Backups\" and rename it to something like "burgundyxl_nand_downgraded.bin".
  11. Open both console_id.txt and cid.txt in a text editor like notepad or Notepad++.
  12. Download the DSi NAND Tool from this post, and extract the zip file's contents to "DSi Hacks\DSi_NAND_Tool_v3.1\". Run DSi_NAND_Tool_v3.bat.
  13. Enter a nickname of your DSi (A-Z, 1-9, spaces are allowed) and press enter. (i.e. nickname "burgundyxl")
  14. Copy the contents of cid.txt and right click to paste into the DSi NAND Tool window, then press enter.
  15. Copy the contents of console_id.txt and right click to paste into the DSi NAND Tool window, then press enter. You should see what you named your DSi in the program. Start typing your DSi nickname and press TAB to auto complete, and then press enter to access NAND/ticket functions. Leave the window open for now.
  16. (Optional) If you're going to hack other DSis, you can create a folder inside the "DSi Hacks\DSi_NAND_Tool_v3.1\DSIs\" folder, and name it what you'd like your DSi's nickname to be. Inside the "\DSIs\yourDSIname\" folder, create two new text documents, cid.txt and consoleid.txt (note, not "console_id.txt"), and paste in the respective IDs for that new DSi to the correct file.
  1. Copy your "***_nand_downgraded.bin" from "DSi Hacks\DSi NAND Backups\" to "DSi Hacks\DSi_NAND_Tool_v3.1\DSIs\[YourDSiName]\" (replacing [YourDSiName] with the nickname you gave your DSi in DSi NAND Tool).
  2. Rename it to "nand_dsi.bin".
  3. In the window where DSi_NAND_Tool_v3.bat is running, press "2" to decrypt your NAND. It should create a file named "NAND_DEC_NNNNNNNNNNNNNNNN" (the Ns here represent your console ID) of about the same size as "nand_dsi.bin".
  4. Delete "nand_dsi.bin".
  5. Download the Easy Sudoku+Sudokuhax installer from this post to "DSi Hacks\Downloaded Files\". Use 7z to extract the contents of the .zip to "DSi Hacks\Extracted Utilities\DSi_Sudoku_Installer\".
  6. Use your torrent client to download DSiWare_usa_sudokuhax_injection.zip from this page to "DSi Hacks\Downloaded Files\". Extract "sudoku_v0.app" from the .zip to "DSi Hacks\Extracted Utilities\DSi_Sudoku_Installer\".
  7. Open OSFMount and select "Mount new...". Under "Image", click the "..." button and navigate to "DSi Hacks\DSi_NAND_Tool_v3.1\DSIs\[YourDSiName]\", selecting file "NAND_DEC_NNNNNNNNNNNNNNNN".
  8. Select "Partition 0" (about 200 MB) and press "OK". Uncheck "Read-only drive" and press "OK".
  9. Under "Mounted virtual disks" in OSFMount, see what the drive letter is for your virtual NAND disk (mine was "G:")
  10. In "DSi Hacks\Extracted Utilities\DSi_Sudoku_Installer\", run DSi_Sudoku_Installer.bat, open "DSi Hacks\DSi_NAND_Tool_v3.1\DSIs\[YourDSiName]\consoleid.txt" and copy your console ID, right click to paste it into the "SUDOKU INSTALLER" window when prompted.
  11. When prompted to "Enter DSi drive letter", enter the drive letter you found in step 9, without a trailing ":" or "/" (for me, I had to enter "G" without the quotes). The installer should give you a success message upon completing. Close the installer window.
  12. In OSFMount, select your virtual NAND disk and select "Dismount". If it asks you to force dismount the virtual disk, select "No" and close any command windows or File Explorer windows that might be using the virtual disk before attempting to dismount again. Exit OSFMount.
  13. In "DSi Hacks\DSi_NAND_Tool_v3.1\", run DSi_NAND_Tool_v3.bat. Enter your DSi's nickname, and press "1" to re-encrypt the NAND.
  14. Copy the resulting file, "DSi Hacks\DSi_NAND_Tool_v3.1\DSIs\[YourDSiName]\NAND_ENC_NNNNNNNNNNNNNNNN" (where the Ns are your console ID) to "DSi Hacks\DSi NAND Backups" and rename the file to "***_nand_with_sudokuhax.bin" (where *** is the name you gave your DSi).
  15. Download No$GBA to "DSi Hacks\Downloaded Files\" and extract the .zip to "DSi Hacks\Extracted Utilities\no$gba\".
  16. Copy "DSi Hacks\DSi_NAND_Tool_v3.1\DSIs\[YourDSiName]\NAND_ENC_NNNNNNNNNNNNNNNN" to "DSi Hacks\Extracted Utilities\no$gba\" and rename the file to "DSI-1.mmc"
  17. Download the last two files under "What you need" on this webpage (the Nintendo DSi BIOS and the DSi footer template) to "DSi Hacks\Downloaded Files\".
  18. Extract the contents of "\DSi Hacks\Downloaded Files\DSi firmware files.zip\DSi firmware files\" to "DSi Hacks\Extracted Utilities\no$gba\". Copy "dsi footer template.bin" to the no$gba folder, also.
  19. Follow the directions in this post, Section 4, steps 5-19 under "No$GBA emulation instructions".
  20. Open the root of your SD card and delete "nand.bin" and "nand.bin.sha1" if they exist there.
  21. Copy "DSi Hacks\DSi_NAND_Tool_v3.1\DSIs\[YourDSiName]\NAND_ENC_NNNNNNNNNNNNNNNN" to the "FWxxxxxxxxxxxx" folder on your SD card, and rename it to "nand_dsi.bin".
  22. Eject your SD card and insert it into the DSi. Switch on the DSi.
  23. Open Flipnote Studio and trigger ugopwn using the method you've now used multiple times. (Steps 11-24 in Section I of the downgrading guide.)
  24. Select "Restore nand_dsi.bin". Press Start + Select when prompted.
  25. After the process is complete, choose Exit. This should turn off your DSi.
  26. Switch your DSi on. Select the blue wrapped gift in the menu, and tap or press A twice to open Sudoku. Tap at the "Start" screen, and sudokuhax should launch fwTool (which means that sudokuhax is working!).
  1. Warning: don't follow these instructions until I figure out what I did wrong. This is just for reference if others have recommendations of incorrect steps.
  2. Open the SRLoader instructions in a tab for reference.
  3. Download the latest version of SRLoader to "DSi Hacks\Downloaded Files\" (you want the most recent .7z file).
  4. Erase the current contents of your DSi's SD card. (Is this what I did wrong?)
  5. Extract the contents of SRLoader.7z to the root of your SD card.
  6. Copy a DS ROM (.nds) file for a homebrew program or compatible game into the "\roms\nds" folder onto the SD card, deleting the file that says "Place NDS ROMs here". Eject the SD card and insert it into your DSi.
  7. Switch the DSi on, and launch Sudoku, tapping at the start menu to trigger sudokuhax. SRLoader will launch. It should bring up a menu that looks like the DSi menu.
  8. If you're just using homebrew apps, you may be able to get away without using a donor ROM; press Start to enter the menu, then R, and scroll down to "Use donor ROM". Press A twice to select "Off", then press B, and you can select your homebrew .nds to launch it.
  9. According to Robz8, if you're playing DS game ROMs, load Mario Kart DS into the SD card's "\roms\nds" folder, than in the SRLoader menu scroll to that ROM and press Select, to set it as the donor ROM.
  10. If your ROM launched successfully, you're done! If it displays "Error", you might be me. :'(

P.S. Thanks to the creators of the linked guides, and all the developers of the tools used, including @WulfyStylez, @Robz8, @nocash123 , @dpad_5678 , @jerbear64, @JimmyZ, @ThisIsDaAccount, and the many others I've certainly forgotten. Y'all do awesome work for the community.
Last edited by roygbiv,


Jan 1, 2018
United States
Update: I've been able to get NDS games working after erasing my SD card and extracting SRLoader v2.1.0 to the SD card!

The above guide is already out of date, though, as @jerbear64 has already updated his 1.4 Downgrading guide. Be very cautious if you follow my directions above, as the steps I refer to may no longer be the same as they were when I wrote up my process.
Last edited by roygbiv,


New Member
Nov 21, 2020
United States
This guide (as of November 2020) is at: dsi.cfw.guide

(It originally moved to jerbmega.github.io/ - and now redirects to the DSi section at cfw.guide.)

((Hopefully I can figure out how to reinstall Brain Age Express: Arts & Letters that was deleted from the DSi XL we bought second-hand.))
  • Like
Reactions: roygbiv
General chit-chat
Help Users
    Dark_Phoras @ Dark_Phoras: Related to the chinese bread I ordered