Monitor Your hardware in real time!
This is an overlay homebrew dedicated to Nintendo Switch.
You need to have installed Tesla environment to use it.
Note
This README was written to convey only basics of tool.
This is the next iteration of Status Monitor Overlay that changes structurally how it works.
Instead of hardcoding each mode now they are stored as script files with filetype .smd.
Any additional service can be added by creating .smse file.
- CPU Usage for each core (Cores
#0-#2are used by apps/games, Core#3is used by OS, background processes and also Tesla overlays) - GPU Load
- CPU, GPU & RAM target frequencies (also real frequencies + RAM Load if sys-clk 2.0.0_rc4+ or Horizon OC 2.2.0+ is installed, use only official RetroNX release for reliable results)
- Used RAM categorized to: (not supported by FWs <5.0.0)
- Total
- Application
- Applet
- System
- System Unsafe
- SoC, PCB & Skin temperatures (Skin temperature not supported by FWs <5.0.0)
- Fan Rotation Level
- PFPS, FPS, resolutions, game read speed (shows only if my fork of SaltyNX is installed)
- Battery temperature, raw charge, age, average voltage, average current flow and average power flow
- Charger type, max voltage, and max current
- DSP usage (only for FW older than 17.0.0)
- NVDEC, NVENC and NVJPG clock rates
- Network type + Wi-fi password
- If you can see Ⓨ next to mode name, it means you can configure it by pressing Y button which shows up list of possible things to tweak for current mode like which data should be shown, how they should be shown.
- Global settings are available by pressing Left D-Pad button in Main Menu.
- If you can see joycon symbol next to mode name, it means it's using custom exit key combo. To see how it looks like you can go to Global settings -> Exit key combo, you can change it too.
- You can move supported overlays on screen with touch screen or sixaxis (for which buttons enable sixaxis you can see in main menu settings)
- Mutlilanguage support that doesn't need recompiling to work, it supports all languages as long as Switch builtin fonts are supporting your alphabet
- If you want to implement support for additional services to make them available from status monitor, you can create your own .smse file. It supports only
Outfunctions. Already included are extensions forhoc:clkandsys:clkif you want to see examples. - You can create your own overlays, you can look in
modesfolder for seeing how all of them are implemented. Format is explained here
Note
Currently implemented languages:
- American English
- Polish
- German (only for Main menu and Global settings)
If you want to add new language, send in issues those two translated files: FILE 1, FILE 2
All additional files are stored in config/status-monitor-deux, including:
modesfolder - stores SMD files used for rendering. If there is only one SMD file detected, overlay jumps automatically into detected file (this can be turned off in Global settings). Each SMD file stores its own texts and localization must be implemented inside them.extensionsfolder - stores SMSE files which store informations about additional services and how their variables should be named. For functions without buffers function name is used as reference to variable it outputs.config.ini- stores global settings and settings for each mode. It's automatically created on first boot if it doesn't exist.locale.ini- stores localization info unrelated to SMD files.
Atmosphere CFW is required. SX OS and other CFWs are not supported. It's advised to use Atmosphere's USB Transfer Tool homebrew to transfer files. If you use Hekate's USB Mass Storage and you will be putting files using any other Operating System than Windows, you must run Hekate's Archive Bit Fixer after putting all files. This tutorial is only for Atmosphere 1.8.0+ users
- Download newest
SaltyNXrelease from HERE, unpack zip file, copy both folders (SaltySDandatmosphere) to the root of your sdcard, accept any popup about overwriting folders. - Download newest
Ultrahandrelease (sdout.zip) from HERE, unpack it, copy all unpacked folders to the root of sdcard, accept any popup about overwriting folders. - Download
Status Monitor Deuxrelease from HERE, copy foldersswitchandconfigto root of sdcard. It may not be visible in USB Mass Storage, but it's there. - Restart Switch, now you can access overlays by pressing all 3 buttons at once:
L,D-pad downandR-stick(aka pressing it).
Syntax highlighting for VS Code
https://github.com/masagrator/Status-Monitor-Deux/tree/main/.vscode/extensions/statusmonitor-smd
Repository storing other SMD files than stored in this repository:
https://github.com/masagrator/SMD-Files
- KazushiMe for writing code to read registers from max17050 chip
- CTCaer for Hekate from which I took max17050.h and calculation formulas for reading battery stats from max17050 chip
- Lightos for providing German translation
Huge part of new code relative to Status Monitor Overlay was written with Claude. SMD and SMSE files design is 100% my own.
Important
Q: When opening Full or Mini mode, overlay is showing that Core #3 usage is at 100% while everything else is showing 0, eventually leading to crash. Why this happens?
A: There are few possible explanations:
- You're using nifm services connection test patches (in short
nifm ctest patches) that are included in various packs. Those patches allow to connect to network that has no internet connection. But they cause nifm to randomly rampage when connected to network. Find any folder inatmosphere/exefs_patchesthat has in folder namenifm,nfimand/orctest, delete this folder and restart Switch (if you are usingsys-patch, turn offnifmpatching). If you must use it, only solution is to use this overlay only in airplane mode. - You're using some untested custom sysmodule that has no proper thread sleeping implemented. Find out in atmosphere/contents any sysmodule that you don't need, delete it and restart Switch.
- Your Switch is using sigpatches, is not a primary device, is using linked account, and is connected to network. Delete sigpatches, change your Switch to primary device, unlink account, or disable Wi-Fi.
Important
Q: When I open overlay, nothing is listed.
A: It means you have removed or didn't copy status-monitor-deux folder from/to sdmc:/config/. Download newest release and be sure to copy all files in release zip.