---
id: device
title: Device Configuration
sidebar_label: Device
---

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

The device config options are: Role, Serial Output, and Debug Log.  Device config uses an admin message sending a `Config.Device` protobuf.

## Device Config Values

### Role
Sets the role of node. 

Acceptable values:

|   Value   |                                                                  Description                                                                                                              |
| :-------: | :---------------------------------------------------------------------------------------: |
|  `CLIENT`   | Client (default) - App connected client. |
| `CLIENT_MUTE` | Client Mute - Same as a client except packets will not hop over this node, does not contribute to routing packets for mesh. |
| `ROUTER` | Router -  Mesh packets will prefer to be routed over this node. This node will not be used by client apps. The WiFi/BLE radios and the OLED screen will be put to sleep. |
| `ROUTER_CLIENT` | Router Client - Mesh packets will prefer to be routed over this node. The Router Client can be used as both a Router and an app connected Client. |


### Serial Console 
Acceptable values: `true` or `false`

Disabling this will disable the SerialConsole by not initializing the StreamAPI

### Debug Log
Acceptable values: `true` or `false`

By default we turn off logging as soon as an API client connects Set this to true to leave the debug log outputting even when API is active.

## Device Config Client Availability

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

:::info
Device config is not available for Android.
:::

</TabItem>
<TabItem value="apple">

:::info
All device config options other than NTP Server are available on iOS, iPadOS and macOS at Settings > Radio Configuration > Device.
:::

</TabItem>
<TabItem value="cli">

All device config options are available in the python CLI. Example commands are below:

```shell title="Set the role to client"
meshtastic --set device.role CLIENT
```

```shell title="Disable serial console"
meshtastic --set device.serial_enabled false
```

```shell title="Enable debug logging"
meshtastic --set device.debug_log_enabled true
```

</TabItem>
<TabItem value="flasher">

:::danger
No device config options are available in the Flasher.
:::

  </TabItem>
  <TabItem value="web">

:::info
All device config options are available in the Web UI.
:::
    
  </TabItem>
</Tabs>