---
id: power
title: Power Settings
sidebar_label: Power
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

## Overview

Power settings on a Meshtastic device can be set like other user-define settings with the `--set` command see ([see Meshtastic-python](/docs/software/python/python-cli)). Some of these options are implicit in other commands. For example, when you set the device to router mode using `is_router true`, it is implied that deep sleep is disabled and we want to constantly listen for messages. Below is a list of all user-definable settings and the acceptable values that these settings can use.

For a description and more information on what exactly all of these mean, please refer to [Power Management State Machine](/docs/software/other/power)

## Settings

|            Setting             |                                                                        Acceptable Values                                                                        |  Default  |
| :----------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------: |
|         charge_current         | `MAUnset`, `MA100`, `MA190`, `MA280`, `MA360`, `MA450`, `MA550`, `MA630`, `MA700`, `MA780`, `MA880`, `MA960`, `MA1000`, `MA1080`, `MA1160`, `MA1240`, `MA1320`: | `MAUnset` |
|       is_always_powered        |                                                                         `true`, `false`                                                                         |  `false`  |
|          is_low_power          |                                                                         `true`, `false`                                                                         |  `false`  |
|           is_router            |                                                                         `true`, `false`                                                                         |  `false`  |
|            ls_secs             |                                                                       `integer` (seconds)                                                                       |    `0`    |
|     mesh_sds_timeout_secs      |                                                                       `integer` (seconds)                                                                       |    `0`    |
|         min_wake_secs          |                                                                       `integer` (seconds)                                                                       |    `0`    |
| on_battery_shutdown_after_secs |                                                                       `integer` (seconds)                                                                       |    `0`    |
|       phone_timeout_secs       |                                                                       `integer` (seconds)                                                                       |    `0`    |
|         screen_on_secs         |                                                                       `integer` (seconds)                                                                       |    `0`    |
|            sds_secs            |                                                                       `integer` (seconds)                                                                       |    `0`    |
|      wait_bluetooth_secs       |                                                                       `integer` (seconds)                                                                       |    `0`    |

:::note

When you change the following settings to `0` they assume the following defaults:

- `ls_secs`: 1 hour
- `mesh_sds_timeout_secs`: 2 hours
- `min_wake_secs`: 10 seconds
- `phone_timeout_secs`: 15 minutes
- `screen_on_secs`: 1 minute
- `sds_secs`: 1 year
- `wait_bluetooth_secs`: 1 minute

:::

### charge_current

Sets the current of the battery charger.

#### Specify charge_current

<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">

```shell title="Unset charge current"
meshtastic --set  charge_current MAUnset
```

```shell title="Set charge current"
meshtastic --set  charge_current MA100
```

  </TabItem>
  <TabItem value="android">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="iOS">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="web">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
</Tabs>

### is_always_powered

Circumvents the logic block for determining whether the device is powered or not. Useful for devices with finicky ADC issues on the battery sense pins.

#### Enable/Disable is_always_powered

<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">

```shell title="Enable is_always_powered"
meshtastic --set is_always_powered true
```

```shell title="Disable is_always_powered"
meshtastic --set is_always_powered false
```

  </TabItem>
  <TabItem value="android">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="iOS">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="web">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
</Tabs>

### is_low_power

If set, we are powered from a low-current source (i.e. solar), so even if it looks like we have power flowing in we should try to minimize power consumption as much as possible.

:::note

You do **not** need to set this if you've set `is_router` (it is implied in that case).

:::

#### Enable/Disable is_low_power

<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">

```shell title="Enable is_low_power"
meshtastic --set is_low_power true
```

```shell title="Disable is_low_power"
meshtastic --set is_low_power false
```

  </TabItem>
  <TabItem value="android">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="iOS">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="web">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
</Tabs>

### is_router

Are we operating as a router. Changes behavior in the following ways: The device will only sleep for critically low battery level (i.e. always tries to stay alive for the mesh) In the future routing decisions will preferentially route packets through nodes with this attribute (because assumed good line of sight).

#### Enable/Disable is_router

<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">

```shell title="Enable is_router"
meshtastic --set is_router true
```

```shell title="Disable is_router"
meshtastic --set is_router false
```

  </TabItem>
  <TabItem value="android">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="iOS">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="web">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
</Tabs>

### ls_secs

Power management state machine option. See the [power page](/docs/software/other/power) for details. 0 for default of 3600.

#### Configure ls_secs

<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">

```shell title="Set ls_secs to default (1 hour/3600 seconds)"
meshtastic --set ls_secs 0
```

```shell title="Set ls_secs to 120 seconds"
meshtastic --set ls_secs 120
```

  </TabItem>
  <TabItem value="android">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="iOS">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="web">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
</Tabs>

### mesh_sds_timeout_secs

Power management state machine option. See the [power page](/docs/software/other/power) for details. 0 for default of two hours, use the MAXUINT or 4294967295 to disable.

#### Configure mesh_sds_timeout_secs

<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">

```shell title="Set mesh_sds_timeout_secs to default (2 hour/7200 seconds)"
meshtastic --set mesh_sds_timeout_secs 0
```

```shell title="Set mesh_sds_timeout_secs to 120 seconds"
meshtastic --set mesh_sds_timeout_secs 120
```

```shell title="Disable mesh_sds_timeout_secs (using MAXUINT)"
meshtastic --set mesh_sds_timeout_secs 4294967295
```

  </TabItem>
  <TabItem value="android">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="iOS">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="web">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
</Tabs>

### min_wake_secs

Power management state machine option. See the [power page](/docs/software/other/power)for details. 0 for default of 10 seconds.

#### Configure min_wake_secs

<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">

```shell title="Set min_wake_secs to default (10 seconds)"
meshtastic --set min_wake_secs 0
```

```shell title="Set min_wake_secs to 120 seconds"
meshtastic --set min_wake_secs 120
```

  </TabItem>
  <TabItem value="android">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="iOS">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="web">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
</Tabs>

### on_battery_shutdown_after_secs

If non-zero, the device will fully power off this many seconds after external power is removed.

#### Enable/Disable on_battery_shutdown_after_secs

<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">

```shell title="Disable on_battery_shutdown_after_secs"
meshtastic --set on_battery_shutdown_after_secs 0
```

```shell title="Set device to shutdown after 120 seconds on battery"
meshtastic --set on_battery_shutdown_after_secs 120
```

  </TabItem>
  <TabItem value="android">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="iOS">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="web">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
</Tabs>

### phone_timeout_secs

Power management state machine option. See the [power page](/docs/software/other/power) for details. 0 for default of 15 minutes.

#### Configure phone_timeout_secs

<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">

```shell title="Set phone_timeout_secs to default (15 minutes)"
meshtastic --set phone_timeout_secs 0
```

```shell title="Set phone_timeout_secs to 120 seconds"
meshtastic --set phone_timeout_secs 120
```

  </TabItem>
  <TabItem value="android">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="iOS">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="web">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
</Tabs>

### screen_on_secs

Power management state machine option. See the [power page](/docs/software/other/power) for details. 0 for default of one minute.

#### Configure screen_on_secs

<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">

```shell title="Set screen_on_secs to default (1 minute)"
meshtastic --set screen_on_secs 0
```

```shell title="Set screen_on_secs to 120 seconds"
meshtastic --set screen_on_secs 120
```

  </TabItem>
  <TabItem value="android">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="iOS">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="web">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
</Tabs>

### sds_secs

Power management state machine option. See the [power page](/docs/software/other/power) for details. 0 for default of one year.

#### Configure sds_secs

<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">

```shell title="Set sds_secs to default (1 year)"
meshtastic --set sds_secs 0
```

```shell title="Set sds_secs to 120 seconds"
meshtastic --set sds_secs 120
```

  </TabItem>
  <TabItem value="android">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="iOS">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="web">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
</Tabs>

### wait_bluetooth_secs

Wait number of seconds for Bluetooth - Power management state machine option. See the [power page](/docs/software/other/power) for details. 0 for default of 1 minute.

#### Configure wait_bluetooth_secs

<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">

```shell title="Set wait_bluetooth_secs to default (60 seconds)"
meshtastic --set wait_bluetooth_secs 0
```

```shell title="Set wait_bluetooth_secs to 120 seconds"
meshtastic --set wait_bluetooth_secs 120
```

  </TabItem>
  <TabItem value="android">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="iOS">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
  <TabItem value="web">
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
  </TabItem>
</Tabs>
