--- id: device title: Device Configuration slug: /settings/config/device 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. ### GPIO for user button This is the GPIO pin number that will be used for the user button, if your device does not come with a predefined user button. ### GPIO for PWM Buzzer This is the GPIO pin number that will be used for the PWM buzzer, if your device does not come with a predefined buzzer. ## Device Config Client Availability :::info Device Config is available for Android. 1. Open the Meshtastic App 2. Navigate to: **Vertical Ellipsis (3 dots top right) > Device Settings > Device Config** ::: :::info All device config options other than NTP Server are available on iOS, iPadOS and macOS at Settings > Radio Configuration > Device. ::: :::info All device config options are available in the python CLI. Example commands are below: ::: | Setting | Acceptable Values | Default | | ------------------------ | -------------------------------------------------- | -------- | | device.debug_log_enabled | `true`, `false` | `false` | | device.role | `CLIENT`, `CLIENT_MUTE`, `ROUTER`, `ROUTER_CLIENT` | `CLIENT` | | device.serial_enabled | `true`, `false` | `true` | | device.button_gpio | `0` - `34` | `0` | | device.buzzer_gpio | `0` - `34` | `0` | :::tip Because the device will reboot after each command is sent via CLI, it is recommended when setting multiple values in a config section that commands be chained together as one. ```shell title="Example:" meshtastic --set device.role CLIENT --set device.debug_log_enabled true ``` ::: ```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 ``` :::info All device config options are available in the Web UI. :::