Nintendo 3DS Homebrewing
-
Getting Started Guide
By Drake Rochelle
Hello! This is the simplest way to make your own homebrew apps for the Nintendo 3DS using
C/C++!
This tutorial is designed for Windows 10/11, so if you’re on linux or mac, I, unfortunately, will not
be of much help to you.
You will need at least 2.5GB of free space on your C drive for this process!
With this tutorial, you will set up a way to turn C/C++ code into a program that a Nintendo
3DS can run. You will also make an example program and run it on your 3DS!
The first thing we’re going to do is install DevKitPro. This is super easy. Just click here to
⬇️
download the installer.
Once the installer is downloaded, just run it and follow the prompts!
-Select “Download and install/install from downloaded files”
-Select ”Keep downloaded files”
- Make sure that “3DS Development” is checked! You can check other consoles that you
may also want to develop for as well.
-Use the destination folder “c:\devkitPro (should be filled in already).
-Click Install and wait! (a command console will open. This is normal, and can be safely
ignored!)
-Click “Next>” once the install is completed!
-Click finish (or you can donate if you want)!
Level one: Complete!
Alright! Next we need to download libctru! This is much easier, just click here!
The next thing we want to do is copy the contents of [Link] (what we just
downloaded) to C:/devkitPro!
Level two: Complete!
The next level is to change a couple system setting!
First, we’ll search for “Edit the system environment variables” in the start menu and click the first
result!
Next, we’ll click “Environment variables”!
Next, we’ll click “New” at the bottom.
For the name, we’ll enter: “CTRULIB”.
For the value, we’ll enter: "/opt/devkitPro/libctru-master/libctru".
Now, we click “OK”!
Next, we’ll scroll through System variables until we find one called “path”.
Now, we’ll click “Edit”!
Next, we’ll click “New”!
Now, we’ll type “C:\devkitPro\devkitARM\bin” into the text field that was created!
Now, we’ll hit enter and then click “OK” on the three windows to save and close them!
Level three: Complete!
Alright, two more levels to go!
So the next one is a bit easier!
Search for “cmd” in the start menu
Open the first result!
Type or copy “cd C:\devkitPro\libctru-master\libctru” (without the quotes) into the window and hit
enter!
Next, type “make clean” into the window and hit enter!
Alright, the next thing we’re going to to do is type “make” and hit enter. It will start pouring out a
bunch of file names. This is ok.
Now, just let it do it’s thing until it says “C:\devkitPro\libctru-master\libctru>” at the bottom.
Level four: Complete!
Alright! Here’s the fun part! You’ve earned it, so let’s make some homebrew!
But first, we need code. For this, we’re going to be using an example that was installed with
devkitPro, but it’s important to understand that this is the same process that you will use to
make your own apps!
So the first thing we need is a project. As I said, we will be using an example project for this
tutorial. I will discuss how I recommend writing your own projects in a moment.
So let’s copy the Hello World project folder at
"C:\devkitPro\examples\3ds\graphics\printing\hello-world" onto our desktop (or wherever you
would put a project you made).
THIS IS WHERE TO START IF YOU HAVE MADE YOUR OWN PROJECT!
Now, we’ll go back to command prompt and type “cd” followed by a space followed by the path
to the folder for our project and hit enter!
Now, we’ll type in “make” and hit enter!
CONGRATULATIONS!!
You just made your very first 3DS Homebrew app!
If you go to the project folder, you will see some new files!
Now, lets copy the .3dsx file to the 3ds folder on our 3DS’ MicroSD memory card! (if you don’t
have custom firmware on your 3DS, you can find an amazing guide to do that here. If you don’t
know if you have custom firmware on your 3DS, open system settings, then you’ll press “close”
and then immediately hold the select button and keep holding it. If it just goes back to the home
menu, then you do not have CFW, if it opens this Luma3DS menu,
then you have CFW)
Now, we can eject the SD card and put it back in the 3DS!
Once the 3DS is booted up, open up the homebrew launcher!
If you scroll down a bit you should find an app titled “hello-world”!
When you click this it will run your app!
(sorry for the bad pictures!)
If you want to change the name of the app, change the name of the folder before using
command prompt.
Final Level: Complete!
Epilouge:
I did mention that I would tell you about how I recommend writing your own apps, so now I’ll do
that!
First you need to make a project. To do this:
-Copy the hello-world example folder to where you want your project to be.
-Rename the folder to the name of your project.
-Delete the code in main.c (which is in the “source” folder) and write in your own code.
-Add any assets that the project needs to the project folder.
To make the .3dsx file, just compile the code as we did before, but using the new project.
The only hard thing is learning the library and all of it’s functionality. For this I recommend to
start with an example:
-Compile the code and run the program on your 3DS.
-Look at the source code on your computer and read through it. Try to understand what each
function does.
-Then just do this with different examples, starting with simple ones, like hello-world.
As you do this, you will learn more and more of how to develop for the Nintendo 3DS!
Thank you for reading this! Let me know if there’s anything that I said that’s wrong or if you
encounter any roadblocks!
Happy Homebrewing!
-Drake Rochelle