(Based on the guide by Dungeonfire †)

Suggestions, want to contribute or drop something? Contact @derberg:matrix.org on Matrix or derberg on Discord

Get Started

In this guide we will be customizing the looks of your Home and Sleep Menu. It will certainly not cover everything that you are able to customize, but this guide should give you an idea as to what extent you can personalize your device. If you would like to customize aspects of it that are not listed on here, I suggest checking out the documentation by Team homemenu.co

The following blocks are just general warnings; it is NOT dangerous to proceed.
The following downsides don't even exist for e.g. LayeredFS users!

Create/update your NAND backup! When making changes to your device, there is always the chance you will brick.
Editing the Home Menu is pretty safe and you can restore even without NAND backups but you should just do one anyways.
If you messed up, keep calm and look at the end of the guide or ask us. You will likely need no CTR transfer.

Having a custom Home Menu installed breaks system updates.
If you want to update your system, you will have to restore your Home Menu with a blank HomeMenu.cia first.

This guide mentions multiple methods on getting files onto your devices. For that reason and to keep legacy, the warnings are there.

Prerequisites:

Section I - Preparation Work

  1. Get HMRT by either using git clone https://github.com/schrmh/HMRT/ (recommended for update notifications; git setup)
    OR open https://github.com/schrmh/HMRT/archive/refs/heads/master.zip and extract HMRT-master.zip.
    (Note: If you use the Windows version (.bat): Press ENTER to solve "it doesn't generate files" problems.)
  2. Download and install wxHexEditor (or other hex editors). If you choose wXHexEditor I recommend you to do this:
  3. Download and extract the contents of MSBT.Editor.Reloaded.v0.9.8.rar
  4. Download and install Cheat Engine
  5. Download HME Positions by DeKay

Section II - Decompressing the HomeMenu.cia

In this section we will be dumping and decompressing your device-specific HomeMenu.cia in preparation for the editing process.

  1. Make sure an SD Card is in your console
  2. Start your device and hold START to enter GodMode9
  3. Turn off your system and insert your SD card into your computer
  4. Backup the .cia you just build from your SD card's gm9/out directory to a safe place on your computer
  5. Rename the dumped .cia to HomeMenu.cia and place it to HMRT's main folder (next to HMRT.bat / HMRT.sh)
  6. Launch the Home Menu Rebuilding Tool and choose step 1, then step 5
    (Alternatively press 8 for a full, guided rebuild. This might be a bit inconvinient for LayeredFS users using HMRT.bat due to step 3)

Section III - Editing the Sleep Menu

You can edit text and colors of the Sleep Menu. The first six steps are for text editing; the rest

  1. Launch MsbtEditor
  2. Open
    /ExtractedRomFS/message/<Region of your device>_<Language of your device>/menu_msbt.LZ
  3. This is where the text of the Sleep Menu will be located:
  4. To change the text, choose one of the strings from the list on the left and edit the text in the top left box
  5. You can change any other text that is unrelated to the Sleep Menu if you like
  6. When you are done, save via FileSave and close the program
  7. Launch your hex editor and open /ExtractedRomFS/sleep.LZ
  8. These are the values you can modify:
  9. Description Bottom Screen
    Top Screen
    Background 0x1260 0x1CD4
    Background Glow 0x1264 0x1CD8
    Background Stripes 0x125C 0x1CD0
    Header Color - 0x1D70
    Text Color 0x12FC 0x1DA4
    Footer Color 0x122C 0x1EA8
    Line Color 0x1554 0x1E24
    Button Text Color 0x14D4 -
    Button Text Mask 0x14A0 -
    Button Color 0x132C and 0x13E4 -
    Button Glow 0x1330 and 0x13E8 -
  10. To jump to a value without looking for it manually, press Ctrl+G and enter everything from the Hex offset value excluding 0x
    (If your hex editor complaints, try add zeros in front until you got e.g. 6 or 8 digits.
    wxHexEditor for example jumps to the end if more digits than displayed on the left Offset pane are entered.
    Speaking of wxHexEditors Offset pane: if you don't see h at each line within that pane, left click it)
  11. Each of these values are made up from 4 bytes. For color values, you will usually want to edit the first three of those.

  12. After you are done replacing the hex values with the colors you desire, save

Section IV - Editing the Home Menu applets

In this section we will edit the Home Menu applets (Notes; Friends; Notifications; Internet; Miiverse)
These are small icons permanently visible on the touchscreen while in the main screen of the Home Menu.
Some Home Menu versions don't feature all applets as some were introduced later. And KOR never got the Miiverse.
For now, this section only has a brief tutorial for colors; our community chats have info on how to replace images (bclim)!
  1. Start off by opening /ExtractedRomFS/launcher.LZ in your hex editor
  2. The values you can modify are on these addresses:
  3. Icon Color 1
    Color 2
    Miiverse
    0x31DA8 0x31DAC
    Internet Browser
    0x31E84 0x31E88
    Notifications 0x31F60 0x31F64
    Friend List
    0x3203C 0x32040
    Game Notes
    0x32118 0x3211C
  4. Just as before, each value consists of 3 Bytes for color and one for alpha.
  5. After you are done making your edits, save
  6. Continue if you want to edit banners displayed at the top screen when a applet is selected
    (feel free to close your hex editor if you don't care)
  7. The files responsible for those banners are:
  8. These are the offsets for the colors, they are the same for each file:
  9. Color 1
    Color 2
    0x1D7C 0x1D80
  10. Again, 3 Bytes for color and one for alpha
  11. After you have saved every file, you are free to close your hex editor

Section V - Editing the HUD

In this section we will be editing the elements that are displayed on the top screen of the Home Menu.

(For HUD things not mentioned in this section, you can check out these for now:
Guide by Sven64
Guide by lividhen
)
  1. Launch Cheat Engine and open the file /ExtractedRomFS/hud.LZ
  2. Drag & drop the HME_Positions_By_DeKay.CT in the Cheat Engine window
  3. You can now edit the color- and position values of elements as you please
  4. Colors are standard RGB format; for the coordinates please refer to this image:
  5. Example: step counter moved from its original coordinate position (-58|+120) to (-196|+88) — now below the left connection bar:

  6. When you are done editing the values, check the box of each one you edited, save via Ctrl+Shift+S and close Cheat Engine

Section VI - Getting the changes onto your device

In this section we will perform steps to get a modified files on either a real 3DS or an emulator.
Choose one method by clicking on the tab:

This part will teach you how to rebuild, encrypt, and install the .cia file on a real 3DS.
There is a risk of softbricking but you can easily recover.

  1. Return to the Home Menu Rebuilding Tool window and press any key to rebuild the .cia
    • If you accidentally closed the prompt, open it up again and press 6 → 2 → 3
  2. Move the HomeMenu_edited.cia to your SD Card
  3. Remove the SD Card from your computer and insert it into your device
  4. Start your device and hold START to enter GodMode9
    • Press (A) on HomeMenu_edited.cia → CIA image options → Encrypt file (...) → Encrypt inplace
  5. Restart your device and install the encrypted .cia file with your favorite .cia installer. If no error occurs, reset your device manually
  6. You should now have your custom Home Menu installed!

This part will teach you how to overlay edited files on a real 3DS.
There is no bricking risk; no files on the device are really touched.
If you have issues, you can just remove the overlayed files.
You can learn more about Luma3DS game patching.

  1. Press 6 within HMRT
    • If you went with "Full Rebuild" within HMRT, which includes cleaning (step 3) at the end, don't continue with this procedure and instead open HMRT new to do this step. Clean manually later
  2. Copy edited files from the ExtractedRomFS folder (from HMRT's directory). Place them into one of these paths on your SD card, depending on your region:
      • JPN: luma/titles/0004003000008202/romfs
      • USA: luma/titles/0004003000008F02/romfs
      • EUR: luma/titles/0004003000009802/romfs
      • CHN: luma/titles/000400300000A102/romfs
      • KOR: luma/titles/000400300000A902/romfs
      • TWN: luma/titles/000400300000B102/romfs
      Create paths not existing.
      However, if the luma folder doesn't exist, make sure you actually have Luma3DS installed...
    • For code.bin patches (ExtractedExeFS), place them next to the romfs folder
  3. Remove the SD Card from your computer and insert it into your device
  4. Start your device and hold SELECT to enter the Luma3DS configuration screen
    • Press (A) on ( ) Enable game patching to tick it (x)
  5. Restart your device
  6. You should now notice that your Home Menu looks edited!
In case you can't see tab content: Legacy version of this step


    Here a few pictures of what Dungeonfire's Home Menu looked like:
    (This is almost entirely copied from Zyneros' Home Menu theme, because Dungenfire actually really liked it)

Restoring the Home Menu without a backup (if the CIA got replaced)

This section is for those who forgot to backup their original HomeMenu.cia and want to update their system.

  1. Extract and launch 3DNUS and enter the title ID and version of your Home Menu
  2. Wait for the download to finish and close the program
  3. Rename the <titleID>.cia to HomeMenu.cia and place it anywhere onto your SD card
  4. Insert the SD Card into your device
  5. You should now be able to install the blank HomeMenu.cia
If this ceases to function, try downloading a firmware archive or ask in our community.

If you want to update your Home Menu with a newer one, you need to install a fresh HomeMenu.cia first which you can just download via 3DNUS.

Keep the decrypted HomeMenu_edited.cia file in the folder you did your edits in, in case you want to make changes later on.

If you have trouble with anything, ask on the Custom Home Menu Asset Discussion Discord guild.
You can also ask in the Home Menu Matrix room

Credit goes to:
● Dungeonfire for the previous guide
● DeKay for some of the files
Minimal Mistakes since Dungeonfire blatantly stole some of their CSS (will remove/change upon request!)
homemenu.co (likely down forever)
● Traiver, Romulator, DeKay, and everyone who contributed to the documentation
● Zyneros because Dungeonfire used his guide as a template
● ScribbL, Sobliv, Romulator, and Ms. Ferreira for their proofreading of the old guide
● Merch for their suggestion to use GodMode9 to dump the HomeMenu.cia ourselves instead of downloading it via 3DNUS
● The Custom Home Menu Asset Discussion Discord guild for the great help.
● Especially Sven64 and LegitMagic for contributing valuable knowledge and files.
Kazue Ch. for a upcoming video.

Ways to donate something:
● https://www.patreon.com/derberg
● https://gbatemp.net/conversations/add with recipient schrmh
● https://matrix.to/#/@derberg:matrix.org
● derberg on Discord
● kazuepenguin (←put this in front of @gmail.com and send a mail)

Those are just some of many.
Drop whatever you like (for example paysafecard, gift cards)...
I might setup more ways to donate if asked.