> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.stereolabs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.stereolabs.com/_mcp/server.

# Power Modes

The NVIDIA® Jetson Thor™ module of the **ZED Box 2 Max** supports several **power modes**. Each power mode caps the number of online CPU cores, the number of active GPU TPCs, and the maximum frequencies of the CPU, GPU, video engines, PVA, and memory (EMC) to keep the module within a given power budget.

Choosing the right power mode lets you trade performance against power consumption and heat, for example to extend the autonomy of a battery-powered robot.

## Power supply of the ZED Box 2 Max

The ZED Box 2 Max can be powered in two ways:

| Power source                                              | Power input            |
| --------------------------------------------------------- | ---------------------- |
| **DC IN** terminal block, with the provided power supply  | 9V to 36V, 10A max     |
| **USB Type-C Power Delivery**, on the USB 3.1 Type-C port | 9V to 28V, 40W to 130W |

The maximum power consumption of the whole system is **250W**. With the DC terminal block, you can use all the [supported power modes](#supported-power-modes) of your module.

> **Warning**
>
> The USB Type-C power input is not recommended for now: power the ZED Box 2 Max through the DC terminal block. With the USB Type-C power input, the PoE+ ports and the **120W** and **MAXN** power modes of the T5000 module are not supported: on a T5000, select the 90W or the 70W mode.

> **Note**
>
> The power budget of a power mode applies to the Jetson module only. Size your power source for the whole system: the Jetson module, up to 8 GMSL2 cameras, the USB devices, and up to 4x 25W for the devices powered by the optional PoE+ ports.

## Supported power modes

The tables below list the power modes supported by the ZED Box 2 Max for each Jetson module, with their `nvpmodel` ID and main clock limits.

#### T4000

| Mode | ID | Online CPU cores | CPU max (MHz) | GPU TPCs | GPU max (MHz) | Memory max (MHz) |
| ---- | -- | ---------------- | ------------- | -------- | ------------- | ---------------- |
| MAXN | 0  | 12               | 2601          | 6        | 1530          | 4266             |
| 70W  | 1  | 12               | 1998          | 6        | 1530          | 4266             |

The default mode of the T4000 is **70W** (ID 1).

#### T5000

| Mode | ID | Online CPU cores | CPU max (MHz) | GPU TPCs | GPU max (MHz) | Memory max (MHz) |
| ---- | -- | ---------------- | ------------- | -------- | ------------- | ---------------- |
| MAXN | 0  | 14               | 2601          | 10       | 1575          | 4266             |
| 120W | 1  | 14               | 2601          | 10       | 1386          | 4266             |
| 90W  | 2  | 12               | 2601          | 6        | 1530          | 4266             |
| 70W  | 3  | 12               | 1998          | 6        | 1530          | 4266             |

The default mode of the T5000 is **120W** (ID 1).

> **Warning**
>
> **MAXN** is an unconstrained mode that enables the maximum number of cores and the maximum clock frequencies. It has no fixed power budget: hardware throttling is engaged when the module power exceeds its limit, so MAXN does not always give the best performance, and NVIDIA does not recommend running heavy workloads in this mode for prolonged periods.

> **Note**
>
> * Always check the modes defined on your device, as described in [Check the current power mode](#check-the-current-power-mode), before switching.
> * A higher power budget does not always mean a faster GPU. For example, on the T5000, the 120W mode enables 10 GPU TPCs at up to 1386 MHz, while the 90W mode enables 6 TPCs at up to 1530 MHz. Benchmark your own application in each candidate mode to find the one that suits it best.

The complete clock configuration of each mode, including the video engines, PVA, and SoC engine frequencies, is available in the [NVIDIA Jetson Linux Developer Guide](https://docs.nvidia.com/jetson/archives/r39.2/DeveloperGuide/SD/PlatformPowerAndPerformance/JetsonThor.html), under the **Jetson T4000** and **Jetson T5000** columns.

## Check the current power mode

Display the active power mode:

```bash
sudo nvpmodel -q
```

The command prints the name and the ID of the mode. For example, on a T5000 in 120W mode:

```console
NV Power Mode: 120W
1
```

List all the power modes defined on your device, with their IDs and names, and the default mode applied after flashing:

```bash
grep "^< POWER_MODEL\|^< PM_CONFIG" /etc/nvpmodel.conf
```

For example, on a T5000:

```console
< POWER_MODEL ID=0 NAME=MAXN >
< POWER_MODEL ID=1 NAME=120W >
< POWER_MODEL ID=2 NAME=90W >
< POWER_MODEL ID=3 NAME=70W >
< PM_CONFIG DEFAULT=1 >
```

On the Ubuntu desktop, the current power mode is also displayed next to the NVIDIA icon in the top bar.

## Change the power mode

### From the command line

Select a power mode by its ID:

```bash
sudo nvpmodel -m <mode_id>
```

For example, to select the 90W mode of a T5000, which has ID `2`:

```bash
sudo nvpmodel -m 2
```

The selected power mode **persists across reboots** until you change it again.

Some mode changes modify the number of active GPU TPCs, which can only be applied at boot. In this case, `nvpmodel` asks for a reboot. Type `yes` to reboot immediately. The new mode is applied after the reboot.

### From the Ubuntu desktop

1. Click the NVIDIA icon in the top bar. The current power mode is displayed next to it.
2. Open the **Power mode** submenu and click the mode you want to set. The modes listed depend on your Jetson module.
3. If the new mode requires a reboot, a dialog asks for confirmation. Click **OK** to reboot and apply the new mode.

## Maximize the clocks with jetson_clocks

By default, the CPU, GPU, and memory frequencies scale dynamically with the load (DVFS), up to the limits of the active power mode. The `jetson_clocks` script locks these clocks at the **maximum frequencies of the current power mode**. This reduces latency and gives more stable performance, for example during benchmarks, at the cost of a higher idle power consumption.

`jetson_clocks` never exceeds the limits of the power mode: select the power mode first, then run `jetson_clocks`.

| Command                        | Description                                                           |
| ------------------------------ | --------------------------------------------------------------------- |
| `sudo jetson_clocks --show`    | Display the current clock settings                                    |
| `sudo jetson_clocks --store`   | Save the current clock settings to `~/.jetsonclocks_conf.txt`         |
| `sudo jetson_clocks`           | Lock the clocks at their maximum frequency for the current power mode |
| `sudo jetson_clocks --restore` | Restore the clock settings saved with `--store`                       |

To return to dynamic frequency scaling later, store the settings before maximizing the clocks:

```bash
sudo jetson_clocks --store
sudo jetson_clocks
# ... run your workload ...
sudo jetson_clocks --restore
```

> **Note**
>
> * The effect of `jetson_clocks` does **not** persist across reboots.
> * After running `jetson_clocks`, you cannot change the power mode with `nvpmodel` anymore. Reboot the device first.

## Create a custom power mode

If none of the predefined modes suits your application, you can define a custom power mode, for example to keep more CPU cores online at a lower frequency, or to cap the GPU frequency.

1. Use the [NVIDIA Jetson Power Estimator](https://jetson-tools.nvidia.com/powerestimator/) to estimate the power consumption of your configuration and to generate the corresponding `nvpmodel` configuration.

2. Back up the current configuration file:

   ```bash
   sudo cp /etc/nvpmodel.conf /etc/nvpmodel.conf.bak
   ```

3. Edit `/etc/nvpmodel.conf` and add a new `< POWER_MODEL ID=<id> NAME=<name> >` block. The easiest way is to copy the block of the closest existing mode, then:
   * give it a **unique** `ID` and a descriptive `NAME`,
   * enable or disable CPU cores with the `CPU_ONLINE CORE_<n> 1|0` lines,
   * adjust the `MIN_FREQ` and `MAX_FREQ` values. CPU frequencies are expressed in **kHz**; GPU, memory (EMC), and PVA frequencies in **Hz**. A value of `-1` means no limit.

4. Select the new mode:

   ```bash
   sudo nvpmodel -m <id>
   ```

> **Warning**
>
> * Keep the total consumption within the limit of your [power supply](#power-supply-of-the-zed-box-2-max).
> * Capping the memory (EMC) frequency below the bandwidth required by your application can cause functional failures, for example dropped camera frames.

## Fan profile

The ZED Box 2 Max is actively cooled. On Jetson Thor™, the fan speed is controlled by the `nvfancontrol` service according to the temperature of the module, following a **fan profile**: `cool` (default), for the lowest temperatures, or `quiet`, for a lower fan noise.

Display the current fan profile:

```bash
sudo nvfancontrol -q
```

To change the fan profile:

1. Stop the `nvfancontrol` service:

   ```bash
   sudo systemctl stop nvfancontrol
   ```

2. Edit `/etc/nvfancontrol.conf` and set `FAN_DEFAULT_PROFILE` to the profile you want, for example `quiet`.

3. Remove the status file:

   ```bash
   sudo rm /var/lib/nvfancontrol/status
   ```

4. Start the `nvfancontrol` service:

   ```bash
   sudo systemctl start nvfancontrol
   ```

The fan profile persists across reboots.

## Monitor power consumption and temperature

Monitor the system while your application runs to validate your power mode choice.

### tegrastats

`tegrastats` is installed with JetPack. It reports the CPU and GPU load and frequencies, the memory usage, the temperatures, and the power consumption of the module rails:

```bash
sudo tegrastats --interval 1000
```

To log the statistics in the background, for example during a long test:

```bash
sudo tegrastats --interval 1000 --logfile ~/tegrastats.log &
```

Stop the background logging with `sudo tegrastats --stop`.

> **Tip**
>
> You can also start `tegrastats` from the Ubuntu desktop: click the NVIDIA icon in the top bar, then **Run tegrastats**.

### Jetson Power GUI

The **Jetson Power GUI** is installed with JetPack. It displays the CPU, GPU, and memory frequencies and loads, the readings of the temperature sensors, the fan speed, and the instantaneous and average power of each monitored rail.

To start it, click the NVIDIA icon in the top bar, then **Run Jetson Power GUI**.

The **Thermal / Power Monitor** tab shows the throttling and shutdown limits of each temperature sensor, and the voltage, current, and power of each monitored rail. The **Record** section at the bottom of the **Main** tab captures a log over a given duration, and plots the recorded or real-time data. This helps you compare the power consumption of your application in different power modes.

### Throttling

The temperature of the ZED Box 2 Max depends on the power mode, the workload, and the ambient temperature. Its operating temperature range is **-25 °C to +50 °C** (-13 °F to 122 °F).

When a temperature sensor of the Jetson Thor™ module reaches **109 °C**, the software starts throttling the clocks. At **113 °C**, hardware throttling is engaged, and the system shuts down at **114.5 °C** to protect itself. The clocks are also throttled when the module power exceeds its electrical limits.

On the Ubuntu desktop, the NVIDIA icon in the top bar displays a notification when the system is throttled because of an over-current event or a high temperature.

If you observe throttling or unstable frame rates during long runs, select a lower power mode, check that the air inlets and outlets of the enclosure are not obstructed, or reduce the workload of your application.

## Further reading

* [NVIDIA Jetson Linux Developer Guide: Platform Power and Performance for Jetson Thor](https://docs.nvidia.com/jetson/archives/r39.2/DeveloperGuide/SD/PlatformPowerAndPerformance/JetsonThor.html)
* [NVIDIA Technical Blog: Power Optimization with NVIDIA Jetson](https://developer.nvidia.com/blog/power-optimization-with-nvidia-jetson/)