[Scene Switch] Status Monitor Overlay v0.8.2 released

Available a new update for Status Monitor Overlay , the application allows us to monitor the Switch console during the current game by displaying the frequency of the CPU, GPU and RAM, as well as the temperature and the level of rotation of the fan.



The tool features six different modes to choose from from the main menu, Full , Mini , Micro , FPS Counter , Battery , and Miscellaneous .

The update was necessary to fix a number of bugs regarding memory leaks and sporadic crashes in docked mode.

What is currently supported

  • CPU usage for each core (the cores #0– #2are used by apps/games, core #3is used by the OS, background processes and also Tesla overlays).
  • GPU loading.
  • Actual frequency of CPU, GPU and RAM.
  • Used RAM rated at: (not supported by firmwares <5.0.0).
    • Total.
    • Application.
    • Applets.
    • System.
    • System Unsafe.
  • SoC, PCB and skin temperatures (skin temperature not supported by firmwares <5.0.0).
  • Fan rotation level.
  • PFPS and FPS (With the help of NX-FPS 0.4+ , more info in the repository. Failure to install results in the FPS counters not appearing on the overlay).
  • Battery temperature, raw charge, age and average voltage
  • Type of charger, maximum voltage and maximum current.
  • DSP usage.
  • NVDEC clock frequency.
  • Network type + Wi-Fi password.


This mode may be known from previous versions of Status Monitor. Contains all information correctly described and supported with high accuracy.

Optional (shows only when NX-FPS plugin is installed)

It works only in 1 and 5Hz + vsync signal. You can change it with .


Contains most of the information supported with lower precision.


Optional (shows only when NX-FPS plugin is installed)

It works only in 1 and 5Hz + vsync signal. You can change it with .


Contains most of the information supported with least precision in one line.

Only show if you haven’t changed the overlay file name (so it should be Status-Monitor-Overlay.ovl).

This is because we need to reload the overlay to change the framebuffer size without taking up more RAM, and Tesla Menu (and libtesla with it) doesn’t provide information about the filename of the overlay that has been loaded.

Optional (shows only when NX-FPS plugin is installed)

It works only in 1 and 5Hz + vsync signal. You can change it with .

FPS Counter

It only shows the FPS value in 31Hz + vsync signal. If the game fails to start, it will always show the value 254.0.

Mode available only with SaltyNX installed.


Appears only if the magazine type is other than 0:



If the network type is “Wi-Fi”, you can press Y to show the password. Since the maximum password length is 64 characters, it can be displayed in up to 3 lines.

additional information

What is skin temperature (tskin)?

This is the temperature calculated from the SoC and PCB temperatures which is mainly used to keep the Switch console from overheating. Reading is not supported on firmwares lower than version 5.0.0.

Explanation provided by CTCaer:

Temperature calculation (tskin).

Console and PDA:

tsoc >= 84°C – Immediate sleep. No questions asked.

tpcb >= 84°C – Immediate sleep. No questions asked.

console only:

tskin < 63°C – Resets both timers.

tskin >= 63°C – Immediate sleep. No questions asked.

Handheld only:

tskin < 58°C – Resets both timers.

58°C <= tskin < 61°C – Start the 60s timer and cancel the 10s timer.

61°C <= tskin < 63°C – Starts the 10 second timer.

tskin >= 63°C – Immediate sleep. No questions asked.

The two timers are separate. If 61°C is reached, the 10s timer is started immediately.

If a timer runs out and the temperature is not turned down, it goes into sleep mode.

tskin is the specific calculation below:

soc_adj = (temps.iir_filter_gain_soc * (temps.soc - temps.soc_adj_prev)) + temps.soc_adj_prev;
pcb_adj = (temps.iir_filter_gain_pcb * (temps.pcb - temps.pcb_adj_prev)) + temps.pcb_adj_prev;
temps.soc_adj_prev = soc_adj;
temps.pcb_adj_prev = pcb_adj;

if (soc_adj >= 38000)
    if (temps.handheld)
        soc_adj = (temps.tskin_soc_coeff_handheld[0] * soc_adj) + (1000 * temps.tskin_soc_coeff_handheld[1]);
        soc_adj = (temps.tskin_soc_coeff_console[0] * soc_adj) + (1000 * temps.tskin_soc_coeff_console[1]);
    soc_adj = (soc_adj / 10000) + 500;

if (pcb_adj >= 38000)
    if (temps.handheld)
        pcb_adj = (temps.tskin_pcb_coeff_handheld[0] * pcb_adj) + (1000 * temps.tskin_pcb_coeff_handheld[1]);
        pcb_adj = (temps.tskin_pcb_coeff_console[0] * soc_adj) + (1000 * temps.tskin_pcb_coeff_console[1]);
    pcb_adj = (pcb_adj / 10000) + 500;

skin_adj = MAX(soc_adj, pcb_adj); //tskin


  • Add a graphics mode.


  • From version 0.4.1 it is necessary to use Tesla Menu >=1.0.2.


Question: When opening Full or Mini mode, the overlay shows that Core #3 usage is 100% while everything else shows 0, eventually leading to the crash. Why does this happen?
Answer: There are a few possible explanations:

  1. You are using the nifm services connection test patches (for short nifm ctest patches) which are included in various packages. These patches allow you to connect to a network that has no Internet connection. But they cause nifm to fire randomly when connected to the network. Find any folder in atmosphere/exefs_patcheswhich has in the folder name nifmnfimand/or ctest, delete this folder and restart the Switch. If you must use it, the only solution is to use this overlay in airplane mode only.
  2. You are using an untested custom system module that has not implemented the correct sleep thread. Find out in atmosphere/contents any system module you don’t need, delete it and restart the Switch.
  3. The Switch console is using sigpatch, it’s not a primary device, it’s using a linked account, and it’s connected to the network. Remove sigpatches, change your Switch to primary device, unlink your account or turn off Wi-Fi.


  • Fix for conditional handle leak
  • Fixed memory leak.
  • Alternate race condition causing random crashes in docked mode.

Download: Status Monitor Overlay v0.8.2

Download: Sourcecode Status Monitor Overlay v0.8.2

Source: gbatemp.net