Skip to content

Settings

Settings is schema driven. Every option is declared once in the firmware with a type, a default, a label, and a group, and the Settings app renders that schema. The same schema is the basis for the web interface, so the two stay in sync. Values are stored in NVS as strings and read back with typed accessors, so they survive reboots.

Move with the arrow keys and open a setting to edit it. Booleans toggle in place, enumerations open a list of their choices, and text fields open an editor you can type into. Enter or F1 saves, and Esc backs out one level. Secrets, the channel keys and the WiFi passwords, are shown masked in the list.

A number opens its own editor: the current value large at the top, a slider showing where the value sits in its allowed range, the range itself as “Range x to y”, and a field to type into. F2 and F4 step the value, the Up and Down arrows do the same, and Enter or F1 saves. A value outside the range is clamped to the nearest end rather than rejected.

The groups appear in this order on the badge, and every setting in each one is listed with the key it is stored under.

GroupSettingKeyDefaultRange or choices
NetworkNetwork stacknet_backendmeshtasticmeshtastic
RadioLoRa regionmesh_regionEU_868US, EU_868, EU_433, ANZ, AU_915, IN, JP, KR, CN, RU, TW, TH, UA_868
RadioModem presetmesh_presetLongFastShortTurbo, ShortFast, ShortSlow, MediumFast, MediumSlow, LongFast, LongModerate, LongSlow, VeryLongSlow
RadioChannel namemesh_chanLongFasttext
RadioChannel key (b64)mesh_pskAQ==text, masked
RadioHop limitmesh_hop30 to 7
RadioRelay others (router)mesh_relayoffbool
RadioShare GPS positionmesh_share_posoffbool
RadioPosition interval smesh_pos_int6010 to 3600
RadioAnnounce me every (s)mesh_info_int30030 to 3600
RadioTX power dBmradio_tx_power9-9 to 22
ChannelsChannel 2 namech1_nameemptytext
ChannelsChannel 2 key (b64)ch1_pskemptytext, masked
ChannelsChannel 3 namech2_nameemptytext
ChannelsChannel 3 key (b64)ch2_pskemptytext, masked
ChannelsChannel 4 namech3_nameemptytext
ChannelsChannel 4 key (b64)ch3_pskemptytext, masked
DeviceDevice namedevice_nameemptytext
DeviceShort nameshort_nameemptytext
PowerDim after (s, 0=off)bl_dim_s600 to 3600
PowerOff after (s, 0=off)bl_off_s00 to 3600
PowerBright levelbl_bright70010 to 1023
PowerDim levelbl_dim1200 to 1023
BluetoothBluetooth (Meshtastic app)ble_enabledoffbool
BatteryBattery sensebat_enabledoffbool
BatterySense GPIO (ADC)bat_pin110 to 48
BatteryDivider ratio x100bat_div_x100200100 to 1000
GPSGPS enabledgps_enabledonbool
GPSGPS RX pin (ESP)gps_rx_pin70 to 48
GPSGPS TX pin (ESP)gps_tx_pin60 to 48
CompassIMU compass enabledimu_enabledonbool
CompassDeclination (0.1 deg, E+)mag_decl_ddeg0-1800 to 1800, tenths of a degree
CompassUse saved calibrationmag_cal_useonbool
CompassCompass SDA pinimu_sda_pin40 to 48
CompassCompass SCL pinimu_scl_pin50 to 48
CompassI2C address 0x69 (AD0 high)imu_addr_hioffbool
WiFiWiFi modewifi_modeoffoff, sta, ap
WiFiWiFi SSIDwifi_ssidemptytext
WiFiWiFi passwordwifi_passemptytext, masked
WiFiHotspot nameap_ssidCommunicatortext
WiFiHotspot passwordap_passemptytext, masked
WiFiWeb interfaceweb_enabledonbool
VibrationVibration motorvibe_enabledonbool
VibrationMotor GPIOvibe_pin120 to 48
VibrationBuzz length (ms)vibe_ms18020 to 2000
VibrationBuzz on messagevibe_on_msgonbool
LEDNotification LEDled_enabledonbool
LEDLED GPIOled_pin10 to 48
LEDLED is active lowled_active_loonbool
LEDBlink on unread messageled_on_msgonbool
LEDIdle heartbeat (s, 0=off)led_beat_s00 to 3600
MessagesSaved messagesmsg_keep500 to 64, 0 disables saving
RadarMap overlayradar_mapoffbool

The Compass group is documented in full on the Compass page, the GPS pins on the GPS page.

Most settings take effect as soon as you leave the editor. The exceptions are the peripherals, which are brought up once at boot from the values stored then:

  • Battery: all three keys
  • GPS: gps_enabled, gps_rx_pin, gps_tx_pin
  • Compass: imu_enabled, imu_sda_pin, imu_scl_pin, imu_addr_hi
  • Vibration: all four keys
  • LED: all five keys

Two Compass settings are the exception to that exception: mag_decl_ddeg and mag_cal_use are re-read about once a second while the badge runs.

Radio settings such as region, preset, channel, and key take effect on the next radio reconfigure or reboot. If you change the channel and want to talk to a specific device, match its region, channel name, and key exactly.

Under Radio, “Announce me every (s)” (mesh_info_int) sets how often the badge tells the other nodes it exists, by broadcasting its node info and telemetry. The default is 300 seconds. You can also send one straight away with the Announce function key in the Messages and Nodes apps, without changing this interval.