# Setting the Device Role

Configuring a device as a Meshtastic repeater involves two key settings: the device role and the rebroadcast mode. Both can be set using the Meshtastic mobile app or the Python CLI.

## Using the mobile app (Android/iOS)

1. Connect to your device in the [Meshtastic app](https://wiki.meshamerica.com/books/hardware-guide/page/meshtastic-app)
2. Navigate to **Config → Device → Role** (app layouts change between versions; this is the current path)
3. Find **Device Role** and select your role. Note that **REPEATER is deprecated as of firmware ~2.7.x**; for most infrastructure nodes the recommended role is now **Router** (which stays visible in the node list), and for the overwhelming majority of ordinary nodes the official guidance is **Client**.
4. Save settings - the device will reboot to apply changes

## Using the Python CLI

Install the CLI if you have not already:

```
pip install meshtastic
```

Connect the device via USB, then set the role. The setting key is `device.role` and the value is the bare enum name (for example `ROUTER` or `REPEATER`):

```
# REPEATER is deprecated as of firmware ~2.7.x; ROUTER is recommended for most infrastructure
meshtastic --set device.role ROUTER

# To set the (deprecated) REPEATER role explicitly:
meshtastic --set device.role REPEATER
```

Verify the change:

```
meshtastic --info
```

## After setting the role

Once set to REPEATER, the device will no longer appear in other nodes' node lists and does not send NodeInfo (it is anonymous on the mesh) - this is by design. It relays packets without broadcasting its own data, and unlike ROUTER it does not force power-saving sleep. To confirm it is operating, check the serial output or observe that messages are being relayed through it. (If you instead choose ROUTER, the node *does* appear in the node list and the firmware automatically enables power-saving sleep that cannot be turned off, with BLE/WiFi/Serial off by default.)

## [Flashing Meshtastic firmware](https://wiki.meshamerica.com/books/diy-build-guides/page/flashing-meshtastic-firmware)

If your device does not have Meshtastic installed, use the [Meshtastic Web Flasher](https://flasher.meshtastic.org) to install firmware directly from Chrome or Edge - no software installation required. Connect via USB, select your device type, and click Flash.

## Setting the region

Before the radio will transmit, you must set the correct region. The region setting is the master legal control - it determines both your authorized frequency band *and* the maximum power the firmware will permit:

```
meshtastic --set lora.region US
```

Or in the app: **Config → LoRa → Region → US**. Setting the wrong region (for example leaving a US deployment on EU868) will cause the device to transmit out-of-band on frequencies you are not authorized to use - a clear violation of FCC rules, not just a possibility. In the US, only 902-928 MHz is available for these unlicensed Part 15 devices. Always set the region that matches your physical location before transmitting, and leave `lora.tx_power` at its default of `0` so the firmware applies the region-legal maximum.