diff --git a/docs/configuration/module/ambient-lighting.mdx b/docs/configuration/module/ambient-lighting.mdx
index 3210c497..afb89111 100644
--- a/docs/configuration/module/ambient-lighting.mdx
+++ b/docs/configuration/module/ambient-lighting.mdx
@@ -7,6 +7,7 @@ description: Configuration details to manage LEDs on your Meshtastic device.
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
The Ambient Lighting Module has settings for control of onboard LEDs and allows users to adjust the brightness levels and respective color levels. Initially created for the RAK14001 RGB LED module using the NCP5623 with I2C. Config options are: LED State, Current, Red Level, Green Level, and Blue Level.
@@ -37,14 +38,43 @@ Sets the blue LED level. Values are 0-255.
## Ambient Lighting Module Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
+
#### Android
@@ -54,7 +84,7 @@ All Ambient Lighting Module config options are available for Android in app vers
1. Open the Meshtastic App
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Ambient Lighting**
-:::
+ :::
@@ -102,6 +132,7 @@ meshtastic --set ambient_lighting.blue 148
```shell title="Get the Ambient Lighting Module Configuration"
meshtastic --get ambient_lighting
```
+
@@ -112,5 +143,6 @@ meshtastic --get ambient_lighting
All Ambient Lighting module config options are available in the Web UI.
:::
+
diff --git a/docs/configuration/module/audio.mdx b/docs/configuration/module/audio.mdx
index 09eac3e1..e016ceda 100644
--- a/docs/configuration/module/audio.mdx
+++ b/docs/configuration/module/audio.mdx
@@ -7,15 +7,16 @@ description: Configuration details for the Audio Module of your Meshtastic devic
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
The audio module config options are: Codec2 Enabled, PTT GPIO, Audio Bitrate/Codec Mode, I2S Word Select, I2S Data IN, I2S Data OUT and I2S Clock. Audio Module config uses an admin message sending a `ConfigModule.Audio` protobuf.
-With this **experimental** module, you can add a digital I2S microphone and speaker to any ESP32 device that has a SX128x radio and operates on the 2.4 GHz ISM Band. The Sub-1GHz bands are not wide enough to support continuous audio packets on the mesh, even in the Short and Fast modes. Right now, the only devices supported are the LilyGo TLora 2.1-1.8 and TLora T3S3 boards. The module has been designed for channels with 2kbit / sec of bandwidth or greater.
+With this **experimental** module, you can add a digital I2S microphone and speaker to any ESP32 device that has a SX128x radio and operates on the 2.4 GHz ISM Band. The Sub-1GHz bands are not wide enough to support continuous audio packets on the mesh, even in the Short and Fast modes. Right now, the only devices supported are the LilyGo TLora 2.1-1.8 and TLora T3S3 boards. The module has been designed for channels with 2kbit / sec of bandwidth or greater.
Required additional hardware:
-* Max98357 - I2S 3W Class D Amplifier
-* MSM261S4030H0 - I2S MEMS Low Noise Single Microphone
+- Max98357 - I2S 3W Class D Amplifier
+- MSM261S4030H0 - I2S MEMS Low Noise Single Microphone
## Audio Module Config Values
@@ -64,14 +65,42 @@ These Pins comprise an I2S digital audio interface. Meshtastic uses it in monoau
## Audio Module Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
#### Android
@@ -83,7 +112,6 @@ Audio Config options are available for Android.
1. Open the Meshtastic App
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Audio**
-
:::
@@ -106,15 +134,15 @@ All audio module config options are available in the python CLI. Example command
:::
-| Setting | Acceptable Values | Default |
-| :----------------: | :-----------------------------------------------------------------------------------------------------------------------------: | :----------------------: |
-|audio.codec2_enabled| `true`, `false` | `false` |
-| audio.ptt_pin | GPIO Pin Number 1-39 | Default of `39` is Unset |
-| audio.bitrate | `CODEC2_DEFAULT` `CODEC2_3200` `CODEC2_2400` `CODEC2_1600` `CODEC2_1400` `CODEC2_1300` `CODEC2_1200` `CODEC2_700B` `CODEC2_700` | `CODEC2_DEFAULT` |
-| audio.i2s_ws | GPIO Pin Number 1-34 | no Default |
-| audio.i2s_sd | GPIO Pin Number 1-39 | no Default |
-| audio.i2s_din | GPIO Pin Number 1-34 | no Default |
-| audio.i2s_sck | GPIO Pin Number 1-34 | no Default |
+| Setting | Acceptable Values | Default |
+| :------------------: | :-----------------------------------------------------------------------------------------------------------------------------: | :----------------------: |
+| audio.codec2_enabled | `true`, `false` | `false` |
+| audio.ptt_pin | GPIO Pin Number 1-39 | Default of `39` is Unset |
+| audio.bitrate | `CODEC2_DEFAULT` `CODEC2_3200` `CODEC2_2400` `CODEC2_1600` `CODEC2_1400` `CODEC2_1300` `CODEC2_1200` `CODEC2_700B` `CODEC2_700` | `CODEC2_DEFAULT` |
+| audio.i2s_ws | GPIO Pin Number 1-34 | no Default |
+| audio.i2s_sd | GPIO Pin Number 1-39 | no Default |
+| audio.i2s_din | GPIO Pin Number 1-34 | no Default |
+| audio.i2s_sck | GPIO Pin Number 1-34 | no Default |
:::tip
diff --git a/docs/configuration/module/canned-message.mdx b/docs/configuration/module/canned-message.mdx
index 8987e0a2..75cd6f6e 100644
--- a/docs/configuration/module/canned-message.mdx
+++ b/docs/configuration/module/canned-message.mdx
@@ -7,6 +7,7 @@ description: Configuration details for canned (predefined) messages on your Mesh
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
import ReactPlayer from "react-player";
The Canned Message Module will allow you to send messages to the mesh network from the device without using the phone app. You can predefine text messages to choose from.
@@ -87,14 +88,42 @@ Generate input event on Press of this kind.
## Canned Message Module Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
#### Android
diff --git a/docs/configuration/module/detection-sensor.mdx b/docs/configuration/module/detection-sensor.mdx
index 132e0df4..ce0b096a 100644
--- a/docs/configuration/module/detection-sensor.mdx
+++ b/docs/configuration/module/detection-sensor.mdx
@@ -7,8 +7,9 @@ description: Configuration details for the Detection Sensor Module of your Mesht
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
-The Detection Sensor module allows you to configure a GPIO pin to be monitored for a specified high/low status and send text alerts over the Detection Sensor portnum when an event is detected. This is particularly useful for motion detection sensors, reed switches, and other open / closed state systems in which notifications over the mesh are desired. Config options are: Enabled, Minimum Broadcast Interval, State Broadcast Interval, Send Bell, Name, Monitor Pin, Detection Triggered High, and Use Pull-up.
+The Detection Sensor module allows you to configure a GPIO pin to be monitored for a specified high/low status and send text alerts over the Detection Sensor portnum when an event is detected. This is particularly useful for motion detection sensors, reed switches, and other open / closed state systems in which notifications over the mesh are desired. Config options are: Enabled, Minimum Broadcast Interval, State Broadcast Interval, Send Bell, Name, Monitor Pin, Detection Triggered High, and Use Pull-up.
In order to use this module, make sure your devices have firmware version 2.2.2 or higher.
@@ -26,7 +27,7 @@ The interval in seconds of how often we can send a message to the mesh when a st
The interval in seconds of how often we should send a message to the mesh with the current state regardless of changes, When set to 0, only state changes will be broadcasted, Works as a sort of status heartbeat for peace of mind.
-### Send Bell
+### Send Bell
Send ASCII bell with alert message. Useful for triggering ext. notification on bell
name.
@@ -50,25 +51,53 @@ Whether or not use INPUT_PULLUP mode for GPIO pin. Only applicable if the board
## Detection Sensor Module Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
+
#### Android
-
:::info
All Detection Sensor Module config options are available for Android in app version 2.2.2 and higher.
1. Open the Meshtastic App
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Detection Sensor**
-:::
+ :::
@@ -133,6 +162,7 @@ meshtastic --set detection_sensor.use_pullup true
```shell title="Get the Detection Sensor Module Configuration"
meshtastic --get detection_sensor
```
+
@@ -143,5 +173,6 @@ meshtastic --get detection_sensor
All Detection Sensor module config options are available in the Web UI.
:::
+
diff --git a/docs/configuration/module/external-notification.mdx b/docs/configuration/module/external-notification.mdx
index 198063ee..6cd37a9d 100644
--- a/docs/configuration/module/external-notification.mdx
+++ b/docs/configuration/module/external-notification.mdx
@@ -7,6 +7,7 @@ description: This module will allow you to connect a buzzer, speaker, LED, or ot
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
import ReactPlayer from "react-player";
The External Notification Module will allow you to connect a buzzer, speaker, LED, or other device to notify you when a message has been received from the mesh network. You can enable up to 3 pins independently from each other.
@@ -62,14 +63,42 @@ Specifies if the alert should be repeated. If set to a value greater than zero,
## External Notification Module Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
#### Android
diff --git a/docs/configuration/module/mqtt.mdx b/docs/configuration/module/mqtt.mdx
index 456375b7..e5c8fff0 100644
--- a/docs/configuration/module/mqtt.mdx
+++ b/docs/configuration/module/mqtt.mdx
@@ -7,6 +7,7 @@ description: Learn to manage MQTT servers, encryption, and more for your Meshtas
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
If your device is connected to Internet via wifi or ethernet, you can enable it to forward packets along to an MQTT server. This allows users on the local mesh to communicate with users on the internet. One or more channels must also be enabled as uplink and/or downlink for packets to be transmitted from and/or to your mesh (See [channels](/docs/configuration/radio/channels#downlink-enabled)).
@@ -82,14 +83,42 @@ How often we should publish the map report to the MQTT server in seconds. Defaul
## MQTT Module Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
#### Android
@@ -177,13 +206,42 @@ The default channel (LongFast) on the public server usually has a lot of traffic
:::
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
diff --git a/docs/configuration/module/neighbor-info.mdx b/docs/configuration/module/neighbor-info.mdx
index 1a7b18db..91006357 100644
--- a/docs/configuration/module/neighbor-info.mdx
+++ b/docs/configuration/module/neighbor-info.mdx
@@ -7,6 +7,7 @@ description: This module allows you to send information about your immediate(0 h
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
The Neighbor Info Module is for sending information on each node's 0-hop neighbors to the mesh. Config options are: Enabled, Update Interval and Transmit Over LoRa.
@@ -30,20 +31,48 @@ How often the neighbor info is sent to the mesh. This cannot be set lower than 4
### Transmit Over LoRa
-Available from firmware 2.5.13 and higher. By default, neighbor info will only be sent to MQTT and a connected app. If enabled, the neighbor info will be sent on the primary channel over LoRa. Only available when the primary channel is not the public channel with default key and name.
-
+Available from firmware 2.5.13 and higher. By default, neighbor info will only be sent to MQTT and a connected app. If enabled, the neighbor info will be sent on the primary channel over LoRa. Only available when the primary channel is not the public channel with default key and name.
## Neighbor Info Module Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
+
#### Android
@@ -53,7 +82,7 @@ All Neighbor Info Module config options are available for Android in app version
1. Open the Meshtastic App
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Neighbor Info**
-:::
+ :::
@@ -90,7 +119,6 @@ meshtastic --set neighbor_info.transmit_over_lora true
meshtastic --get neighbor_info
```
-
diff --git a/docs/configuration/module/paxcounter.mdx b/docs/configuration/module/paxcounter.mdx
index eb1e61c1..097e289d 100644
--- a/docs/configuration/module/paxcounter.mdx
+++ b/docs/configuration/module/paxcounter.mdx
@@ -7,6 +7,7 @@ description: This module uses WiFi and BLE to count people or devices passing by
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
The Paxcounter module counts the number of people passing by a specific area by scanning for WiFi and BLE MAC addresses. It is commonly used in retail stores, museums, and other public spaces to monitor foot traffic and gather valuable data for analysis.
@@ -22,21 +23,50 @@ This module can only be used with ESP32 devices. To operate the Paxcounter Modul
Whether the Module is enabled.
-### Update Interval
+### Update Interval
The interval in seconds of how often we can send a message to the mesh when a state change is detected.
## Paxcounter Module Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
+
#### Android
@@ -85,6 +115,7 @@ meshtastic --set paxcounter.paxcounter_update_interval 900
```shell title="Get the Paxcounter Module Configuration"
meshtastic --get paxcounter
```
+
@@ -95,5 +126,6 @@ meshtastic --get paxcounter
All Paxcounter module config options are available in the Web UI.
:::
+
diff --git a/docs/configuration/module/remote-hardware.mdx b/docs/configuration/module/remote-hardware.mdx
index 42f17260..cb5b4607 100644
--- a/docs/configuration/module/remote-hardware.mdx
+++ b/docs/configuration/module/remote-hardware.mdx
@@ -7,6 +7,7 @@ description: The Remote Hardware Module allows to read, write and watch GPIO pin
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
The Remote Hardware Module allows to read, write and watch GPIO pins on a remote node. Config options are: Enabled.
@@ -26,14 +27,43 @@ Whether the module is enabled.
## Remote Hardware Module Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
+
#### Android
@@ -43,7 +73,7 @@ All Remote Hardware Module config options are available for Android in app.
1. Open the Meshtastic App
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Remote Hardware**
-:::
+ :::
@@ -75,9 +105,6 @@ Not implemented.
-
-
-
## Remote Hardware Module Usage
:::warning
@@ -88,7 +115,7 @@ GPIO access is fundamentally dangerous because invalid options can physically da
- Set any GPIO
- Read any GPIO
-- Receive a notification over the mesh if any GPIO changes state.
+- Receive a notification over the mesh if any GPIO changes state.
Note that it cannot detect fast changes like button presses. For this, look at the [Detection Sensor module](/docs/configuration/module/detection-sensor) instead.
The result of reading a GPIO or notifications of GPIO changes will also be sent over MQTT (if enabled) in JSON format (if enabled).
@@ -128,7 +155,7 @@ Now both devices should be able to talk over the `gpio` channel. Send a text mes
### Masks
-A mask is used to set the GPIOs to control. For GPIO 1, bit 1 of the mask is set (0x2 in hexadecimal), for GPIO 2, bit 2 of the mask is set (0x4 in hexadecimal), and so on.
+A mask is used to set the GPIOs to control. For GPIO 1, bit 1 of the mask is set (0x2 in hexadecimal), for GPIO 2, bit 2 of the mask is set (0x4 in hexadecimal), and so on.
To determine the appropriate mask for the pin(s) that you want to know, the python program (and output) below might help:
```python
diff --git a/docs/configuration/module/serial.mdx b/docs/configuration/module/serial.mdx
index 8d9a3d3a..d3b7b290 100644
--- a/docs/configuration/module/serial.mdx
+++ b/docs/configuration/module/serial.mdx
@@ -7,6 +7,7 @@ description: This module is an interface to talk to and control your Meshtastic
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
import ReactPlayer from "react-player";
The serial module config options are: Enabled, Echo, Mode, Receive GPIO, Transmit GPIO, Baud Rate, Timeout, and Override Console Serial Port. Serial Module config uses an admin message sending a `ConfigModule.Serial` protobuf.
@@ -87,14 +88,42 @@ Once module settings are changed, a **reset** is required for them to take effec
## Serial Module Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
#### Android
diff --git a/docs/configuration/module/store-and-forward-module.mdx b/docs/configuration/module/store-and-forward-module.mdx
index e4cf9651..023d5f84 100644
--- a/docs/configuration/module/store-and-forward-module.mdx
+++ b/docs/configuration/module/store-and-forward-module.mdx
@@ -7,18 +7,19 @@ description: This module allows you to resend text messages after a device has b
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
## Overview
-Using this module, a client device can ask a special Store & Forward Server to resend text messages after the client has been temporarily not in LoRa range of the mesh.
+Using this module, a client device can ask a special Store & Forward Server to resend text messages after the client has been temporarily not in LoRa range of the mesh.
Since firmware version 2.4, when you connect to the Store & Forward Server with a client app, you get the history automatically, which will be much larger than the default cache of around 30 packets on a device.
:::info
Only ESP32 based devices with onboard PSRAM like the T-Beam and T3S3 can be a Store & Forward Server.
:::
-When a client device requests the history from the Store & Forward Server, it will resend the text messages over LoRa that it has received. The server will only return messages that are within the time window the client has requested up to the maximum number of messages configured for the server.
-The server does not know which messages the client device actually missed, so it is possible that you receive duplicates.
+When a client device requests the history from the Store & Forward Server, it will resend the text messages over LoRa that it has received. The server will only return messages that are within the time window the client has requested up to the maximum number of messages configured for the server.
+The server does not know which messages the client device actually missed, so it is possible that you receive duplicates.
:::important
Be mindful when requesting the history, as the server might send a lot of messages which will burden your mesh for a short period of time.
@@ -41,6 +42,7 @@ Initial requirements for the Store and Forward Server:
### Usage Overview
- To use / test this over LoRa you will want at least 3 devices:
+
- One ESP32 device with PSRAM configured as `ROUTER` or `store_forward.is_server` set.
- Two others will be regular clients. If one client sends a text message when the other is not in range, the other can request the history from the server to receive the missed message when it is back in range.
@@ -102,14 +104,42 @@ Set to true to configure your node with PSRAM as a Store & Forward Server for st
## Store & Forward Module Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
@@ -120,6 +150,7 @@ Store and Forward Config options are available for Android.
1. Open the Meshtastic App
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Store & Forward**
+
:::
@@ -138,14 +169,14 @@ All Store & Forward module config options are available on iOS, iPadOS and macOS
#### CLI
-| Setting | Acceptable Values | Default |
-| :---------------------------------: | :---------------: | :-----: |
-| store_forward.enabled | `true`, `false` | `false` |
-| store_forward.heartbeat | `true`, `false` | `false` |
-| store_forward.history_return_max | `integer` | `0` (25 messages) |
-| store_forward.history_return_window | `integer` | `0` (240 minutes) |
-| store_forward.records | `integer` | `0` (≈11,000 records) |
-| store_forward.is_server | `true`, `false` | `false` |
+| Setting | Acceptable Values | Default |
+| :---------------------------------: | :---------------: | :-------------------: |
+| store_forward.enabled | `true`, `false` | `false` |
+| store_forward.heartbeat | `true`, `false` | `false` |
+| store_forward.history_return_max | `integer` | `0` (25 messages) |
+| store_forward.history_return_window | `integer` | `0` (240 minutes) |
+| store_forward.records | `integer` | `0` (≈11,000 records) |
+| store_forward.is_server | `true`, `false` | `false` |
:::tip
@@ -175,10 +206,10 @@ meshtastic --set store_forward.is_server true
meshtastic --set store_forward.heartbeat 0
```
-
```shell title="Set store_forward.history_return_max to default (25 messages)"
meshtastic --set store_forward.history_return_max 0
```
+
```shell title="Set store_forward.history_return_max to 100 messages"
meshtastic --set store_forward.history_return_max 100
```
@@ -186,6 +217,7 @@ meshtastic --set store_forward.history_return_max 100
```shell title="Set store_forward.history_return_window to default (240 minutes)"
meshtastic --set store_forward.history_return_window 0
```
+
```shell title="Set store_forward.history_return_window to 1 day (1440 minutes)"
meshtastic --set store_forward.history_return_window 1440
```
@@ -193,11 +225,12 @@ meshtastic --set store_forward.history_return_window 1440
```shell title="Set store_forward.records to default (≈11,000 records)"
meshtastic --set store_forward.records 0
```
+
```shell title="Set store_forward.records to 100 records"
meshtastic --set store_forward.records 100
```
-
+
diff --git a/docs/configuration/module/telemetry.mdx b/docs/configuration/module/telemetry.mdx
index e1a81e4d..b2a4ba52 100644
--- a/docs/configuration/module/telemetry.mdx
+++ b/docs/configuration/module/telemetry.mdx
@@ -7,6 +7,7 @@ description: This module allows sharing of Device, Environment, Health, and Air
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
import ReactPlayer from "react-player";
The Telemetry Module provides four types of data over the mesh: Device metrics (Battery Level, Voltage, Channel Utilization and Airtime) from your Meshtastic device, Environment Metrics, Air Quality Metrics, and Health metrics (Heart rate, Oxygen Saturation and body temperature).
@@ -112,14 +113,42 @@ Default is `1800` seconds (30 minutes).
## Telemetry Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
#### Android
diff --git a/docs/configuration/module/traceroute.mdx b/docs/configuration/module/traceroute.mdx
index 2efa80cd..1f8208c5 100644
--- a/docs/configuration/module/traceroute.mdx
+++ b/docs/configuration/module/traceroute.mdx
@@ -8,6 +8,7 @@ description: The traceroute module allows you to understand the path a message t
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import ReactPlayer from "react-player";
+import { Icon } from "@iconify/react";
## Overview
@@ -35,14 +36,43 @@ Repeater nodes will appear in the traceroute log if they have the encryption key
## Traceroute Module Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
+
#### Android
diff --git a/docs/configuration/radio/bluetooth.mdx b/docs/configuration/radio/bluetooth.mdx
index 88ba9be3..15e3f202 100644
--- a/docs/configuration/radio/bluetooth.mdx
+++ b/docs/configuration/radio/bluetooth.mdx
@@ -7,6 +7,7 @@ description: Configure Bluetooth settings on your Meshtastic device for connecti
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
The Bluetooth config options are: Enabled, Pairing Mode and Fixed PIN Value. Bluetooth config uses an admin message sending a `Config.Bluetooth` protobuf.
@@ -46,14 +47,43 @@ It is strongly recommended that you change the default `FIXED_PIN` code on your
## Bluetooth Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
+
#### Android
diff --git a/docs/configuration/radio/channels.mdx b/docs/configuration/radio/channels.mdx
index 17a856db..e1b26873 100644
--- a/docs/configuration/radio/channels.mdx
+++ b/docs/configuration/radio/channels.mdx
@@ -7,6 +7,7 @@ description: Understand how to configure channels on your Meshtastic device, inc
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
import PositionPrecisionBits from "@site/docs/blocks/_position-precision-bits.mdx";
The Channels config options are: Index, Roles, and Settings. Channel config uses an admin message sending a `Channel` protobuf which also consists of a `ChannelSettings` or `ModuleSettings` protobuf.
@@ -127,14 +128,42 @@ The client applications have implemented different levels of precision giving th
## Channel Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
diff --git a/docs/configuration/radio/device.mdx b/docs/configuration/radio/device.mdx
index e140531b..aed84f96 100644
--- a/docs/configuration/radio/device.mdx
+++ b/docs/configuration/radio/device.mdx
@@ -7,6 +7,7 @@ description: Learn about and compare device roles such as Client, Repeater, and
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
The device config options are: Role, Serial Output, and Debug Log. Device config uses an admin message sending a `Config.Device` protobuf.
@@ -108,14 +109,43 @@ This option will enable a double tap, when a supported accelerometer is attached
## Device Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
+
#### Android
diff --git a/docs/configuration/radio/display.mdx b/docs/configuration/radio/display.mdx
index 1b4e5e1d..97f15786 100644
--- a/docs/configuration/radio/display.mdx
+++ b/docs/configuration/radio/display.mdx
@@ -7,6 +7,7 @@ description: Details on the configuration options for the display on your Meshta
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
The display config options are: Screen On Duration, Auto Carousel Interval, Always Point North, GPS Format, Preferred Display Units, OLED Definition, Display Mode, Heading Bold, and Wake on Tap or Motion. Display config uses an admin message sending a `Config.Display` protobuf.
@@ -75,14 +76,42 @@ This option enables the ability to wake the device screen when motion, such as a
## Display Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
#### Android
diff --git a/docs/configuration/radio/lora.mdx b/docs/configuration/radio/lora.mdx
index ec0c491b..06c3b2d0 100644
--- a/docs/configuration/radio/lora.mdx
+++ b/docs/configuration/radio/lora.mdx
@@ -7,6 +7,7 @@ description: Understanding the LoRa configuration settings on your Meshtastic de
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
import LoRaRegions from "../../blocks/_lora-regions.mdx";
The LoRa config options are: Region, Modem Preset, Max Hops, Transmit Power, Bandwidth, Spread Factor, Coding Rate, Frequency Offset, Transmit Enabled, Frequency Slot, Ignore Incoming Array, Ignore MQTT, Override Duty Cycle Limit, SX126x RX Boosted Gain, and Override Frequency. LoRa config uses an admin message sending a `Config.LoRa` protobuf.
@@ -40,21 +41,21 @@ The Presets available are as follows, and follow a linear pattern of Fastest \<\
1. `SHORT_TURBO` (Fastest, highest bandwidth, lowest airtime, shortest range. It is not legal to use in all regions due to it's 500kHz bandwidth.)
-1. `SHORT_FAST`
+2. `SHORT_FAST`
-2. `SHORT_SLOW`
+3. `SHORT_SLOW`
-3. `MEDIUM_FAST`
+4. `MEDIUM_FAST`
-4. `MEDIUM_SLOW`
+5. `MEDIUM_SLOW`
-5. `LONG_FAST` (Default)
+6. `LONG_FAST` (Default)
-6. `LONG_MODERATE`
+7. `LONG_MODERATE`
-7. `LONG_SLOW`
+8. `LONG_SLOW`
-8. `VERY_LONG_SLOW` (Slowest, lowest bandwidth, highest airtime, longest range. Not recommended for regular usage as does not form meshes well and is unreliable)
+9. `VERY_LONG_SLOW` (Slowest, lowest bandwidth, highest airtime, longest range. Not recommended for regular usage as does not form meshes well and is unreliable)
### Max Hops
@@ -138,14 +139,42 @@ This parameter is for advanced users and licensed HAM radio operators. When enab
## LoRa Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
#### Android
@@ -180,8 +209,8 @@ LoRa config commands are available in the python CLI. Example commands are below
:::
| Setting | Acceptable Values | Default |
-|:---------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------:|:-----------:|
-| lora.modem_preset | `LONG_FAST`, `LONG_SLOW`, `VERY_LONG_SLOW`, `MEDIUM_SLOW`, `MEDIUM_FAST`, `SHORT_SLOW`, `SHORT_FAST`, `SHORT_TURBO` | `LONG_FAST` |
+| :-------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
+| lora.modem_preset | `LONG_FAST`, `LONG_SLOW`, `VERY_LONG_SLOW`, `MEDIUM_SLOW`, `MEDIUM_FAST`, `SHORT_SLOW`, `SHORT_FAST`, `SHORT_TURBO` | `LONG_FAST` |
| lora.use_preset | `false`, `true` | `false` |
| lora.region | `UNSET`, `US`, `EU_433`, `EU_868`, `CN`, `JP`, `ANZ`, `KR`, `TW`, `RU` ,`IN`, `NZ_865`, `TH`, `LORA_24`, `UA_433`, `UA_868`, `MY_433`, `MY_919`, `SG_923` | `UNSET` |
| lora.bandwidth | `31`, `62`, `125`, `250`, `500` | `250` |
@@ -193,7 +222,7 @@ LoRa config commands are available in the python CLI. Example commands are below
| lora.tx_enabled | `false`, `true` | `true` |
| lora.channel_num | `0`, `1` to `NUM_CHANNELS` | `0` |
| lora.ignore_mqtt | `false`, `true` | `false` |
-| lora.config_ok_to_mqtt | `true`, `false` | `false` |
+| lora.config_ok_to_mqtt | `true`, `false` | `false` |
| lora.override_duty_cycle | `false`, `true` | `false` |
| lora.sx126x_rx_boosted_gain | `false`, `true` | `false` |
| lora.override_frequency | Any supported frequency the LoRA radio is capable of. Please respect local rules and regulations | `0` |
diff --git a/docs/configuration/radio/network.mdx b/docs/configuration/radio/network.mdx
index aba35512..e455d6fe 100644
--- a/docs/configuration/radio/network.mdx
+++ b/docs/configuration/radio/network.mdx
@@ -7,6 +7,7 @@ description: Learn about network configuration for your Meshtastic device includ
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
The Network config options are: NTP Server, WiFi Enabled, WiFi SSID, WiFi PSK, Ethernet Enabled, IPv4 Networking Mode, and Static Address. Network config uses an admin message sending a `Config.Network` protobuf.
@@ -63,14 +64,42 @@ The first time your device restarts after enabling WiFi or Ethernet, it will tak
## Network Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
diff --git a/docs/configuration/radio/position.mdx b/docs/configuration/radio/position.mdx
index 30a41da8..9128d53a 100644
--- a/docs/configuration/radio/position.mdx
+++ b/docs/configuration/radio/position.mdx
@@ -7,6 +7,7 @@ description: GPS position configuration settings for your Meshtastic device incl
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
Position data from GPS is provided by either the radio or your paired phone. It is not required to use Meshtastic, but time calculations require at least one device on the mesh to have either a GPS, RTC, or internet connection for NTP.
@@ -91,14 +92,42 @@ If your device does not have a fixed GPS chip, you can define the GPIO pins for
## Position Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
#### Android
@@ -132,18 +161,18 @@ All Position config commands are available in the python CLI. Example commands a
:::
-| Setting | Acceptable Values | Default |
-| :------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------: |
-| position.gps_mode | `enabled`, `disabled`, `not_present` | `Enabled` or `Not Present` |
-| position.gps_update_interval | `integer` (seconds) | Default `0` is 2 Minutes |
-| position.fixed_position | `true`, `false` | `false` |
-| position.position_broadcast_smart_enabled | `true`, `false` | `true` |
-| position.broadcast_smart_minimum_distance | `integer` (meters) | Default of `0` is 100 Meters |
-|position.broadcast_smart_minimum_interval_secs| `integer` (seconds) | Default of `0` is 15 Minutes |
-| position.position_broadcast_secs | `integer` (seconds) | Default of `0` is 15 minutes |
-| position.flags | `UNSET`, `ALTITUDE`, `ALTITUDE_MSL`, `GEOIDAL_SEPARATION`, `DOP`, `HVDOP`, `PDOP`, `SATINVIEW`, `SEQ_NO`, `TIMESTAMP`, `HEADING`, `SPEED` | `UNSET` |
-| position.rx_gpio | `integer` (0-39) | `UNSET` |
-| position.tx_gpio | `integer` (0-34) | `UNSET` |
+| Setting | Acceptable Values | Default |
+| :--------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------: |
+| position.gps_mode | `enabled`, `disabled`, `not_present` | `Enabled` or `Not Present` |
+| position.gps_update_interval | `integer` (seconds) | Default `0` is 2 Minutes |
+| position.fixed_position | `true`, `false` | `false` |
+| position.position_broadcast_smart_enabled | `true`, `false` | `true` |
+| position.broadcast_smart_minimum_distance | `integer` (meters) | Default of `0` is 100 Meters |
+| position.broadcast_smart_minimum_interval_secs | `integer` (seconds) | Default of `0` is 15 Minutes |
+| position.position_broadcast_secs | `integer` (seconds) | Default of `0` is 15 minutes |
+| position.flags | `UNSET`, `ALTITUDE`, `ALTITUDE_MSL`, `GEOIDAL_SEPARATION`, `DOP`, `HVDOP`, `PDOP`, `SATINVIEW`, `SEQ_NO`, `TIMESTAMP`, `HEADING`, `SPEED` | `UNSET` |
+| position.rx_gpio | `integer` (0-39) | `UNSET` |
+| position.tx_gpio | `integer` (0-34) | `UNSET` |
:::tip
diff --git a/docs/configuration/radio/power.mdx b/docs/configuration/radio/power.mdx
index 60433b73..e3fcdea9 100644
--- a/docs/configuration/radio/power.mdx
+++ b/docs/configuration/radio/power.mdx
@@ -8,6 +8,7 @@ description: Settings for advanced users who want to adjust the power configurat
import Admonition from "@theme/Admonition";
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
import calculateADC from "/src/utils/calculateADC";
:::info Use Device Config first
@@ -120,6 +121,7 @@ Should be set to floating point value between 2 and 6
| t-echo | 2 |
+
@@ -156,14 +158,43 @@ I2C addresses are normally represented in hexadecimal and will require conversio
## Power Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
+
#### Android
diff --git a/docs/configuration/radio/security.mdx b/docs/configuration/radio/security.mdx
index 46bfe31d..721ef1cc 100644
--- a/docs/configuration/radio/security.mdx
+++ b/docs/configuration/radio/security.mdx
@@ -7,6 +7,7 @@ description: This section covers security options for the device such public key
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
The security config options are: Public Key, Private Key, Admin Key, Is Managed, Serial Console, Debug Logs, and Admin Channel.
@@ -59,14 +60,42 @@ Allows incoming device control over the insecure legacy admin channel. Enabling
## Device Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
#### Android
@@ -130,18 +159,19 @@ ALL Security config options are available in the Web client, but at present only
## Security Keys - Backup and Restore
- ### Backup
+### Backup
-Public and private keys will be lost and regenerated by performing a firmware erase and reinstall. It is your responsibility to back up your keys to maintain encrypted direct messaging with existing nodes on your mesh.
+Public and private keys will be lost and regenerated by performing a firmware erase and reinstall. It is your responsibility to back up your keys to maintain encrypted direct messaging with existing nodes on your mesh.
Suggested backup methods:
- 1. With the [Meshtastic CLI](/docs/software/python/cli/), run: `meshtastic --export-config > config_backup.yaml` - this will save your entire configuration including your public and private keys to a file.
- 2. Copy the keys to a secure location, such as a password protected note.
- 3. Take a screenshot - the most basic way, you must ensure you saved the entirety of both keys.
+1. With the [Meshtastic CLI](/docs/software/python/cli/), run: `meshtastic --export-config > config_backup.yaml` - this will save your entire configuration including your public and private keys to a file.
+2. Copy the keys to a secure location, such as a password protected note.
+3. Take a screenshot - the most basic way, you must ensure you saved the entirety of both keys.
- ### Restore
+### Restore
To restore your keys you may:
- 1. Use the Meshtastic CLI to run `meshtastic --config config_backup.yaml` - This is the fastest way to get your entire node back to where you left it!
- 2. Manually paste or retype the keys into the client app from your saved location.
+
+1. Use the Meshtastic CLI to run `meshtastic --config config_backup.yaml` - This is the fastest way to get your entire node back to where you left it!
+2. Manually paste or retype the keys into the client app from your saved location.
diff --git a/docs/configuration/radio/user.mdx b/docs/configuration/radio/user.mdx
index 711a6f6d..da698f05 100644
--- a/docs/configuration/radio/user.mdx
+++ b/docs/configuration/radio/user.mdx
@@ -7,6 +7,7 @@ description: Details on Long Name, Short Name, and Licensed operation.
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
The user config options are: Long Name, Short Name, and Is Licensed. User config uses an admin message sending a `User` protobuf.
@@ -40,14 +41,42 @@ By enabling `IsLicensed`, you should also review the following related configura
## User Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
diff --git a/docs/configuration/remote-admin.mdx b/docs/configuration/remote-admin.mdx
index 60511ee2..612ca8bb 100644
--- a/docs/configuration/remote-admin.mdx
+++ b/docs/configuration/remote-admin.mdx
@@ -8,6 +8,7 @@ description: An advanced feature for securely administering remote devices over
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
:::caution Disclaimer
This is an advanced feature intended for experienced users. It’s possible (if not done carefully) to apply settings to a remote node that could cause it to disconnect from the mesh. Network admins are advised to use a test node to trial settings before applying changes to a remote node to prevent this.
@@ -32,14 +33,43 @@ Remote Admin is complemented by setting [Managed Mode](/docs/configuration/radio
## Remote Admin Config Client Availability
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
+
#### Android
@@ -144,11 +174,11 @@ For Linux/Mac, enclose the `nodeid` value in single quotes: `--dest '!28979058'`
1. Connect to the node that will be used to administer the remote node.
2. Navigate to **⚙ Config > ⚙ Radio Config > [Security](/docs/configuration/radio/security/#public-key)** to find its public key.
-4. Copy the public key to use for configuring the remote node.
-5. Connect to the remote node.
-6. In **⚙ Config > ⚙ Radio Config > Security**, add the public key of the local node as an Admin Key.
-7. Only one Admin Keys may be supplied through the Web interface at present.
-8. Save the configuration.
+3. Copy the public key to use for configuring the remote node.
+4. Connect to the remote node.
+5. In **⚙ Config > ⚙ Radio Config > Security**, add the public key of the local node as an Admin Key.
+6. Only one Admin Keys may be supplied through the Web interface at present.
+7. Save the configuration.
#### Carrying out Remote Admin tasks
diff --git a/docs/getting-started/flashing-firmware/esp32/cli-script.mdx b/docs/getting-started/flashing-firmware/esp32/cli-script.mdx
index f5ec4471..a7fb8949 100644
--- a/docs/getting-started/flashing-firmware/esp32/cli-script.mdx
+++ b/docs/getting-started/flashing-firmware/esp32/cli-script.mdx
@@ -8,6 +8,7 @@ description: Instructions for using the CLI to flash Meshtastic firmware to an E
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
import Link from "@docusaurus/Link";
:::caution
@@ -27,13 +28,35 @@ The [T-Beam 0.7](/docs/hardware/devices/lilygo/tbeam/?t-beam=0.7) board is an ea
### Install Prerequisite Software
+ groupId="operating-system"
+ defaultValue="windows"
+ values={[
+ {
+ label: (
+ <>
+ Linux
+ >
+ ),
+ value: "linux",
+ },
+ {
+ label: (
+ <>
+ macOS
+ >
+ ),
+ value: "macos",
+ },
+ {
+ label: (
+ <>
+ Windows
+ >
+ ),
+ value: "windows",
+ },
+ ]}>
+
#### Linux
@@ -128,13 +151,35 @@ pip3 install --upgrade esptool
### Confirm Communication With Chip
+ groupId="operating-system"
+ defaultValue="windows"
+ values={[
+ {
+ label: (
+ <>
+ Linux
+ >
+ ),
+ value: "linux",
+ },
+ {
+ label: (
+ <>
+ macOS
+ >
+ ),
+ value: "macos",
+ },
+ {
+ label: (
+ <>
+ Windows
+ >
+ ),
+ value: "windows",
+ },
+ ]}>
+
#### Linux
@@ -193,8 +238,10 @@ Hard resetting via RTS pin...
1. Head to the [Meshtastic Downloads Page](/downloads) to download the latest firmware.
2. Scroll down to the **Firmware** section and select one of the following, depending on your preferences:
+
- **Download Stable**: For stable, well-tested releases.
- **Download Alpha**: For newer, experimental releases with the latest features.
+
3. Once redirected to the GitHub release page, scroll down to the "Assets" section and expand it. Identify the correct firmware for your device by its architecture (e.g., `firmware-esp32s3` for ESP32-S3-based devices like the Heltec V3).
4. Download the file and take note of the download location on your system (usually in your `~/Downloads` folder).
@@ -219,13 +266,35 @@ Be very careful to install the correct firmware file for your board. In particul
:::
+ groupId="operating-system"
+ defaultValue="windows"
+ values={[
+ {
+ label: (
+ <>
+ Linux
+ >
+ ),
+ value: "linux",
+ },
+ {
+ label: (
+ <>
+ macOS
+ >
+ ),
+ value: "macos",
+ },
+ {
+ label: (
+ <>
+ Windows
+ >
+ ),
+ value: "windows",
+ },
+ ]}>
+
#### Linux
diff --git a/docs/getting-started/flashing-firmware/nrf52/ota.mdx b/docs/getting-started/flashing-firmware/nrf52/ota.mdx
index 3bc7bc98..410647c7 100644
--- a/docs/getting-started/flashing-firmware/nrf52/ota.mdx
+++ b/docs/getting-started/flashing-firmware/nrf52/ota.mdx
@@ -8,24 +8,37 @@ description: Instructions for using the Over-The-Air(OTA) method to flash Meshta
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
nRF52 devices from RAK are able to accept OTA firmware updates from a mobile device over bluetooth. Older T-Echo bootloaders do not have OTA support.
-
:::caution
OTA firmware updates come with an increased risk of failure. If the update process fails, your device will be left in a non-working state and require physical access for intervention.
:::
-
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ ]}>
@@ -35,7 +48,7 @@ values={[
As of this writing, the current Android release of the nRF DFU app (v2.3.0) is not compatible with Meshtastic firmware updates. Please use the instructions below for updating via OTA with the nRF Connect App.
:::
-OTA firmware updates are available for Android using an older release of the more advanced nRF Connect App __version 4.24.3__ which is available for download from the [Nordic Semiconductor GitHub page](https://github.com/NordicSemiconductor/Android-nRF-Connect/releases/tag/v4.24.3).
+OTA firmware updates are available for Android using an older release of the more advanced nRF Connect App **version 4.24.3** which is available for download from the [Nordic Semiconductor GitHub page](https://github.com/NordicSemiconductor/Android-nRF-Connect/releases/tag/v4.24.3).
1. Download the firmware release you wish to install from the [Meshtastic Download Page](/downloads) or [Meshtastic GitHub](https://github.com/meshtastic/firmware/releases).
2. Unzip the firmware folder
@@ -46,7 +59,6 @@ OTA firmware updates are available for Android using an older release of the mor
-
#### Apple
diff --git a/docs/getting-started/initial-config.mdx b/docs/getting-started/initial-config.mdx
index ec5c8b1b..154d346b 100644
--- a/docs/getting-started/initial-config.mdx
+++ b/docs/getting-started/initial-config.mdx
@@ -9,6 +9,7 @@ description: Getting started with the initial configuration of your Meshtastic d
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
import LoRaRegions from "../blocks/_lora-regions.mdx";
import Link from "@docusaurus/Link";
@@ -20,10 +21,32 @@ Depending on your connection, some configuration options are not fully supported
groupId="settings"
defaultValue="ble"
values={[
-{label: 'Serial', value: 'serial'},
-{label: 'Bluetooth', value: 'ble'},
-{label: 'Network', value: 'network'},
-]}>
+ {
+ label: (
+ <>
+ Serial
+ >
+ ),
+ value: "serial",
+ },
+ {
+ label: (
+ <>
+ Bluetooth
+ >
+ ),
+ value: "ble",
+ },
+ {
+ label: (
+ <>
+ Network
+ >
+ ),
+ value: "windows",
+ },
+ ]}>
+
#### Serial
@@ -62,14 +85,43 @@ Connecting over network is only supported on ESP32 devices.
In order to start communicating over the mesh, you must set your region. This setting controls which frequency range your device uses and should be set according to your regional location.
+ groupId="settings"
+ defaultValue="apple"
+ values={[
+ {
+ label: (
+ <>
+ Android
+ >
+ ),
+ value: "android",
+ },
+ {
+ label: (
+ <>
+ Apple
+ >
+ ),
+ value: "apple",
+ },
+ {
+ label: (
+ <>
+ CLI
+ >
+ ),
+ value: "cli",
+ },
+ {
+ label: (
+ <>
+ Web
+ >
+ ),
+ value: "web",
+ },
+ ]}>
+
#### Android
diff --git a/docs/getting-started/serial-drivers/serial-drivers-esp32.mdx b/docs/getting-started/serial-drivers/serial-drivers-esp32.mdx
index 710f9044..4e43eca6 100644
--- a/docs/getting-started/serial-drivers/serial-drivers-esp32.mdx
+++ b/docs/getting-started/serial-drivers/serial-drivers-esp32.mdx
@@ -8,6 +8,7 @@ description: Instructions for installing ESP32 USB serial drivers to interact wi
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
import Link from "@docusaurus/Link";
## Install ESP32 USB to Serial Drivers
@@ -17,13 +18,34 @@ You may need to install a driver from Silicon Labs for the [CP210X USB to UART b
Some newer boards may require the CH9102 (CH340/CH341) Driver.
+ groupId="operating-system"
+ defaultValue="windows"
+ values={[
+ {
+ label: (
+ <>
+ Linux
+ >
+ ),
+ value: "linux",
+ },
+ {
+ label: (
+ <>
+ macOS
+ >
+ ),
+ value: "macos",
+ },
+ {
+ label: (
+ <>
+ Windows
+ >
+ ),
+ value: "windows",
+ },
+ ]}>
diff --git a/docs/getting-started/serial-drivers/serial-drivers-nrf52.mdx b/docs/getting-started/serial-drivers/serial-drivers-nrf52.mdx
index 7c8d1ac7..8262ee13 100644
--- a/docs/getting-started/serial-drivers/serial-drivers-nrf52.mdx
+++ b/docs/getting-started/serial-drivers/serial-drivers-nrf52.mdx
@@ -8,24 +8,46 @@ description: Instructions for installing nRF52 and RP2040 USB serial drivers to
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
import Link from "@docusaurus/Link";
## Install nRF52/RP2040 USB to Serial Drivers
:::caution
-nRF52/RP2040 devices typically do not require serial drivers. They use the UF2 bootloader which makes the devices appear as flash drives. Do _NOT_ download the USB device drivers unless required to install UF2 support.
+nRF52/RP2040 devices typically do not require serial drivers. They use the UF2 bootloader which makes the devices appear as flash drives. Do _NOT_ download the USB device drivers unless required to install UF2 support.
:::
+ groupId="operating-system"
+ defaultValue="windows"
+ values={[
+ {
+ label: (
+ <>
+ Linux
+ >
+ ),
+ value: "linux",
+ },
+ {
+ label: (
+ <>
+ macOS
+ >
+ ),
+ value: "macos",
+ },
+ {
+ label: (
+ <>
+ Windows
+ >
+ ),
+ value: "windows",
+ },
+ ]}>
@@ -56,13 +78,10 @@ Uninstall the kernel extension:
3. `sudo rm -rf /Library/Extensions/usbserial.kext`
4. Reboot
-
##### Install the CH34x Driver
- [CH34x Driver- macOS Download](https://github.com/WCHSoftGroup/ch34xser_macos)
-
-
diff --git a/docs/getting-started/serial-drivers/test-serial-driver-installation.mdx b/docs/getting-started/serial-drivers/test-serial-driver-installation.mdx
index 460cf2f3..aa55df93 100644
--- a/docs/getting-started/serial-drivers/test-serial-driver-installation.mdx
+++ b/docs/getting-started/serial-drivers/test-serial-driver-installation.mdx
@@ -9,19 +9,42 @@ description: Instructions for testing serial driver installation on Linux, macOS
import Link from "@docusaurus/Link";
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
### Test Serial Driver Installation
You can verify that you have a proper data cable (rather than a charge-only type cable) and that the appropriate drivers for your system are installed by performing the following test:
+ groupId="operating-system"
+ defaultValue="windows"
+ values={[
+ {
+ label: (
+ <>
+ Linux
+ >
+ ),
+ value: "linux",
+ },
+ {
+ label: (
+ <>
+ macOS
+ >
+ ),
+ value: "macos",
+ },
+ {
+ label: (
+ <>
+ Windows
+ >
+ ),
+ value: "windows",
+ },
+ ]}>
+
#### Linux
diff --git a/docs/software/python-cli/installation.mdx b/docs/software/python-cli/installation.mdx
index 6f4b2d79..9cb76b8f 100644
--- a/docs/software/python-cli/installation.mdx
+++ b/docs/software/python-cli/installation.mdx
@@ -9,6 +9,7 @@ description: This page offers comprehensive instructions on methods of installin
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
+import { Icon } from "@iconify/react";
## Meshtastic Python Library
@@ -31,15 +32,44 @@ After ensuring the requirements are met, follow the installation instructions fo
To install the Meshtastic CLI, select the tab for your operating system and follow the step-by-step instructions for installing via `pip`. For Ubuntu only, you can alternatively install the [Standalone version](#standalone-installation-ubuntu-only) if you prefer.
+ groupId="operating-system"
+ queryString="install-python-cli"
+ defaultValue="windows"
+ values={[
+ {
+ label: (
+ <>
+ Linux
+ >
+ ),
+ value: "linux",
+ },
+ {
+ label: (
+ <>
+ macOS
+ >
+ ),
+ value: "macos",
+ },
+ {
+ label: (
+ <>
+ Windows
+ >
+ ),
+ value: "windows",
+ },
+ {
+ label: (
+ <>
+ Termux for Android
+ >
+ ),
+ value: "termux",
+ },
+ ]}>
+
#### Linux
diff --git a/package.json b/package.json
index 83629460..639571a3 100644
--- a/package.json
+++ b/package.json
@@ -26,6 +26,7 @@
"@docusaurus/theme-mermaid": "3.6.1",
"@giscus/react": "^3.0.0",
"@heroicons/react": "^2.1.1",
+ "@iconify/react": "^5.2.0",
"@mdx-js/react": "^3.0.1",
"@meshtastic/js": "2.3.7-5",
"autoprefixer": "^10.4.17",
@@ -54,5 +55,11 @@
"@types/react-dom": "^18.2.19",
"docusaurus-prince-pdf": "^1.2.1",
"typescript": "^5.3.3"
+ },
+ "pnpm": {
+ "overrides": {
+ "path-to-regexp": "^3.3.0",
+ "cookie": "^0.7.0"
+ }
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 1b3a82ca..ec9a0ef4 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,6 +4,10 @@ settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
+overrides:
+ path-to-regexp: ^3.3.0
+ cookie: ^0.7.0
+
importers:
.:
@@ -38,6 +42,9 @@ importers:
'@heroicons/react':
specifier: ^2.1.1
version: 2.1.5(react@18.3.1)
+ '@iconify/react':
+ specifier: ^5.2.0
+ version: 5.2.0(react@18.3.1)
'@mdx-js/react':
specifier: ^3.0.1
version: 3.0.1(@types/react@18.3.5)(react@18.3.1)
@@ -1639,6 +1646,14 @@ packages:
peerDependencies:
react: '>= 16'
+ '@iconify/react@5.2.0':
+ resolution: {integrity: sha512-7Sdjrqq3fkkQNks9SY3adGC37NQTHsBJL2PRKlQd455PoDi9s+Es9AUTY+vGLFOYs5yO9w9yCE42pmxCwG26WA==}
+ peerDependencies:
+ react: '>=16'
+
+ '@iconify/types@2.0.0':
+ resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
@@ -2547,8 +2562,8 @@ packages:
cookie-signature@1.0.6:
resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
- cookie@0.6.0:
- resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
+ cookie@0.7.2:
+ resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
engines: {node: '>= 0.6'}
copy-text-to-clipboard@3.2.0:
@@ -3810,9 +3825,6 @@ packages:
resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==}
engines: {node: '>=12'}
- isarray@0.0.1:
- resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
-
isarray@1.0.0:
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
@@ -4634,12 +4646,6 @@ packages:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
engines: {node: '>=16 || 14 >=14.18'}
- path-to-regexp@0.1.10:
- resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==}
-
- path-to-regexp@1.9.0:
- resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==}
-
path-to-regexp@3.3.0:
resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==}
@@ -8652,6 +8658,13 @@ snapshots:
dependencies:
react: 18.3.1
+ '@iconify/react@5.2.0(react@18.3.1)':
+ dependencies:
+ '@iconify/types': 2.0.0
+ react: 18.3.1
+
+ '@iconify/types@2.0.0': {}
+
'@isaacs/cliui@8.0.2':
dependencies:
string-width: 5.1.2
@@ -9707,7 +9720,7 @@ snapshots:
cookie-signature@1.0.6: {}
- cookie@0.6.0: {}
+ cookie@0.7.2: {}
copy-text-to-clipboard@3.2.0: {}
@@ -10385,7 +10398,7 @@ snapshots:
body-parser: 1.20.3
content-disposition: 0.5.4
content-type: 1.0.5
- cookie: 0.6.0
+ cookie: 0.7.2
cookie-signature: 1.0.6
debug: 2.6.9
depd: 2.0.0
@@ -10399,7 +10412,7 @@ snapshots:
methods: 1.1.2
on-finished: 2.4.1
parseurl: 1.3.3
- path-to-regexp: 0.1.10
+ path-to-regexp: 3.3.0
proxy-addr: 2.0.7
qs: 6.13.0
range-parser: 1.2.1
@@ -11106,8 +11119,6 @@ snapshots:
is-yarn-global@0.4.1: {}
- isarray@0.0.1: {}
-
isarray@1.0.0: {}
isexe@2.0.0: {}
@@ -12297,12 +12308,6 @@ snapshots:
lru-cache: 10.4.3
minipass: 7.1.2
- path-to-regexp@0.1.10: {}
-
- path-to-regexp@1.9.0:
- dependencies:
- isarray: 0.0.1
-
path-to-regexp@3.3.0: {}
path-type@4.0.0: {}
@@ -12788,7 +12793,7 @@ snapshots:
history: 4.10.1
hoist-non-react-statics: 3.3.2
loose-envify: 1.4.0
- path-to-regexp: 1.9.0
+ path-to-regexp: 3.3.0
prop-types: 15.8.1
react: 18.3.1
react-is: 16.13.1
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index dbe087ce..eafc28dd 100644
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -216,12 +216,12 @@ function Home() {
/>
Step 3
-
Connect to your Device →
-
+
Connect to your device via any of our clients to start sending
and receiving messages!