Tutorial How to create a custom 3DS home menu [Updated 2020]

LinusRG

Well-Known Member
Member
Joined
Jun 7, 2017
Messages
251
Trophies
0
Age
17
XP
617
Country
Canada
I found some guides online that worked, but they were a bit hard to follow or outdated. So I thought I'd make my own.
You are also following this guide at your own risk I do not take any responsibility if you brick your 3DS. You have been warned.
Linux users can follow this as well, any of the windows tools I used here, work really well in Wine.
Using HMRT in Linux is theoretical at best. As I couldn't get it working, even though there is a Linux version of it. Maybe I am just missing a dependency because I am on a clean install of arch. But if it works for you, awesome! As maybe it depends on something that is installed by default on most distros. If it doesn't work, then just boot up a windows AME vm if you want to preserve privacy while doing this.

You will need a few things:
My AIO package. (I went this route because, lets be honest none of these programs have been updated in years. )
A NAND Backup

Creating the NAND Backup:
To do this power off your 3ds.
Then press start on boot to GodMode9.
If it asks to create essential files backup click A.If it asks for the clock to be set up it is your choice, it doesn't matter all too much.
Then click the home button (or power button, if your home button is broken for some reason)
Then go to scripts
GM9Megascript
Backup Options
SysNAND Backup
Then press A for yes.
If you are missing GM9MegaScript get it from here

Grabbing the HOME Menu CIA from your 3DS:
Download my AIO package, extract it, and then open the Open me first! folder.
Then plug your SD card into your PC.
Then copy the Mod_HomeMenu.gm9 script to the gm9/scripts folder on your SD card. If you don't have that folder create it.
Then eject your SD card and plug it back into your 3DS.
If your 3DS is on, turn it off.
Then turn it on while holding start to boot gm9.
From there click home (or power)
Then go down to scripts
Then select Mod_HomeMenu with "A"
Then Press "A"
It will grab the HOME Menu CIA and place it in the gm9/out folder
Then power your 3DS down. And plug your SD card into your PC.
Then copy the HomeMenu.cia from the gm9/out folder on your SD card, to the Menu Editor AIO/Open me first!/HMRT folder. (I also recommend that you back up the HomeMenu.cia to another place on your PC, just in case something goes wrong, so you can restore your og HOME Menu if need be.)
Then while still in the HMRT folder:
Linux users:
Launch HMRT_Linux.sh by right clicking inside of the HMRT folder, and choose open in terminal (at least in Nemo) then type: "./HMRT_Linux.sh" then press enter.
Press 1 then press enter to extract the CIA
Then press enter once it has finished.
Then press 5 then enter to decompress the files in the CIA.
Then press enter
Minimize the tool.
Windows users:
Double click on the "HMRT.bat" file
Press 1 to extract the CIA
Then press 5 to decompress the files from the CIA
Minimize the tool.

Changing the colour of the 3DS Shutdown Menu:
Open up the SleepLZColorEditor folder in the Menu Editor AIO folder and open SleepLZColorEditor.exe (run with Wine on Linux)
Then click on open sleep.LZ
Then browse for the sleep.LZ file in the Menu Editor AIO/Open me first!/HMRT/ExtractedRomFS folder and open it
Then what I suggest is you turn on your 3DS (you don't need to put the SD card back in) and then click the power button. You will be greeted with the sleep menu. I think it is a good idea to keep this open as a template when editing the home menu.
Then all you do is start selecting areas of the Sleep Menu that you would like to edit and go to town!
After you are done just click Write Colours and then close the program. You can also save the theme file if you'd like for future use.

Changing the text displayed on the Sleep menu:
Navigate to the Menu Editor AIO/MSBT Editor folder then launch MsbtEditor.exe file. (Linux users can use this with Wine too!)
Then click File, Open
Then in the MSBT Files drop down in the new window, choose All Files instead.
Then navigate to the Menu Editor AIO/HMRT/ExtractedRomFS/Message/Your Language/menu_msbt.lz
Now you can actually edit any string of text in here. Though with a lot of things I have had varying levels of success. So I will only be focusing on editing the text on the sleep menu, as that is the only thing I had complete success editing. So it is known working for me. But you can play around with other things too if you feel like it.
The things we will be focusing on are:
  • lau_b_shutdown
  • lau_press_pow_u0
  • lau_press_pow_u1
  • lau_press_pow0
  • lau_press_pow1
  • lau_press_pow2
  • lau_press_pow3
  • lau_press_pow4
  • lau_press_pow5
  • lau_press_pow5_flw
I am not gonna really go over these, as once you start looking at them yourself it becomes pretty self explanatory what each is on the sleep menu. But you will want to look for each of these in the MSBT tool and then edit them to your liking. (Depending on where the text is located inside of the textbox of MSBT, it will change the location of the text on the sleep menu itself too.)
Once you are done, just click File, Save, and then close the tool.

Editing the HOME Menu HUD:
Open the CheatEngine72.exe file located in the Menu Editor AIO/Open me first! folder and install it. Make sure to skip installing the adware! (This also works in Wine surprisingly enough)
Then open the cheat tool. (The installer may launch it automatically)
Then press Ctrl+Shift+O
Then browse to Menu Editor AIO/HMRT/ExtractedRomFS/hud.lz and open it
Then click OK on the prompt that shows up
Then click Ctrl+O
Then navigate to the Menu Editor AIO/Open me first!/HME_Positions_By_DeKay.CT and open it
You can edit the sleep menu in here as you can see, but we are only gonna focus on the HUD.
You can change the position of something by editing its x and y values.
To completely remove an element from the HOME Menu HUD, just set it to a really high number like 999.
You can also change the colour of elements, but I haven't messed around with this all too much myself.
Once you are done with your edits, make sure the box to the left of each specific section you edited (that includes the parent and child sections) has a red x in it. If they don't click on the box to put a red x in it.
After you are done, press Ctrl+Shift+S, then navigate to Menu Editor AIO/HMRT/ExtractedRomFS, then click on hud.lz then (as backwards as it sounds) click open to save the changes you made.
Close the cheat tool.

Rebuilding the HomeMenu.cia:
Open up the HMRT tool that you have minimized.
Linux users:
Press 6 then press enter to recompress the files then press enter once it is done.
Then press 2 then press enter to create the CIA. After it is done press enter.

Windows users:
Press 6
Then after it is done, press 2 to create the CIA. Then press enter once the command output has stopped to make the CIA.

Installing the modded CIA:
Copy HomeMenu_edited.cia from Menu Editor AIO/Open me first!/HMRT folder, to SD Card/cias folder. (make this folder if you are missing a folder dedicated to cias) (Also make sure you are running this version of gm9 too)
Then eject the SD card and put it back into your 3DS.
Then boot your 3DS while holding start.
Then once inside of gm9 navigate to SDCARD/cias/HomeMenu_edited.cia
Press A on it
CIA Image Options
Encrypt File
Encrypt inplace
Press A
Press A
CIA image options
Install game image
Press A, then punch in the the combo to unlock writing permissions.
Then let the CIA install!
Then reboot your 3DS to be greeted to your custom home menu!
Congrats!
You have now built yourself a custom home menu!
You may have to play around with things until you get them exactly right.

Thanks to this guide for elements of this tutorial
Thanks to TheCyberQuake for elements of his guide and SleepLZColorEditor
Thanks to Github user schrmh for the Home Menu Rebuild Tool (HMRT)
Thanks to Github user Arch9SK7 for the menu dump pack that my AIO is based off of
Thanks to IcySon55 for the MBST editor
Cheat engine from here

I hope this guide helps anyone out who wanted to edit their home menu please post any questions down below.

How mine looks:
https://postimg.cc/gallery/Pq2fxpb
 
Last edited by LinusRG,

ihaveawindows

Well-Known Member
Newcomer
Joined
Dec 30, 2020
Messages
61
Trophies
0
Age
14
Location
Bogor
XP
181
Country
Indonesia
I found some guides online that worked, but they were a bit hard to follow or outdated. So I thought I'd make my own.
You are also following this guide at your own risk I do not take any responsibility if you brick your 3DS. You have been warned.
Linux users can follow this as well, any of the windows tools I used here, work really well in Wine.
Using HMRT in Linux is theoretical at best. As I couldn't get it working, even though there is a Linux version of it. Maybe I am just missing a dependency because I am on a clean install of arch. But if it works for you, awesome! As maybe it depends on something that is installed by default on most distros. If it doesn't work, then just boot up a windows AME vm if you want to preserve privacy while doing this.

You will need a few things:
My AIO package. (I went this route because, lets be honest none of these programs have been updated in years. )
A NAND Backup

Creating the NAND Backup:
To do this power off your 3ds.
Then press start on boot to GodMode9.
If it asks to create essential files backup click A.If it asks for the clock to be set up it is your choice, it doesn't matter all too much.
Then click the home button (or power button, if your home button is broken for some reason)
Then go to scripts
GM9Megascript
Backup Options
SysNAND Backup
Then press A for yes.
If you are missing GM9MegaScript get it from here

Grabbing the HOME Menu CIA from your 3DS:
Download my AIO package, extract it, and then open the Open me first! folder.
Then plug your SD card into your PC.
Then copy the Mod_HomeMenu.gm9 script to the gm9/scripts folder on your SD card. If you don't have that folder create it.
Then eject your SD card and plug it back into your 3DS.
If your 3DS is on, turn it off.
Then turn it on while holding start to boot gm9.
From there click home (or power)
Then go down to scripts
Then select Mod_HomeMenu with "A"
Then Press "A"
It will grab the HOME Menu CIA and place it in the gm9/out folder
Then power your 3DS down. And plug your SD card into your PC.
Then copy the HomeMenu.cia from the gm9/out folder on your SD card, to the Menu Editor AIO/Open me first!/HMRT folder. (I also recommend that you back up the HomeMenu.cia to another place on your PC, just in case something goes wrong, so you can restore your og HOME Menu if need be.)
Then while still in the HMRT folder:
Linux users:
Launch HMRT_Linux.sh by right clicking inside of the HMRT folder, and choose open in terminal (at least in Nemo) then type: "./HMRT_Linux.sh" then press enter.
Press 1 then press enter to extract the CIA
Then press enter once it has finished.
Then press 5 then enter to decompress the files in the CIA.
Then press enter
Minimize the tool.
Windows users:
Double click on the "HMRT.bat" file
Press 1 to extract the CIA
Then press 5 to decompress the files from the CIA
Minimize the tool.

Changing the colour of the 3DS Shutdown Menu:
Open up the SleepLZColorEditor folder in the Menu Editor AIO folder and open SleepLZColorEditor.exe (run with Wine on Linux)
Then click on open sleep.LZ
Then browse for the sleep.LZ file in the Menu Editor AIO/Open me first!/HMRT/ExtractedRomFS folder and open it
Then what I suggest is you turn on your 3DS (you don't need to put the SD card back in) and then click the power button. You will be greeted with the sleep menu. I think it is a good idea to keep this open as a template when editing the home menu.
Then all you do is start selecting areas of the Sleep Menu that you would like to edit and go to town!
After you are done just click Write Colours and then close the program. You can also save the theme file if you'd like for future use.

Changing the text displayed on the Sleep menu:
Navigate to the Menu Editor AIO/MSBT Editor folder then launch MsbtEditor.exe file. (Linux users can use this with Wine too!)
Then click File, Open
Then in the MSBT Files drop down in the new window, choose All Files instead.
Then navigate to the Menu Editor AIO/HMRT/ExtractedRomFS/Message/Your Language/menu_msbt.lz
Now you can actually edit any string of text in here. Though with a lot of things I have had varying levels of success. So I will only be focusing on editing the text on the sleep menu, as that is the only thing I had complete success editing. So it is known working for me. But you can play around with other things too if you feel like it.
The things we will be focusing on are:
  • lau_b_shutdown
  • lau_press_pow_u0
  • lau_press_pow_u1
  • lau_press_pow0
  • lau_press_pow1
  • lau_press_pow2
  • lau_press_pow3
  • lau_press_pow4
  • lau_press_pow5
  • lau_press_pow5_flw
I am not gonna really go over these, as once you start looking at them yourself it becomes pretty self explanatory what each is on the sleep menu. But you will want to look for each of these in the MSBT tool and then edit them to your liking. (Depending on where the text is located inside of the textbox of MSBT, it will change the location of the text on the sleep menu itself too.)
Once you are done, just click File, Save, and then close the tool.

Editing the HOME Menu HUD:
Open the CheatEngine72.exe file located in the Menu Editor AIO/Open me first! folder and install it. Make sure to skip installing the adware! (This also works in Wine surprisingly enough)
Then open the cheat tool. (The installer may launch it automatically)
Then press Ctrl+Shift+O
Then browse to Menu Editor AIO/HMRT/ExtractedRomFS/hud.lz and open it
Then click OK on the prompt that shows up
Then click Ctrl+O
Then navigate to the Menu Editor AIO/Open me first!/HME_Positions_By_DeKay.CT and open it
You can edit the sleep menu in here as you can see, but we are only gonna focus on the HUD.
You can change the position of something by editing its x and y values.
To completely remove an element from the HOME Menu HUD, just set it to a really high number like 999.
You can also change the colour of elements, but I haven't messed around with this all too much myself.
Once you are done with your edits, make sure the box to the left of each specific section you edited (that includes the parent and child sections) has a red x in it. If they don't click on the box to put a red x in it.
After you are done, press Ctrl+Shift+S, then navigate to Menu Editor AIO/HMRT/ExtractedRomFS, then click on hud.lz then (as backwards as it sounds) click open to save the changes you made.
Close the cheat tool.

Rebuilding the HomeMenu.cia:
Open up the HMRT tool that you have minimized.
Linux users:
Press 6 then press enter to recompress the files then press enter once it is done.
Then press 2 then press enter to create the CIA. After it is done press enter.

Windows users:
Press 6
Then after it is done, press 2 to create the CIA. Then press enter once the command output has stopped to make the CIA.

Installing the modded CIA:
Copy HomeMenu_edited.cia from Menu Editor AIO/Open me first!/HMRT folder, to SD Card/cias folder. (make this folder if you are missing a folder dedicated to cias) (Also make sure you are running this version of gm9 too)
Then eject the SD card and put it back into your 3DS.
Then boot your 3DS while holding start.
Then once inside of gm9 navigate to SDCARD/cias/HomeMenu_edited.cia
Press A on it
CIA Image Options
Encrypt File
Encrypt inplace
Press A
Press A
CIA image options
Install game image
Press A, then punch in the the combo to unlock writing permissions.
Then let the CIA install!
Then reboot your 3DS to be greeted to your custom home menu!
Congrats!
You have now built yourself a custom home menu!
You may have to play around with things until you get them exactly right.

Thanks to this guide for elements of this tutorial
Thanks to TheCyberQuake for elements of his guide and SleepLZColorEditor
Thanks to Github user schrmh for the Home Menu Rebuild Tool (HMRT)
Thanks to Github user Arch9SK7 for the menu dump pack that my AIO is based off of
Thanks to IcySon55 for the MBST editor
Cheat engine from here

I hope this guide helps anyone out who wanted to edit their home menu please post any questions down below.

sounds good; I'll try it!

I will add the aio package in the morning I forgot

OK, I'll be waiting!
 
  • Like
Reactions: LinusRG

LinusRG

Well-Known Member
Member
Joined
Jun 7, 2017
Messages
251
Trophies
0
Age
17
XP
617
Country
Canada
thanks! I'll make use of this. BTW, does this use .NET framework 3.5 ? If so, I can't use it.
I don't have .NET 3.5. only .NET 4
I have no clue as I am a Linux user myself and barely use windows anymore. Though I'm gonna have to say no, because I used windows 10 AME to do this. And it's kernel is really stripped back to remove all data collection.
 
  • Like
Reactions: ihaveawindows

schrmh

Well-Known Member
Newcomer
Joined
Jun 5, 2015
Messages
49
Trophies
0
XP
373
Country
Gambia, The
I'm on Arch Linux myself tho I have a ton of packages. The script itself has some bashisms so you should use bash or zsh as a shell until they are replaced with POSIX alternatives. Besides that, one script in the HMRT subfolder is written in python but it isn't used, also the jar is not used, so you should not need anything beside the shell and WINE.
But if it still doesn't work, keep in mind that it is mentioned in the README that one change broke the full rebuild option but each step individually should work (if not, go back a few commits to e.g. d32b2c; EDIT: Full rebuild should work again — I think I fixed it this morning).

The HMRT script for GNU/Linux gives clearer instructions than the BAT script for Windows (some people misunderstand the xorpad stuff and there is also a point at which users need to press enter but the BAT doesn't tell users to do so..
Also the BAT itself did not work for me in WINE which was the final straw why I started porting it.
On another note, stuff like extractLZ.sh might be included in the future in the HMRT.sh since Kuriimu doesn't work on GNU/Linux, even tho it uses .NET Core...).

GNU/Linux users don't need to run any of the Windows tools. All tools that are really needed are available for GNU/Linux. CE only makes a few things easier — you can also use a Hex editor.
Hope that we can have a replacement for CE in the future — e.g. a website with an Hex Editor (like this https://homemenu.github.io/ — btw please suggest me better open source hex editors that run in a browser!) but also with selectable presets submitted by users via GitHub and maybe a searchable gallery of modifications..
Maybe we can get some of the other tools online too (Webassembly/emscripten)?

Also Legit_Magic#9356 (https://github.com/LegitMagic) is kinda working on an application for the 3DS that would make editing on the 3DS itself possible. But that is in alpha stage (https://cdn.discordapp.com/attachments/483343679055069184/812186805738405937/SimpleGUI.mp4).
A lot may be easier if we could parse the layout files and offer tools like the Switch scene has them already..
 
Last edited by schrmh,
General chit-chat
Help Users
  • No one is chatting at the moment.
    Sonic Angel Knight @ Sonic Angel Knight: Hey, where the admins at? Come in the chat. I got a idea. How bout a Sound notification or...