Exploring The World Of Nintendo 3DS Homebrew

When Nintendo officially ended production of the 3DS in September 2020, it wasn’t exactly a surprise. For one thing, some variation of the handheld system had been on the market since 2011. Which is not to say the product line had become stagnant: the system received a considerable mid-generation refresh, and there was even a more affordable variant introduced that dropped the eponymous stereoscopic 3D effect, but nearly a decade is still a fairly long life in the gaming industry. Of course Nintendo’s focus on the Switch, a hybrid device that blurs the line between console and handheld games, undoubtedly played a part in the decision to retire what could effectively be seen as a competing product.

While putting the 3DS out to pasture might have been the logical business move, a quick check on eBay seems to tell a different story. Whether it’s COVID keeping people indoors and increasing the demand for at-home entertainment, or the incredible library of classic and modern games the system has access to, the fact is that a used 3DS in good condition is worth more today than it was when it was brand new on the shelf this time last year.

I’ve certainly made more expensive mistakes.

In short, this was the worst possible time for me to decide that I finally wanted to buy a 3DS. Then one day I noticed the average price for a Japanese model was far lower than that of its American counterpart. I knew the hardware was identical, but could the firmware be changed?

An evening’s worth of research told me the swap was indeed possible, but inadvisable due to the difficulty and potential for unexpected behavior. Of course, that’s never stopped me before.

So after waiting the better part of a month for my mint condition 3DS to arrive from the land of the rising sun, I set out to explore the wide and wonderful world of Nintendo 3DS hacking.

Joining The Fun

Here’s the best part about homebrew on the 3DS: every version of the hardware, no matter what region it’s from or what firmware version it’s running, can be hacked with just an SD card and some open source software. What’s more, since Nintendo has now moved on to bigger and better things, it’s fair to assume that the community has won. There’s no new hardware revision coming, and even if Nintendo felt inclined to push out another firmware update just to confound anyone running unofficial software on their 3DS, there’s no way they could force you to install it. It’s a party, and everyone’s invited.

The first step down the rabbit hole.

There are various exploits that can be used depending on the current firmware your 3DS is running, but the easiest and most expedient method of getting your 3DS running non-Nintendo software is through a vulnerability in the system’s Internet browser. With the appropriate files on the SD card, you just need to point the 3DS browser at a specific URL to trigger the exploit. Thanks to the browser’s ability to read QR codes, you don’t even need to type it in: just scan the special code, and you’re on the way to homebrew nirvana.

To be clear, there’s still quite a bit more you need to do. Getting the files on your SD card and triggering the exploit is only the first phase. Before it’s all said and done you’ll need to restart the 3DS a few times, put more files on the SD card, and install a number of programs on the system. None of it’s difficult, but there are a dizzying number of steps and it would be easy to get lost without a good guide.

Thankfully, members of 3DS community have produced some of the most comprehensive and user friendly documentation I’ve ever seen. The guide they’ve created walks you through each step of the process in exacting detail, and as long as you don’t skip any steps, in the end your system will be loaded up with the latest version of the Luma3DS custom firmware.

Unlocked Potential

Homebrew software installed in Luma3DS

Personally, when I hear the term custom firmware I think of something like DD-WRT or Aaron Christophel’s work with Xiaomi Bluetooth thermometers. In other words,  firmware replacements that leave you with essentially a completely different device. So part of me was surprised when I rebooted my system into Luma3DS and everything appeared to be exactly the same. I even wondered for a minute or two if I’d done something wrong.

After a closer look at the project’s GitHub repository, the situation became clearer. While the community refers to it as a custom firmware, it would be more accurate to say that Luma3DS patches the system’s stock firmware to enable an extended feature set. A major part of that is enabling the user to install and run non-Nintendo applications, but there’s also a system menu, accessed with a special button combination, that lets you tweak more advanced settings.

With Luma3DS installed, the 3DS retains 100% of its original functionality. You can still play all your games, connect to the eShop to download new titles, and play online with others. It’s apparently even safe to install an official firmware update with it installed, though again, it’s unlikely any more of those are coming down the pike.

Getting the Goods

Generally speaking, 3DS software comes in two distinct forms. Smaller tools and programs are likely to be offered as a .3dsx file, which is a self-contained executable that you can run through a tool called Homebrew Launcher that gets installed along with Luma3DS. This works well enough for one-off applications, but can become annoying as it takes several steps to start the software from a cold boot.

The alternative, preferred for larger and more complex pieces of software, is the CTR Importable Archive (CIA) or .cia file. These archives contain not only the software itself, but the necessary metadata to actually install them as if they were an official game or application downloaded from the Nintendo eShop. Since software installed via CIA appears on the 3DS’s main menu, it’s much faster and easier to access than going through the Homebrew Launcher first.

prboom for the 3DS

But there’s a catch. Installing a CIA file isn’t as easy as just dragging and dropping it onto the system’s SD card. The archive needs to be properly unpacked by a so-called title manager, the most popular of which is known as FBI and runs on the 3DS itself. Once unpacked and installed, the original CIA file can be deleted, as otherwise each application would end up taking up twice as much space as necessary on the SD card.

It’s a bit awkward, but there are a few tricks to speed up the process. For one thing, FBI can load a CIA file from the local network or Internet by scanning its URL from a QR code, thereby removing the need to manually place the CIA file on the SD card prior to installation. This has become a very popular way of distributing homebrew on the 3DS, and you’ll often see these codes posted on messages boards or GitHub.

Even still, unpacking a CIA on the 3DS itself is rather slow due to the system’s inherent hardware limitations. For those who aren’t willing to wait, there are projects such as custom-install that allow you to process CIA files on your computer. Running on a vastly more powerful processor and with the benefit of high-speed access to the SD card, these tools can get software installed and ready to go on the 3DS in a fraction of the time it would take with FBI.

Cultural Differences

Just like the custom firmware installation process, switching your system’s region is very well documented. I had no problem getting the US firmware on my 3DS, though it should be said the process takes considerably longer than getting Luma3DS installed in the first place. Unfortunately, once the region is switched, you can no longer access Nintendo’s official services for purchasing software, downloading updates, or playing online. That said, local wireless multiplayer with American consoles works as expected and you can still run physical retail games.

I’ve noticed a few odd glitches as well, though nothing really critical. One time, the system claimed it needed to install a firmware update, and then after a minute or two of downloading files, tossed up an error message. The firmware will also lock up after I check the system notifications, but they are fairly annoying in the first place so I just turned them off.

So is switching regions worth it? I’d say that depends on how you plan on using the system. If you’re more interested in running your old favorites through RetroArch than you are playing modern games, absolutely. But if you want to get the most out of the system, including its various online functions, the downsides from switching regions will likely outweigh the financial savings.

A Rekindled Interest

Before buying this 3DS, it had been over a decade since I owned a portable console. I barely have time to play games at home, let alone on the go. But the incredible back catalog of titles that are either directly playable on the system or can be run through one of the open source emulators available for it, was extremely compelling. Add to that a wide array of original homebrew games and the ongoing effort to port Linux to the system, and it was just too much to pass up. Installing a custom firmware on the 3DS turns an excellent system into an incredible one, and these days I find myself spending quite a bit of time fiddling around with this dual-screen wonder. I’m even thinking of updating to one of the later models of the 3DS, but that’ll be a story for another time.

While it’s always difficult to predict the future, it’s not hard to imagine that the Nintendo 3DS may well be the last true portable game system. Smartphones and tablets have largely taken over the market, and while the Switch is technically mobile, it just can’t compare with the svelte clamshell design that’s been a hallmark of Nintendo’s portables since the Game Boy Advance SP. So if this is the last of the purebred portables, at least we can say that the homebrew community is making sure it goes out with style.

18 thoughts on “Exploring The World Of Nintendo 3DS Homebrew

  1. I never did get a 3DS. I loved the DS, though. Specifically, the DS Lite was a great size, at a great price, and with an amazing library of games. It was also easy to run homebrew on with a simple flash cartridge.

    The GBA was also a really nice system and with IPS screen replacements widely available now, you can play original games on original hardware without compromise. Now, if only the market for the original game cartridges didn’t reflect this renewed interes…

  2. I’ve never had a 3DS, but I’ve purchased a few PlayStation Portables. They are also super hackable, but the community for them seems to be past its peak. Jailbreaking is super easy though, you’d just have to load a program over USB through the proper method. After running, any unsigned firmware can be run, and you have access to more menu options.
    My favorite games on the PSP weren’t even pirated games, it was emulators and homebrews. Not all N64 games would work because of the PSP’s lack of a second joystick, but Mario Kart 64 ran flawlessly, and the controls worked fine. That, and a port of Cave Story are probably my most played games on it.
    There was one boss I just couldn’t beat, so I turned down the CPU clock speed from the CFW menu. Then the game played in slow motion

    1. The vast majority of the PSP homebrew scene migrated to the Vita, which was so absolutely backwards compatible that they already had a fantastic foundation to work from.
      But even in 2021 there are still new solid Homebrew releases for the Vita, such as GTA 3, VIce City, and San Andreas.

      I can’t solidly recommend one over the other, because both the 3DS and the Vita have such an incredibly well developed homebrew scene and amazing libraries.

  3. Note that the price of Nintendo handhelds seems to have skyrocketed due to COVID. A year a go a 2nd hand gameboy color was like $30, right now they are over double that.

  4. The 3DS is still one of my favorite consoles to hack, matter a fact I always recommend anyone do it for the emulation as well, even the open source Super Mario 64 has a .CIA port for the 3DS with 60FPS as well. I have an awesome Windows XP theme that looks great on my home menu and the amount of custom Virtual Console .cia roms floating around the Internet is amazing! It’s also good for making backups of your games as well.

    1. Yep! Both Old and New model, 2DS or 3DS, XL or not. It works with every revision. Comprehensive tutorial at https://3ds.hacks.guide, takes 15 minutes tops and virtually impossible to do wrong.

      Once you’re done, you can run RetroArch on them, stream video wirelessly to a PC without the need of a capture card using NTR-CFW, and play mods/romhacks of your favorite games (I’m particularly partial to CTGP-7, a MarioKart 7 mod that adds 56 new tracks, some community made and some ports of tracks from other games.)

    1. So I actually just spent a few minutes playing with this, and as near as I can tell, the black(ish) background of the site seems to be confusing the QR reader library. The QR code itself is from the Universal-DB, but they have it on a white background:

      https://db.universal-team.net/3ds/prboom3ds

      It worked when I was writing the article in the WordPress editor, since that also has a white background. But now that it’s on the site, it doesn’t scan. Suppose there’s a “test as you fly” lesson in there.

  5. I really appreciate this article, which reflects appropriately what I experienced one year ago.
    This felt for me like a renewed interest for portable consoles, and I finally bought tens of broken consoles to repair. It was pretty cheap at that time, around 20 bucks!
    Each kid at home has now one new 3ds xl, rather than a switch, and they love it: it’s sleek, compact, and the game catalog is absolutely huge between 3DS games, the DS games and all other emulated games.
    I’d like to thank here the wild community at gbatemp which is helping fans on any topics (hardware, software, homebrew, cheats, etc.)

    Other topics worth mentioning:
    -Anemone is the way to go to personalize your 3ds. Install it and go to themeplaza, scan the qrcode of your favorite ones among the thousands created by fans
    -No need for a game cart anymore for DS games, it opens a brand new world of titles working with 2 screens
    -retroarch is nice, but the 3ds is kind of not powerful for some emulators, and some will not work fast enough. For example, if you want to play arcade games like neogeo or capcom, you’re better off with a PSP – 20 bucks!
    -Zone change is dangerous, and might not work fully as intended, especially with the eshop. I did this on 3 consoles (Japan to Europe) and got the eshop, parental control to work on only one
    -If you have the choice, pick a new 3DS / new 3DS XL, they are more powerful and some games do not run on old 3DS

    1. Agree on the “get a NEW 3DS” part. In addition to having a much faster CPU and more RAM + VRAM, it has NFC support and the 3D screen is a bit bigger and better. Also it uses micro SD cards which I find convenient. It is also equally hackable, but homebrew development support is a bit lacking atm. It runs homebrew DS, DS lite and 3DS apps and games just fine though.

    2. I wanted to start with the cheapest system I could find just to get a feel for things and see how the CFW process would go, but I’m already seeing some of the limitations of the hardware. In the near future I plan on getting a Japanese New 3DS LL and putting CFW on it, and then this one will probably go to my daughter for Animal Crossing.

  6. About four months ago I also bought a Japanese unit and jailbroke it. This article is a really good primer and corresponds with my experience. The only addition I would make is to point out that you do not need to region switch your 3DS. Once jailbroken, you can play any game from any region. You can also set the per-game language/region settings, though this does not always work. I’ve found a couple games where the JS and US languages are bundled together, and attempting to switch the per-game region/language still results in the Japanese version running. This has been rare though.

  7. It feels so weird to read a proper article where people are boasting a guide that you’ve directly contributed to – it’s just sort of the last thing you expect to see with the only discussion around the guide usually being either talking about and correcting it’s issues or helping users who are struggling with understanding it.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.