# MeshTerm configuration: where things live, and which device to talk to. # Copy to ~/.meshterm/config.toml (or pass --db / --port on the CLI). # # How MeshTerm itself behaves — transmit cooldown, message retries, how much history it # keeps — is *not* here. Those are preferences: they live in ~/.meshterm/preferences.toml, # and are edited on the Preferences page (or with `meshterm preferences set `). # Every one has a built-in default, so that file only ever lists what you have changed. # # Profiles are optional. With no profile, no --port/--ble/--tcp, MeshTerm discovers attached # serial devices and nearby Bluetooth companions, lets you pick one (interactively) or uses the # single one present, and remembers the last device that connected as the default for next time. # A network (TCP) companion isn't discoverable — name it with --tcp host:port, a TCP profile, or # the picker's "add a network device" prompt. Define profiles below only to give your hardware # stable aliases (e.g. --profile yagi, --profile handheld for Bluetooth, --profile wifi for TCP). # Uncomment and name one of your own profiles below to make it the default. Left # commented, MeshTerm finds the device itself, as described above. # default_profile = "s3" # Open the radio link as soon as the menu appears. False opens it lazily instead — only # once monitoring is turned on or a tool first needs the radio. connect_on_start = true # db_path = "C:/Users/you/meshterm/meshterm.db" # One [profiles.] block per physical companion device. [profiles.s3] port = "COM5" baudrate = 115200 description = "XIAO ESP32-S3 + Wio SX1262 serial companion" [profiles.yagi] port = "COM6" description = "Yagi repeater (reaching the wider mesh)" [profiles.local] port = "COM7" description = "Local-range repeater" [profiles.observer] port = "COM8" description = "XIAO observer running a bot" # A Bluetooth LE companion: give it an `address` (from `meshterm devices`) instead of a port. # The `transport = "ble"` line is optional — a bare `address` already implies Bluetooth. [profiles.handheld] address = "AA:BB:CC:DD:EE:FF" # transport = "ble" # ble_pin = "123456" # only if your device requires a pairing PIN description = "Pocket handheld over Bluetooth" # A network (TCP) companion — a WiFi board, or a meshcored-style proxy — reachable at a # host:port. Give it a `host` (and optional `tcp_port`, default 5000); a bare `host` already # implies TCP, so the `transport = "tcp"` line is optional. A TCP companion isn't discoverable, # so a profile (or --tcp host:port, or the picker's "add a network device" prompt) is how you # reach one. [profiles.wifi] host = "192.168.1.50" # tcp_port = 5000 # transport = "tcp" description = "Basestation over WiFi" # A radio on this machine's own SPI bus: MeshTerm runs its node while it is connected. # The pins default to the uConsole AIO v1's, which needs nothing more than this (and is # listed on the device screen anyway, whenever /dev/spidev1.0 exists). [profiles.aio] transport = "spi" # [profiles.aio.spi] # en_pins = [27] # the AIO v2 powers its radio from pin 27 # Any other board states its whole wiring — every pin and both switches, because a key # left out keeps the AIO's value. Read them off the board's meshtasticd config; the # values here are an illustration only. docs/configuration.md has the key-by-key mapping. # [profiles.hat.spi] # bus_id = 0 # /dev/spidev0.0 # cs_id = 0 # reset_pin = 18 # busy_pin = 20 # irq_pin = 16 # txen_pin = 6 # rxen_pin = -1 # use_dio2_rf = false # use_dio3_tcxo = false # python = "/opt/radio/bin/python" # only to pick the Python that has openhop-core