diff --git a/docs/about/contributing.mdx b/docs/about/contributing.mdx
index 94f77693..cd4cd29d 100644
--- a/docs/about/contributing.mdx
+++ b/docs/about/contributing.mdx
@@ -33,7 +33,7 @@ The [firmware repo](https://github.com/meshtastic/firmware) is where all of the
### Firmware Modules
-[Modules](/docs/settings/moduleconfig) extend device and mesh functionality beyond core functions. These are also implemented mainly in the firmware repo above. Typically, you would add functions in the protobufs repo and the device repo to implement module functionality. You probably also want to have some client or device, use or interact with the module. This is where Device Interface support comes into play.
+[Modules](/docs/configuration/module) extend device and mesh functionality beyond core functions. These are also implemented mainly in the firmware repo above. Typically, you would add functions in the protobufs repo and the device repo to implement module functionality. You probably also want to have some client or device, use or interact with the module. This is where Device Interface support comes into play.
### CLI Apps (Device Interface)
diff --git a/docs/about/faq.mdx b/docs/about/faq.mdx
index 2a03e9a9..ba1e9775 100644
--- a/docs/about/faq.mdx
+++ b/docs/about/faq.mdx
@@ -51,6 +51,7 @@ The Meshtastic App on Apple Clients require the following minimum OS versions: i
See [Apple Apps](/docs/software/apple/installation)
+
### After a fresh firmware install, my node is not connecting via Bluetooth. What should I do?
Try forgetting the Bluetooth connection from the iOS/iPadOS/macOS System Settings. Re-pair and try again. This is a security measure and there is no workaround for it. It prevents apps and other accessories from spoofing an existing accessory by un-pairing and "re-pairing" themselves without the users' knowledge.
@@ -111,13 +112,14 @@ Updating firmware varies with hardware. See [Flashing Firmware](/docs/getting-st
The LoRa radio on the node is still active and will wake up the CPU when the device is sleeping. If your phone is in range, the node will relay any messages your phone may have missed. If you're in range and your device is active, messages have not been lost.
+
### My device has gone to sleep and I can't send any messages.
Once the node wakes up from sleep, your phone will relay any delayed messages through your node and to the mesh network. Give it a few minutes and it'll do the right thing.
### How can I tell the device not to sleep?
-See [Device Power Configuration](/docs/settings/config/power) options.
+See [Device Power Configuration](/docs/configuration/radio/power) options.
### I am in Europe and my device seems to stop transmitting after a while, what is going on?
@@ -187,7 +189,7 @@ Modules are features that expand the basic device functionality and/or integrate
### What modules do we have available?
-A list of available modules is available [here](/docs/settings/moduleconfig).
+A list of available modules is available [here](/docs/configuration/module).
### I'd like to write a module. How do I get started?
diff --git a/docs/configuration/_category_.yml b/docs/configuration/_category_.yml
index 49411e73..e9edc265 100644
--- a/docs/configuration/_category_.yml
+++ b/docs/configuration/_category_.yml
@@ -4,4 +4,4 @@ position: 4
link:
type: generated-index
title: Configuration
- slug: /settings
+ slug: /configuration
diff --git a/docs/configuration/device-config/index.mdx b/docs/configuration/device-config/index.mdx
deleted file mode 100644
index 54578d4d..00000000
--- a/docs/configuration/device-config/index.mdx
+++ /dev/null
@@ -1,21 +0,0 @@
----
-id: config
-title: Device Configuration
-sidebar_label: Device Config
-slug: /settings/config
-sidebar_position: 1
----
-
-There are several config sections in the Meshtastic firmware, these are broken out so they can be sent as small admin messages over the mesh.
-
-| Name | Description |
-| :------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
-| [Bluetooth](/docs/settings/config/bluetooth) | Bluetooth config options are: Enabled, Pairing Mode and Fixed PIN. |
-| [Channels](/docs/settings/config/channels) | Channels config options are: Index, Role and Settings. |
-| [Device](/docs/settings/config/device) | Device config options are: Device Role, Serial Output, Debug Log and Factory Reset. |
-| [Display](/docs/settings/config/display) | Display config options are: Screen On Duration, Auto Carousel Interval, Always Point North, and GPS Format. |
-| [LoRa](/docs/settings/config/lora) | The LoRa config options are: Region, Modem Preset, Max Hops, Transmit Power, Bandwidth, Spread Factor, Coding Rate, Frequency Offset, Transmit Disabled and Ignore Incoming Array. |
-| [Network](/docs/settings/config/network) | Network config options are: WiFi Enabled, WiFi SSID, WiFi PSK, WiFi Mode and NTP Server. |
-| [Position](/docs/settings/config/position) | Position config options are: GPS Enabled, GPS Update Interval, GPS Attempt Time, Fixed Position, Smart Broadcast, Broadcast Interval and Position Packet Flags. |
-| [Power](/docs/settings/config/power) | Power config options are: Charge Current, Power Saving, Shutdown after losing power, ADC Multiplier Override Wait Bluetooth Interval, Light Sleep Interval and Minimum Wake Interval. |
-| [User](/docs/settings/config/user) | The user config options are: Long Name, Short Name, and Is Licensed |
diff --git a/docs/configuration/module-config/index.mdx b/docs/configuration/module-config/index.mdx
deleted file mode 100644
index 1f44bde9..00000000
--- a/docs/configuration/module-config/index.mdx
+++ /dev/null
@@ -1,24 +0,0 @@
----
-id: module-config
-title: Module Configuration
-sidebar_label: Module Config
-slug: /settings/moduleconfig
-sidebar_position: 3
----
-
-Modules are included in the firmware and allow users to extend the functionality of their mesh or device.
-
-| Name | Description |
-| :------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
-| [Ambient Lighting](/docs/settings/moduleconfig/ambient-lighting) | Adjust the brightness of NCP5623 I2C RGB LEDs |
-| [Audio](/docs/settings/moduleconfig/audio) | Enable Support for Codec2 Voice Comms on certain devices. |
-| [Canned Message](/docs/settings/moduleconfig/canned-message) | Set a number of predefined messages to send out directly from the device with the use of an input device like a rotary encoder. |
-| [Detection Sensor](/docs/settings/moduleconfig/detection-sensor) | Configure a GPIO pin to be monitored for specified high/low status and send text alerts. |
-| [External Notification](/docs/settings/moduleconfig/external-notification) | Incoming messages are able to alert you using circuits you attach to the device (LEDs, Buzzers, etc). |
-| [MQTT](/docs/settings/moduleconfig/mqtt) | Forward packets along to an MQTT server. This allows users on the local mesh to communicate with users on another mesh over the internet. |
-| [Neighbor Info](/docs/settings/moduleconfig/neighbor-info) | Send info on 0-hop neighbors to the mesh. |
-| [Range Test](/docs/settings/moduleconfig/range-test) | Send messages with GPS location at an interval to test the distance your devices can communicate. Requires (at least) one device set up as a sender and one as a receiver. The receiver(s) will log all incoming messages to a CSV. |
-| [Serial Module](/docs/settings/moduleconfig/serial) | Send messages across the mesh by sending strings over a serial port. |
-| [Store & Forward](/docs/settings/moduleconfig/store-and-forward-module) | Stores messages on a device for delivery after disconnected clients rejoin the mesh. |
-| [Telemetry](/docs/settings/moduleconfig/telemetry) | Attach sensors to the device and transmit readings on a regular interval to the mesh. |
-| [Traceroute](/docs/settings/moduleconfig/traceroute) | Track which nodes are used to hop a message to a certain destination. |
diff --git a/docs/configuration/module-config/ambient-lighting.mdx b/docs/configuration/module/ambient-lighting.mdx
similarity index 98%
rename from docs/configuration/module-config/ambient-lighting.mdx
rename to docs/configuration/module/ambient-lighting.mdx
index 02b5db59..0efa5399 100644
--- a/docs/configuration/module-config/ambient-lighting.mdx
+++ b/docs/configuration/module/ambient-lighting.mdx
@@ -1,7 +1,6 @@
---
id: ambient-lighting
title: Ambient Lighting Module Usage
-slug: /settings/moduleconfig/ambient-lighting
sidebar_label: Ambient Lighting
---
diff --git a/docs/configuration/module-config/audio.mdx b/docs/configuration/module/audio.mdx
similarity index 99%
rename from docs/configuration/module-config/audio.mdx
rename to docs/configuration/module/audio.mdx
index 59f6cb03..13763017 100644
--- a/docs/configuration/module-config/audio.mdx
+++ b/docs/configuration/module/audio.mdx
@@ -1,7 +1,6 @@
---
id: audio
title: Audio Module Configuration
-slug: /settings/moduleconfig/audio
sidebar_label: Audio
---
diff --git a/docs/configuration/module-config/canned-message.mdx b/docs/configuration/module/canned-message.mdx
similarity index 99%
rename from docs/configuration/module-config/canned-message.mdx
rename to docs/configuration/module/canned-message.mdx
index 5eb94b93..75fcb1b1 100644
--- a/docs/configuration/module-config/canned-message.mdx
+++ b/docs/configuration/module/canned-message.mdx
@@ -1,7 +1,6 @@
---
id: canned-message
title: Canned Message Module Configuration
-slug: /settings/moduleconfig/canned-message
sidebar_label: Canned Message
---
diff --git a/docs/configuration/module-config/detection-sensor.mdx b/docs/configuration/module/detection-sensor.mdx
similarity index 98%
rename from docs/configuration/module-config/detection-sensor.mdx
rename to docs/configuration/module/detection-sensor.mdx
index 13b66840..cb79654f 100644
--- a/docs/configuration/module-config/detection-sensor.mdx
+++ b/docs/configuration/module/detection-sensor.mdx
@@ -1,7 +1,6 @@
---
id: detection-sensor
title: Detection Sensor Module Usage
-slug: /settings/moduleconfig/detection-sensor
sidebar_label: Detection Sensor
---
diff --git a/docs/configuration/module-config/external-notification.mdx b/docs/configuration/module/external-notification.mdx
similarity index 99%
rename from docs/configuration/module-config/external-notification.mdx
rename to docs/configuration/module/external-notification.mdx
index 79ccf02f..648c1a66 100644
--- a/docs/configuration/module-config/external-notification.mdx
+++ b/docs/configuration/module/external-notification.mdx
@@ -1,7 +1,6 @@
---
id: external-notification
title: External Notification Module Configuration
-slug: /settings/moduleconfig/external-notification
sidebar_label: External Notification
---
diff --git a/docs/configuration/module/index.mdx b/docs/configuration/module/index.mdx
new file mode 100644
index 00000000..94ccbab8
--- /dev/null
+++ b/docs/configuration/module/index.mdx
@@ -0,0 +1,25 @@
+---
+id: module-config
+title: Module Configuration
+sidebar_label: Module Config
+sidebar_position: 2
+slug: /configuration/module
+---
+
+Modules are included in the firmware and allow users to extend the functionality of their mesh or device.
+
+| Name | Description |
+| :------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
+| [Ambient Lighting](/docs/configuration/module/ambient-lighting) | Adjust the brightness of NCP5623 I2C RGB LEDs |
+| [Audio](/docs/configuration/module/audio) | Enable Support for Codec2 Voice Comms on certain devices. |
+| [Canned Message](/docs/configuration/module/canned-message) | Set a number of predefined messages to send out directly from the device with the use of an input device like a rotary encoder. |
+| [Detection Sensor](/docs/configuration/module/detection-sensor) | Configure a GPIO pin to be monitored for specified high/low status and send text alerts. |
+| [External Notification](/docs/configuration/module/external-notification) | Incoming messages are able to alert you using circuits you attach to the device (LEDs, Buzzers, etc). |
+| [MQTT](/docs/configuration/module/mqtt) | Forward packets along to an MQTT server. This allows users on the local mesh to communicate with users on another mesh over the internet. |
+| [Neighbor Info](/docs/configuration/module/neighbor-info) | Send info on 0-hop neighbors to the mesh. |
+| [Range Test](/docs/configuration/module/range-test) | Send messages with GPS location at an interval to test the distance your devices can communicate. Requires (at least) one device set up as a sender and one as a receiver. The receiver(s) will log all incoming messages to a CSV. |
+| [Remote Hardware](/docs/configuration/module/remote-hardware) | Set and read a GPIO status remotely over the mesh. |
+| [Serial Module](/docs/configuration/module/serial) | Send messages across the mesh by sending strings over a serial port. |
+| [Store & Forward](/docs/configuration/module/store-and-forward-module) | Stores messages on a device for delivery after disconnected clients rejoin the mesh. |
+| [Telemetry](/docs/configuration/module/telemetry) | Attach sensors to the device and transmit readings on a regular interval to the mesh. |
+| [Traceroute](/docs/configuration/module/traceroute) | Track which nodes are used to hop a message to a certain destination. |
diff --git a/docs/configuration/module-config/mqtt.mdx b/docs/configuration/module/mqtt.mdx
similarity index 97%
rename from docs/configuration/module-config/mqtt.mdx
rename to docs/configuration/module/mqtt.mdx
index ee8126c2..cff825b5 100644
--- a/docs/configuration/module-config/mqtt.mdx
+++ b/docs/configuration/module/mqtt.mdx
@@ -1,14 +1,13 @@
---
id: mqtt
title: MQTT Module Configuration
-slug: /settings/moduleconfig/mqtt
sidebar_label: MQTT
---
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
-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/settings/config/channels#downlink-enabled)). Without these settings enabled, the node will still connect to the MQTT server but only send status messages.
+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)). Without these settings enabled, the node will still connect to the MQTT server but only send status messages.
The MQTT module config options are: Enabled, Server Address, Username, Password, Encryption Enabled, JSON Enabled, TLS Enabled, and Root Topic. MQTT Module config uses an admin message sending a `ConfigModule.MQTT` protobuf.
diff --git a/docs/configuration/module-config/neighbor-info.mdx b/docs/configuration/module/neighbor-info.mdx
similarity index 97%
rename from docs/configuration/module-config/neighbor-info.mdx
rename to docs/configuration/module/neighbor-info.mdx
index 053a7d4c..5e0ff182 100644
--- a/docs/configuration/module-config/neighbor-info.mdx
+++ b/docs/configuration/module/neighbor-info.mdx
@@ -1,7 +1,6 @@
---
id: neighbor-info
title: Neighbor Info Module Usage
-slug: /settings/moduleconfig/neighbor-info
sidebar_label: Neighbor Info
---
diff --git a/docs/configuration/module-config/range-test.mdx b/docs/configuration/module/range-test.mdx
similarity index 99%
rename from docs/configuration/module-config/range-test.mdx
rename to docs/configuration/module/range-test.mdx
index 0177b933..bfe8d0a0 100644
--- a/docs/configuration/module-config/range-test.mdx
+++ b/docs/configuration/module/range-test.mdx
@@ -1,7 +1,6 @@
---
id: range-test
title: Range Test Module Configuration
-slug: /settings/moduleconfig/range-test
sidebar_label: Range Test
---
diff --git a/docs/configuration/gpio-peripherals.mdx b/docs/configuration/module/remote-hardware.mdx
similarity index 76%
rename from docs/configuration/gpio-peripherals.mdx
rename to docs/configuration/module/remote-hardware.mdx
index ea8c5730..3df2c3cb 100644
--- a/docs/configuration/gpio-peripherals.mdx
+++ b/docs/configuration/module/remote-hardware.mdx
@@ -1,12 +1,84 @@
---
-id: gpio-peripherals
-title: Configuring GPIO Peripherals
-sidebar_label: Setup GPIO Peripherals
-slug: /hardware/peripheral/
-sidebar_position: 4
+id: remote-hardware
+title: Remote Hardware Module Usage
+sidebar_label: Remote Hardware
---
-## Remote Hardware
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
+
+The Remote Hardware Module allows control of a GPIO pin on a remote node. Config options are: Enabled, Allow Undefined Pin Access, Available Pins
+
+:::info
+
+While configuring this module may be available in clients, setting and reading GPIO's is currently only possible using the [Meshtastic Python CLI](/docs/software/python/cli)
+
+:::
+
+## Remote Hardware Config Values
+
+### Enabled
+
+Whether the module is enabled
+
+### Allow Undefined Pin Access
+
+Whether the module allows consumers to read/write to pins not that are not defined in available_pins
+
+### Available Pins
+
+Exposes the available pins to the mesh for reading and writing
+
+
+## Remote Hardware Module Client Availability
+
+
+
+
+
+:::info
+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**
+:::
+
+
+
+
+:::info
+All Remote Hardware Module config options are available on iOS, iPadOS and macOS app.and higher at Settings > Modules > Remote Hardware
+:::
+
+
+
+
+:::info
+
+All Remote Hardware Module config options are available in the python CLI.
+
+:::
+
+
+
+
+Not implemented.
+
+
+
+
+
+
+
+## Remote Hardware Module Usage
:::warning
GPIO access is fundamentally dangerous because invalid options can physically damage or destroy your hardware. Ensure that you fully understand the schematic for your particular device before trying this as we do not offer a warranty. Use at your own risk.
diff --git a/docs/configuration/module-config/serial.mdx b/docs/configuration/module/serial.mdx
similarity index 93%
rename from docs/configuration/module-config/serial.mdx
rename to docs/configuration/module/serial.mdx
index fb01189c..35947c8a 100644
--- a/docs/configuration/module-config/serial.mdx
+++ b/docs/configuration/module/serial.mdx
@@ -1,7 +1,6 @@
---
id: serial
title: Serial Module Configuration
-slug: /settings/moduleconfig/serial
sidebar_label: Serial
---
@@ -34,8 +33,8 @@ Available Values:
- `DEFAULT`
- `SIMPLE` operate as an dumb UART tunnel. What goes in will come out, Requires a channel named 'serial'.
-- `PROTO` Exposes the Protobuf Client API on this serial port. You can use this to connect from another device. [API Reference](/docs/development/device/client-api)
-- `TEXTMSG` Will send the string received over the serial port as a Text Message for Display on the other devices.
+- `PROTO` Exposes the Protobuf Client API on this serial port. You can use this to connect from another device, see the [Arduino client library](https://github.com/meshtastic/Meshtastic-arduino) and the [API Reference](/docs/development/device/client-api).
+- `TEXTMSG` Will broadcast the string received over the serial port as a Text Message to the default channel.
- `NMEA` Will output a NMEA 0183 Data stream containing the internal GPS or fixed position and other node locations as Waypoints (WPL).
- `CALTOPO` Will output NMEA 0183 Waypoints (WPL) every 10 seconds for all valid node locations, to be consumed by [CalTopo / SARTopo](/docs/software/integrations/caltopo.mdx).
@@ -112,7 +111,7 @@ All serial module config options are available in the python CLI. Example comman
| serial.mode | `DEFAULT` `SIMPLE` `PROTO` `TEXTMSG`, `NMEA`, `CALTOPO` | `DEFAULT` |
| serial.rxd | GPIO Pin Number 1-39 | Default of `0` is Unset |
| serial.txd | GPIO Pin Number 1-33 | Default of `0` is Unset |
-| serial.baud | `BAUD_DEFAULT` `BAUD_110` `BAUD_300` `BAUD_600` `BAUD_1200` `BAUD_2400` `BAUD_4800` `BAUD_9600` `BAUD_19200` `BAUD_38400` `BAUD_57600` `BAUD_115200` `BAUD_230400` `BAUD_460800` `BAUD_576000` `BAUD_921600` | `BAUD_DEFAULT` |
+| serial.baud | `BAUD_DEFAULT` `BAUD_110` `BAUD_300` `BAUD_600` `BAUD_1200` `BAUD_2400` `BAUD_4800` `BAUD_9600` `BAUD_19200` `BAUD_38400` `BAUD_57600` `BAUD_115200` `BAUD_230400` `BAUD_460800` `BAUD_576000` `BAUD_921600` | `BAUD_DEFAULT` (38400) |
| serial.timeout | `integer` (milli seconds) | Default of `0` corresponds to 250 ms |
| serial.override_console_serial_port | `true`, `false` | `false` |
@@ -186,12 +185,12 @@ Default is to use RX GPIO 16 and TX GPIO 17.
- RXD 13
- TXD 14
3. Set `serial.timeout` to the amount of time to wait before we consider your packet as "done".
-4. (Optional) set serial.mode to TEXTMSG if you want to send messages to/from the general text message channel
+4. (Optional) set serial.mode to `TEXTMSG` if you want to send messages to/from the general text message channel. For more specific control, use the `PROTO` mode, e.g. in combination with the [Arduino client library](https://github.com/meshtastic/Meshtastic-arduino/blob/master/examples/SendReceiveClient/SendReceiveClient.ino).
5. Connect to your device over the serial interface at `38400 8N1`.
With [tio](https://github.com/tio/tio) – `tio -e -b 38400 -f none /dev/myserialport`
-6. Send a packet up to 237 bytes in length. This will get relayed over the mesh network.
+6. Send a packet up to 237 bytes in length. This will get broadcasted over the default channel.
7. (Optional) Set `serial.echo` to `1` and any message you send out will be echoed back to your device.
### Interfacing PIR Sensor With External Microcontroller
@@ -200,7 +199,7 @@ The following are examples of using either a Raspberry Pi Pico or Arduino Mini P
#### Meshtastic Software Configuration
-- Serial module enabled, mode: TXTMSG
+- Serial module enabled, mode: TEXTMSG
- GPIO Pins (For T-Beam) RX 13, TX 14
- 38400 Baud
diff --git a/docs/configuration/module-config/store-and-forward-module.mdx b/docs/configuration/module/store-and-forward-module.mdx
similarity index 99%
rename from docs/configuration/module-config/store-and-forward-module.mdx
rename to docs/configuration/module/store-and-forward-module.mdx
index b7ee2852..89026fcb 100644
--- a/docs/configuration/module-config/store-and-forward-module.mdx
+++ b/docs/configuration/module/store-and-forward-module.mdx
@@ -1,7 +1,6 @@
---
id: store-and-forward-module
title: Store & Forward Module Settings
-slug: /settings/moduleconfig/store-and-forward-module
sidebar_label: Store & Forward
---
diff --git a/docs/configuration/module-config/telemetry.mdx b/docs/configuration/module/telemetry.mdx
similarity index 99%
rename from docs/configuration/module-config/telemetry.mdx
rename to docs/configuration/module/telemetry.mdx
index d28647ce..e27d6c24 100644
--- a/docs/configuration/module-config/telemetry.mdx
+++ b/docs/configuration/module/telemetry.mdx
@@ -1,7 +1,6 @@
---
id: telemetry
title: Telemetry Module Configuration
-slug: /settings/moduleconfig/telemetry
sidebar_label: Telemetry
---
diff --git a/docs/configuration/module-config/traceroute.mdx b/docs/configuration/module/traceroute.mdx
similarity index 98%
rename from docs/configuration/module-config/traceroute.mdx
rename to docs/configuration/module/traceroute.mdx
index 0fc12c63..26e8a528 100644
--- a/docs/configuration/module-config/traceroute.mdx
+++ b/docs/configuration/module/traceroute.mdx
@@ -1,7 +1,6 @@
---
id: traceroute
title: Traceroute Module Usage
-slug: /settings/moduleconfig/traceroute
sidebar_label: Traceroute
---
diff --git a/docs/configuration/device-config/bluetooth.mdx b/docs/configuration/radio/bluetooth.mdx
similarity index 99%
rename from docs/configuration/device-config/bluetooth.mdx
rename to docs/configuration/radio/bluetooth.mdx
index a9b7f05d..17ce3b05 100644
--- a/docs/configuration/device-config/bluetooth.mdx
+++ b/docs/configuration/radio/bluetooth.mdx
@@ -1,7 +1,6 @@
---
id: bluetooth
title: Bluetooth Settings
-slug: /settings/config/bluetooth
sidebar_label: Bluetooth
---
diff --git a/docs/configuration/device-config/channels.mdx b/docs/configuration/radio/channels.mdx
similarity index 94%
rename from docs/configuration/device-config/channels.mdx
rename to docs/configuration/radio/channels.mdx
index 1f0589b8..ab0e2f05 100644
--- a/docs/configuration/device-config/channels.mdx
+++ b/docs/configuration/radio/channels.mdx
@@ -1,7 +1,6 @@
---
id: channels
title: Channel Configuration
-slug: /settings/config/channels
sidebar_label: Channels
---
@@ -11,9 +10,9 @@ import TabItem from "@theme/TabItem";
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` protobuf.
:::info
-**Channel Settings** (as described on this page) should not be confused with [Modem Preset Settings](/docs/settings/config/lora#modem-preset)
+**Channel Settings** (as described on this page) should not be confused with [Modem Preset Settings](/docs/configuration/radio/lora#modem-preset)
-[Modem Preset Settings](/docs/settings/config/lora#modem-preset) contain the modem configuration (frequency settings, spreading factor, bandwidth, etc.) used for the LoRa radio. These settings are identical for all channels and can **not** be unique per channel.
+[Modem Preset Settings](/docs/configuration/radio/lora#modem-preset) contain the modem configuration (frequency settings, spreading factor, bandwidth, etc.) used for the LoRa radio. These settings are identical for all channels and can **not** be unique per channel.
**Channel Settings** contain information for segregating message groups, configuring optional encryption, and enabling or disabling messaging over internet gateways. These settings **are** unique and configurable per channel.
:::
@@ -154,7 +153,7 @@ meshtastic --ch-set name "My Channel" --ch-set psk random --ch-set uplink_enable
:::
-
+
### Name
```shell title="Set channel name for the PRIMARY channel"
@@ -163,7 +162,7 @@ meshtastic --ch-set name MyChannel --ch-index 0
# with spaces
meshtastic --ch-set name "My Channel" --ch-index 0
```
-
+
### PSK
If you use Meshtastic for exchanging messages you don't want other people to see, `random` is the setting you should use. Selecting `default` or any of the `simple` values from the following table will use publicly known encryption keys. They're shipped with Meshtastic source code and thus, anyone can listen to messages encrypted by them. They're great for testing and public channels.
@@ -205,7 +204,7 @@ meshtastic --ch-set psk none --ch-index 0
### Uplink / Downlink
-For configuring gateways, please see [MQTT](/docs/settings/moduleconfig/mqtt)
+For configuring gateways, please see [MQTT](/docs/configuration/module/mqtt)
```shell title="Enable/Disable Uplink on PRIMARY channel"
meshtastic --ch-set uplink_enabled true --ch-index 0
diff --git a/docs/configuration/device-config/device.mdx b/docs/configuration/radio/device.mdx
similarity index 99%
rename from docs/configuration/device-config/device.mdx
rename to docs/configuration/radio/device.mdx
index bec43c9b..0d7f6990 100644
--- a/docs/configuration/device-config/device.mdx
+++ b/docs/configuration/radio/device.mdx
@@ -1,7 +1,6 @@
---
id: device
title: Device Configuration
-slug: /settings/config/device
sidebar_label: Device
---
diff --git a/docs/configuration/device-config/display.mdx b/docs/configuration/radio/display.mdx
similarity index 99%
rename from docs/configuration/device-config/display.mdx
rename to docs/configuration/radio/display.mdx
index 68a06058..15f2eae6 100644
--- a/docs/configuration/device-config/display.mdx
+++ b/docs/configuration/radio/display.mdx
@@ -1,7 +1,6 @@
---
id: display
title: Display Configuration
-slug: /settings/config/display
sidebar_label: Display
---
diff --git a/docs/configuration/radio/index.mdx b/docs/configuration/radio/index.mdx
new file mode 100644
index 00000000..466c0753
--- /dev/null
+++ b/docs/configuration/radio/index.mdx
@@ -0,0 +1,20 @@
+---
+id: config
+title: Radio Configuration
+sidebar_label: Radio Config
+sidebar_position: 1
+---
+
+There are several config sections in the Meshtastic firmware, these are broken out so they can be sent as small admin messages over the mesh.
+
+| Name | Description |
+| :------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
+| [Bluetooth](/docs/configuration/radio/bluetooth) | Bluetooth config options are: Enabled, Pairing Mode and Fixed PIN. |
+| [Channels](/docs/configuration/radio/channels) | Channels config options are: Index, Role and Settings. |
+| [Device](/docs/configuration/radio/device) | Device config options are: Device Role, Serial Output, Debug Log and Factory Reset. |
+| [Display](/docs/configuration/radio/display) | Display config options are: Screen On Duration, Auto Carousel Interval, Always Point North, and GPS Format. |
+| [LoRa](/docs/configuration/radio/lora) | The LoRa config options are: Region, Modem Preset, Max Hops, Transmit Power, Bandwidth, Spread Factor, Coding Rate, Frequency Offset, Transmit Disabled and Ignore Incoming Array. |
+| [Network](/docs/configuration/radio/network) | Network config options are: WiFi Enabled, WiFi SSID, WiFi PSK, WiFi Mode and NTP Server. |
+| [Position](/docs/configuration/radio/position) | Position config options are: GPS Enabled, GPS Update Interval, GPS Attempt Time, Fixed Position, Smart Broadcast, Broadcast Interval and Position Packet Flags. |
+| [Power](/docs/configuration/radio/power) | Power config options are: Charge Current, Power Saving, Shutdown after losing power, ADC Multiplier Override Wait Bluetooth Interval, Light Sleep Interval and Minimum Wake Interval. |
+| [User](/docs/configuration/radio/user) | The user config options are: Long Name, Short Name, and Is Licensed |
diff --git a/docs/configuration/device-config/lora.mdx b/docs/configuration/radio/lora.mdx
similarity index 97%
rename from docs/configuration/device-config/lora.mdx
rename to docs/configuration/radio/lora.mdx
index 821e7a7c..8c177307 100644
--- a/docs/configuration/device-config/lora.mdx
+++ b/docs/configuration/radio/lora.mdx
@@ -1,7 +1,6 @@
---
id: lora
title: LoRa Configuration
-slug: /settings/config/lora
sidebar_label: LoRa
---
@@ -103,6 +102,10 @@ Defaults to true
This is controlling the actual hardware frequency the radio is transmitting on. A channel number between 1 and NUM_CHANNELS (whatever the max is in the current region). If this is ZERO/UNSET then the rule is "use the old channel name hash based algorithm to derive the channel number".
+:::info
+LoRa Channel Configuration should not to be confused with messaging [Channel Configuration](/docs/configuration/radio/channels). See [Chat Channels VS Lora Modem Channels](/docs/configuration/tips#chat-channels-vs-lora-modem-channels) for further clarification.
+:::
+
### Ignore Incoming Array
For testing it is useful sometimes to force a node to never listen to particular other nodes (simulating radio out of range). All nodenums listed in the ignore_incoming array will have packets they send dropped on receive (by router.cpp)
diff --git a/docs/configuration/device-config/network.mdx b/docs/configuration/radio/network.mdx
similarity index 99%
rename from docs/configuration/device-config/network.mdx
rename to docs/configuration/radio/network.mdx
index 92d0c92b..099fa20d 100644
--- a/docs/configuration/device-config/network.mdx
+++ b/docs/configuration/radio/network.mdx
@@ -1,7 +1,6 @@
---
id: network
title: Network Configuration
-slug: /settings/config/network
sidebar_label: Network
---
diff --git a/docs/configuration/device-config/position.mdx b/docs/configuration/radio/position.mdx
similarity index 99%
rename from docs/configuration/device-config/position.mdx
rename to docs/configuration/radio/position.mdx
index d9d70f82..592c26ce 100644
--- a/docs/configuration/device-config/position.mdx
+++ b/docs/configuration/radio/position.mdx
@@ -1,7 +1,6 @@
---
id: position
title: Position Configuration
-slug: /settings/config/position
sidebar_label: Position
---
diff --git a/docs/configuration/device-config/power.mdx b/docs/configuration/radio/power.mdx
similarity index 97%
rename from docs/configuration/device-config/power.mdx
rename to docs/configuration/radio/power.mdx
index 8f80d332..000b990f 100644
--- a/docs/configuration/device-config/power.mdx
+++ b/docs/configuration/radio/power.mdx
@@ -1,7 +1,6 @@
---
id: power
title: Power Configuration
-slug: /settings/config/power
sidebar_label: Power
---
@@ -10,7 +9,7 @@ import TabItem from "@theme/TabItem";
import calculateADC from "/src/utils/calculateADC";
:::info
-Power settings are advanced configuration, most users should choose a role under [Device Config](/docs/settings/config/device) to manage power for their device and shouldn't ever need to adjust these settings.
+Power settings are advanced configuration, most users should choose a role under [Device Config](/docs/configuration/radio/device) to manage power for their device and shouldn't ever need to adjust these settings.
:::
The power config options are: Power Saving, Shutdown after losing power, ADC Multiplier Override, Wait Bluetooth Interval, Light Sleep Interval, Minimum Wake Interval, and Device Battery INA2xx Address. Power config uses an admin message sending a `Config.Power` protobuf.
diff --git a/docs/configuration/device-config/user.mdx b/docs/configuration/radio/user.mdx
similarity index 98%
rename from docs/configuration/device-config/user.mdx
rename to docs/configuration/radio/user.mdx
index d83a2600..92be4b96 100644
--- a/docs/configuration/device-config/user.mdx
+++ b/docs/configuration/radio/user.mdx
@@ -1,7 +1,6 @@
---
id: user
title: User Configuration
-slug: /settings/config/user
sidebar_label: User
---
diff --git a/docs/configuration/remote-admin.mdx b/docs/configuration/remote-admin.mdx
index 866bb4e9..cf1422fb 100644
--- a/docs/configuration/remote-admin.mdx
+++ b/docs/configuration/remote-admin.mdx
@@ -76,7 +76,7 @@ For this step you need physical access to both the nodes.
```shell
meshtastic --seturl the-url-from-step-2
```
-
+
5. Run `meshtastic --info` and confirm that the "Complete URL" is the same for both of the nodes.
At this point you can take your remote node and install it far away. You will still be able to change any of its settings.
@@ -198,5 +198,5 @@ You've finished setting up and adding two devices to the admin channel. Remember
For further reading, I recommend starting out with the [Meshtastic Python CLI Guide](/docs/software/python/cli/) if you haven't already gone through this (hopefully you have since you are reading this). But for a full reference to the settings you can change, please see:
-[Settings Overview](/docs/settings) and
+[Settings Overview](/docs/configuration) and
[Complete list of user settings in Protobufs](https://buf.build/meshtastic/protobufs/docs/main:meshtastic#meshtastic.User)
\ No newline at end of file
diff --git a/docs/configuration/tips.mdx b/docs/configuration/tips.mdx
new file mode 100644
index 00000000..6d9676ad
--- /dev/null
+++ b/docs/configuration/tips.mdx
@@ -0,0 +1,53 @@
+---
+id: tips
+title: Configuration Tips
+sidebar_label: Tips
+sidebar_position: 4
+---
+
+
+## (Not) Sharing Your Location
+
+Telemetry is shared over your [PRIMARY channel](/docs/configuration/radio/channels#role). This means that if your node has acquired GPS coordinates from an integrated GPS chip, or from your mobile device, your coordinates will be sent to the mesh over this channel, using it's defined encryption (if any).
+
+By default the PRIMARY channel's name is LongFast with the encryption key "AQ==" (Base64 equivalent of Hex 0x01). If this is left unchanged, your location will be shared with all nodes in range that are also using the default channel.
+
+### Creating a Private Primary with Default Secondary
+
+If you'd like to connect with other Meshtastic users but only share your location with trusted parties, you may create a private PRIMARY channel and use the defaults for a SECONDARY channel.
+
+1. Ensure you have not changed the LoRa [Modem Preset](/docs/configuration/radio/lora#modem-preset) from the default `unset` / `LONG_FAST`.
+2. On your PRIMARY channel, set anything you'd like for the channel's name and choose a random PSK.
+3. Enable a SECONDARY channel with a blank name (will default to LongFast) with PSK "AQ==".
+4. Since the radio's frequency is automatically changed based on your PRIMARY channel's name, you will have to manually set it back to Channel 20 (in LoRa settings) in order to interface with users on the default channel.
+
+To quickly test this configuration, scan your region's QR from [this folder](https://github.com/meshtastic/meshtastic/tree/master/static/img/configuration/qr-private-primary-example/). Remember to generate a new PSK for your private channel before sharing with your trusted nodes.
+
+## Rebroadcast "Public" Traffic
+
+Meshtastic nodes will rebroadcast all packets if they share [LoRa modem settings](/docs/configuration/radio/lora#lora-config-values), regardless of encryption (unless [Rebroadcast mode](/docs/configuration/radio/device#rebroadcast-mode) is set to `LOCAL_ONLY`).
+
+:::info
+ If you would like your nodes to include/expand the "public" mesh, you must use the default [modem preset](/docs/configuration/radio/lora#modem-preset) `LONG_FAST`. If you change your PRIMARY channel name, you must manually set the LoRa channel to 20.
+:::
+
+## Chat Channels VS LoRa Modem Channels
+
+Meshtastic uses the word "channels" to define two different configuration properties: [Messaging Channels](/docs/configuration/radio/channels) & [LoRa Modem Channels](/docs/configuration/radio/lora#channel-number)
+
+### Device Config: Channels
+
+These configure "message groups" and include your PRIMARY and SECONDARY channels. All SECONDARY channels use the same LoRa modem config as your PRIMARY channel (including LoRa channel number).
+
+There are 8 total chat channels. Channel 0 is your PRIMARY channel, with channels 1-7 available for private group messaging and/or special channels such as [`admin`](/docs/configuration/remote-admin).
+
+### Device Config: LoRa: Channel Number
+
+This configures the frequency the radio is set to. Check out the [frequency calculator](/docs/overview/radio-settings#channel-frequency-calculator) to view the relationship between "channel number" and radio frequency.
+
+## Best Practices
+- If you are part of a large mesh and don't know what a setting does, don't change it (unless you're super curious).
+- Leave your [MAX HOPS](/docs/configuration/radio/lora#max-hops) set to 3 unless you're sure you need more (or less) to reach your destination node.
+- Leave your [ROLE](/docs/configuration/radio/device#role) set to `CLIENT` unless you're sure another role would suit the node's purpose. For example, MQTT nodes do not need to be set to `ROUTER`.
+- TEST your settings and hardware before you install in hard-to-reach locations.
+- Connecting a node to the [public MQTT server](http://localhost:3000/docs/configuration/module/mqtt#connect-to-the-default-public-server) may publish the locations of all nodes in your mesh to the internet. This will also add every globally connected node to your node database and potentially flood your mesh with all types of packets.
\ No newline at end of file
diff --git a/docs/development/device/module-api.mdx b/docs/development/device/module-api.mdx
index 01832c4c..e47ffac1 100644
--- a/docs/development/device/module-api.mdx
+++ b/docs/development/device/module-api.mdx
@@ -57,7 +57,7 @@ A number of [key services](http://github.com/meshtastic/firmware/tree/master/src
- [NodeInfoModule](http://github.com/meshtastic/firmware/tree/master/src/modules/NodeInfoModule.h) - Receives/sends User information to other nodes so that usernames are available in the databases.
-- [RemoteHardwareModule](http://github.com/meshtastic/firmware/tree/master/src/modules/RemoteHardwareModule.h) - A module that provides easy remote access to device hardware (for things like turning GPIOs on or off). Intended to be a more extensive example and provide a useful feature of its own. See [remote-hardware](/docs/hardware/peripheral/#remote-hardware) for details.
+- [RemoteHardwareModule](http://github.com/meshtastic/firmware/tree/master/src/modules/RemoteHardwareModule.h) - A module that provides easy remote access to device hardware (for things like turning GPIOs on or off). Intended to be a more extensive example and provide a useful feature of its own. See [remote-hardware](/docs/configuration/module/remote-hardware) for details.
- [ReplyModule](http://github.com/meshtastic/firmware/tree/master/src/modules/ReplyModule.h) - A simple module that just replies to any packet it receives (provides a 'ping' service).
diff --git a/docs/development/firmware/building.mdx b/docs/development/firmware/building.mdx
index 63db19fc..90e3ba3e 100644
--- a/docs/development/firmware/building.mdx
+++ b/docs/development/firmware/building.mdx
@@ -60,6 +60,6 @@ The build system is modular. Adding a new board variant for an already supported
2. [Send a proposal](https://github.com/meshtastic/firmware/issues/new?assignees=&labels=enhancement%2Ctriage&template=New+Board.yml&title=%5BBoard%5D%3A+) to add a new board.
3. If approved, go to (https://github.com/meshtastic/protobufs) and send a Pull Request for the `mesh.proto` file, adding your board to the `HardwareModel` Enum.
4. Change your define in `platformio.ini` from `PRIVATE_HW` to `YOUR_BOARD`. Adjust any macro guards in the code you need to support your board.
-5. Add your board identifier to `configuration.h` on the firmware repo and send in that Pull Request too.
+5. Add your board identifier to `architecture.h` on the firmware repo in the folder of the platform you are using, and send in that Pull Request too.
6. Wait for the Pulls to be merged back into Master.
7. Profit :-)
diff --git a/docs/development/web/index.mdx b/docs/development/web/index.mdx
index 9f4c5be6..2e3466db 100644
--- a/docs/development/web/index.mdx
+++ b/docs/development/web/index.mdx
@@ -11,7 +11,7 @@ The Meshtastic web interface can be hosted or served from a node.
The official hosted version can be found at [https://client.meshtastic.org](https://client.meshtastic.org).
-The version served from a node can be accessed by first [connecting your node to your network](/docs/settings/config/network) and then navigating to http://meshtastic.local (or your_node_ip.local).
+The version served from a node can be accessed by first [connecting your node to your network](/docs/configuration/radio/network) and then navigating to http://meshtastic.local (or your_node_ip.local).
## Development & Building
diff --git a/docs/getting-started/flashing-firmware/nrf52/convert-rak4631r.mdx b/docs/getting-started/flashing-firmware/nrf52/convert-rak4631r.mdx
index 6c9a56e3..d91560c8 100644
--- a/docs/getting-started/flashing-firmware/nrf52/convert-rak4631r.mdx
+++ b/docs/getting-started/flashing-firmware/nrf52/convert-rak4631r.mdx
@@ -9,6 +9,26 @@ The only difference between the _RAK4631-R_ (RUI3) and the _RAK4631_ (Arduino) i
Meshtastic requires the Arduino bootloader on RAK WisBlock nRF52-based boards. The process of converting the bootloader only needs to be performed once.
+Here are two ways to flash the bootloader:
+
+## USB Device Firmware Upgrade (DFU)
+
+1. Install [Python](https://www.python.org/downloads/)
+2. Install [adafruit-nrfutil](https://github.com/adafruit/Adafruit_nRF52_nrfutil)
+ ```shell
+ pip3 install adafruit-nrfutil
+ ```
+3. Download the required bootloader: [WisCore_RAK4631_Board_Bootloader.zip](https://github.com/RAKWireless/WisBlock/releases/download/0.4.2/WisCore_RAK4631_Board_Bootloader.zip)
+4. Connect your RAK device by USB.
+5. Flash the bootloader
+ ```shell
+ adafruit-nrfutil --verbose dfu serial --package ./WisCore_RAK4631_Board_Bootloader.zip -p /dev/ttyACM0 -b 115200 --singlebank --touch 1200
+ ```
+ Note: The serial port name (`/dev/ttyACM0`) may differ depending on your operating system. Make sure to identify the correct port name for your setup.
+6. Continue with the normal [flashing instructions](/docs/getting-started/flashing-firmware/nrf52/drag-n-drop)
+
+## Debugger
+
This conversion requires the use of either a [DAPLink](https://daplink.io/) or [J-Link](https://www.segger.com/products/debug-probes/j-link/). The most reasonably priced and available is the [RAKDAP1](https://store.rakwireless.com/products/daplink-tool).
1. Install [Python](https://www.python.org/downloads/)
diff --git a/docs/getting-started/initial-config.mdx b/docs/getting-started/initial-config.mdx
index 4ab135ad..554f15ef 100644
--- a/docs/getting-started/initial-config.mdx
+++ b/docs/getting-started/initial-config.mdx
@@ -113,7 +113,7 @@ Now that you have set the LoRa region on your device, you can continue with conf
Device Configuration
diff --git a/docs/hardware/antennas/testing.mdx b/docs/hardware/antennas/testing.mdx
index f69e16fa..da8d3d68 100644
--- a/docs/hardware/antennas/testing.mdx
+++ b/docs/hardware/antennas/testing.mdx
@@ -42,7 +42,7 @@ As mentioned, while stating the obvious, the simplest way of performing a test i
- Change aerials, repeat, and evaluate results.
:::note
-The [range test module](/docs/settings/moduleconfig/range-test) has been designed for exactly this purpose. It allows one node to transmit a frequent message, and another node to record which messages were received. This data is saved and can be imported to applications such as Google Earth.
+The [range test module](/docs/configuration/module/range-test) has been designed for exactly this purpose. It allows one node to transmit a frequent message, and another node to record which messages were received. This data is saved and can be imported to applications such as Google Earth.
:::
On the topic of testing - performing your own testing and providing feedback is the lifeblood of Meshtastic and open source projects.
diff --git a/docs/software/android/usage.mdx b/docs/software/android/usage.mdx
index e01be522..9a517b00 100644
--- a/docs/software/android/usage.mdx
+++ b/docs/software/android/usage.mdx
@@ -82,23 +82,11 @@ The app will generate a new QR code on the screen. This encodes the channel det
2. If the channel is shared from a file or link using the `Share` button, you can click on the file or link and you need to choose "Open with Meshtastic".
-
- Troubleshooting shared links: Can't "open with Meshtastic".
-
-
- If you don't see "Meshtastic" as an option to open the file or link with:
-
- 1. Go to Android Settings > Apps > Default apps > Meshtastic > Opening
- links
-
- 2. Make sure you have in "links/web address": www.meshtastic.org
-
- 3. If you see the option "Open the supported links", make sure it is
- enabled.
-
-
-
-
+:::info If a QR or URL opens a webpage instead of the APP or "Open with Meshtastic" is not an option:
+1. Go to Android Settings > Apps > Default apps > Meshtastic > Opening links
+2. Make sure you have in "links/web address": www.meshtastic.org
+3. If you see the option "Open the supported links", make sure it is enabled.
+:::
[](/img/android/android-accept-channel.png)
@@ -138,7 +126,7 @@ By default there is no long-term store-and-forward of messages, so messages not
The network list shows all the users (devices) that have connected to the same Channel. For each entry, it shows the last time they were active, their location and distance (when available), and their last known power status. In the example above, Monkey is the local user, Rabbit was last heard from 10 minutes ago and is 50m away, and Panda was last heard 11 minutes ago and 5m away.
-- Tap on a node from the list to start Direct Messaging, request a position update, request a [traceroute](/docs/settings/moduleconfig/traceroute) or add it to your [Ignore Incoming Array](/docs/settings/config/lora#ignore-incoming-array).
+- Tap on a node from the list to start Direct Messaging, request a position update, request a [traceroute](/docs/configuration/module/traceroute) or add it to your [Ignore Incoming Array](/docs/configuration/radio/lora#ignore-incoming-array).
- If you have an [Admin Channel](/docs/configuration/remote-admin) enabled on your devices, tapping on the node will also display an option to remotely configure the node.
### View the map
@@ -175,13 +163,13 @@ The debug panel allows you to see all packets sent between the application and t
[](/img/android/android-radio-configuration.png)
Radio Configuration opens a list of all radio and module configuration settings.
-- See [Device Config](/docs/settings/config) for radio settings.
-- See [Module Config](/docs/settings/moduleconfig) for module settings.
+- See [Device Config](/docs/configuration/radio) for radio settings.
+- See [Module Config](/docs/configuration/module) for module settings.
- At the end of this list are buttons for Reboot, Shutdown, Factory reset, and NodeDB reset.
### Export rangetest.csv
-Allows you to save all your network's position data with GPS coordinates into a .csv (comma separated value) file on your phone. This file can be imported into the spreadsheet application of your choice for easy viewing. This feature is similar but independent from the device [range test module](/docs/settings/moduleconfig/range-test), and results may differ.
+Allows you to save all your network's position data with GPS coordinates into a .csv (comma separated value) file on your phone. This file can be imported into the spreadsheet application of your choice for easy viewing. This feature is similar but independent from the device [range test module](/docs/configuration/module/range-test), and results may differ.
### Theme
diff --git a/docs/software/integrations/caltopo.mdx b/docs/software/integrations/caltopo.mdx
index 90ef51e1..651a6c28 100644
--- a/docs/software/integrations/caltopo.mdx
+++ b/docs/software/integrations/caltopo.mdx
@@ -15,7 +15,7 @@ Meshtastic can integrate with [CalTopo](https://caltopo.com/) Desktop edition qu
### Configuring the Meshtastic device
-To configure our Meshtastic device for this integration, we have a couple of different options, both of which utilize the [Serial module](/docs/settings/moduleconfig/serial):
+To configure our Meshtastic device for this integration, we have a couple of different options, both of which utilize the [Serial module](/docs/configuration/module/serial):
#### Enabling serial over the device's USB port
```shell title="Serial over USB"
diff --git a/docs/software/mqtt/home-assistant.mdx b/docs/software/mqtt/home-assistant.mdx
index 8693bafe..28854a66 100644
--- a/docs/software/mqtt/home-assistant.mdx
+++ b/docs/software/mqtt/home-assistant.mdx
@@ -206,13 +206,13 @@ Always Check Configuration before reloading YAML or restarting Home Assistant to
Create a new Entities Card and select the entities you have created.
-[](/img/software/mqtt/ha_entities_card.png)
+
### Logbook Card for Messaging
The logbook card is useful to keep a record of incoming messages from the mesh. Below is an example of how the logbook card would be set up.
-[](/img/software/mqtt/ha_logbook_card.png)
+
## Trigger HA Automations
@@ -223,7 +223,7 @@ It is possible to have Home Assistant trigger automations based on messages or e
This example waits for a message containing @Tropho and then sends a pop-up notification to his flip phone with the message. Optionally you can have ALL messages from the mesh sent as HA notifications to your phone.
-[](/img/software/mqtt/ha_at_tropho.png)
+
Add the following code to your automations.yaml file. Be sure to modify the `topic`, `regex_search`, and `service` for your configuration.
```yaml
@@ -253,4 +253,61 @@ Add the following code to your automations.yaml file. Be sure to modify the `to
mode: single
```
-This same type of automation is very useful to trigger other actions in Home Assistant. For example, you could turn on a fan when the temperature reaches a certain value, or a play a sound on a speaker when a new message is received.
\ No newline at end of file
+This same type of automation is very useful to trigger other actions in Home Assistant. For example, you could turn on a fan when the temperature reaches a certain value, or a play a sound on a speaker when a new message is received.
+
+
+## Create a Send Message Entity
+
+It is possible to create an input text box to send messages to your mesh from within Home Assistant.
+
+### Input Text Helper Entity
+
+First, create an input text helper entity. The preferred way to configure an input text is via the HA interface at Settings > Devices & Services > Helpers. Click the add button and then choose the Text option. Make a text input helper with a max length of 190 to be on the safe side. See example below:
+
+
+
+### Create a Send Message Automation
+
+This automation will check the send box for changes. After typing a message, either hit enter or click off the box and the automation will send a text string in JSON to the mqtt broker. Make sure to update the channel name and device ID in the example below.
+
+```yaml
+- alias: Meshtastic - Send Automation
+ description: ""
+ trigger:
+ - platform: state
+ entity_id:
+ - input_text.meshtastic_send_box
+ condition: []
+ action:
+ - delay:
+ hours: 0
+ minutes: 0
+ seconds: 1
+ milliseconds: 0
+ - service: mqtt.publish
+ data:
+ qos: 0
+ retain: false
+ topic: msh/2/json/LongFast/!67ea9400
+ payload: >-
+ {"channel":"0","sender":"broker","type":"sendtext","payload":"{{
+ states('input_text.meshtastic_send_box') }}"}
+ - delay:
+ hours: 0
+ minutes: 0
+ seconds: 1
+ milliseconds: 0
+ - service: input_text.set_value
+ data:
+ value: " "
+ target:
+ entity_id: input_text.meshtastic_send_box
+ - delay:
+ hours: 0
+ minutes: 0
+ seconds: 2
+ milliseconds: 0
+ mode: single
+ ```
+
+ Add this card to your dashboard by going to Edit Dashboard -> + ADD CARD. Then search BY ENTITY for Meshtastic Send Box and check the box next to the entry. Click CONTINUE, then ADD TO DASHBOARD.
\ No newline at end of file
diff --git a/docs/software/mqtt/index.mdx b/docs/software/mqtt/index.mdx
index f2640ac6..2150ca5d 100644
--- a/docs/software/mqtt/index.mdx
+++ b/docs/software/mqtt/index.mdx
@@ -11,7 +11,7 @@ Meshtastic networks in different locations beyond the reach of LoRa can be easil
You can also share channel settings with a remote network. If you use the default Meshtastic MQTT server, packets are always encrypted. If you use a custom MQTT broker (ie set `mqtt.address`), the `mqtt.encryption_enabled` setting applies, which by default is false. You can also specify your own private MQTT broker and specify authentication for that broker to bridge several mesh networks together, via the internet (or just a local IP network).
-You can find the settings available for MQTT [here](/docs/settings/moduleconfig/mqtt).
+You can find the settings available for MQTT [here](/docs/configuration/module/mqtt).
:::important
When MQTT is turned on, you are potentially broadcasting your entire mesh's traffic onto the public internet. This includes messages and position information.
@@ -25,7 +25,7 @@ When MQTT is enabled, the Meshtastic device simply uplinks and/or downlinks ever
### MQTT [Topics](https://www.hivemq.com/blog/mqtt-essentials-part-5-mqtt-topics-best-practices)
-If no specific [root topic](/docs/settings/moduleconfig/mqtt#root-topic) is configured, the default root topic will be `msh/`.
+If no specific [root topic](/docs/configuration/module/mqtt#root-topic) is configured, the default root topic will be `msh/`.
Each device that is connected to MQTT will publish its MQTT state (`online`/`offline`) to:
`msh/2/stat/USERID`, where `USERID` is the node ID of the gateway device (the one connected to MQTT).
@@ -47,10 +47,10 @@ The payload is a raw protobuf, whose definitions for Meshtastic can be found [he
ShortFast !937bed1c
```
-If [encryption_enabled](/docs/settings/moduleconfig/mqtt#encryption-enabled) is set to true, the payload of the MeshPacket will remain encrypted with the key for the specified channel.
+If [encryption_enabled](/docs/configuration/module/mqtt#encryption-enabled) is set to true, the payload of the MeshPacket will remain encrypted with the key for the specified channel.
#### JSON topic
-If [JSON is enabled](/docs/settings/moduleconfig/mqtt/#json-enabled), packets from the following [port numbers](/docs/development/firmware/portnum) are serialized to JSON: `TEXT_MESSAGE_APP`, `TELEMETRY_APP`, `NODEINFO_APP`, `POSITION_APP`, `WAYPOINT_APP`, and `NEIGHBORINFO_APP`. These are then forwarded to the topic:
+If [JSON is enabled](/docs/configuration/module/mqtt/#json-enabled), packets from the following [port numbers](/docs/development/firmware/portnum) are serialized to JSON: `TEXT_MESSAGE_APP`, `TELEMETRY_APP`, `NODEINFO_APP`, `POSITION_APP`, `WAYPOINT_APP`, and `NEIGHBORINFO_APP`. These are then forwarded to the topic:
`msh/2/json/CHANNELNAME/USERID`.
@@ -108,7 +108,7 @@ If the message received contains valid JSON in the payload, the JSON is deserial
### Basic Configuration
-Check out [MQTT Settings](/docs/settings/moduleconfig/mqtt) for full information. For quick start instructions, read on.
+Check out [MQTT Settings](/docs/configuration/module/mqtt) for full information. For quick start instructions, read on.
- Connect your gateway node to wifi, by setting the `network.wifi_ssid`, `network.wifi_psk` and `network.wifi_enabled` preferences.
- Alternatively use the RAK4631 with Ethernet Module RAK13800, by setting `network.eth_mode` and `network.eth_enabled`.
diff --git a/docs/software/python-cli/index.mdx b/docs/software/python-cli/index.mdx
index 417ebc07..5577fdee 100644
--- a/docs/software/python-cli/index.mdx
+++ b/docs/software/python-cli/index.mdx
@@ -124,7 +124,7 @@ meshtastic --qr
Gets a preferences field.
-Configuration values are described in: [Configuration](https://meshtastic.org/docs/settings).
+Configuration values are described in: [Configuration](https://meshtastic.org/docs/configuration).
```shell title="Usage"
meshtastic --get lora
@@ -135,7 +135,7 @@ meshtastic --get lora.region
Sets a preferences field.
-Configuration values are described in: [Configuration](https://meshtastic.org/docs/settings).
+Configuration values are described in: [Configuration](https://meshtastic.org/docs/configuration).
```shell title="Usage"
meshtastic --set lora.region Unset
diff --git a/docs/software/python-cli/usage.mdx b/docs/software/python-cli/usage.mdx
index 13bd32b0..65a765af 100644
--- a/docs/software/python-cli/usage.mdx
+++ b/docs/software/python-cli/usage.mdx
@@ -95,9 +95,9 @@ Toggling `set-ham` changes your device settings in the following ways.
| Setting | `set-ham` Default | Normal Default |
| :----------: | :---------------: | :------------------------------------------------------------------------: |
-| `IsLicensed` | `true` | See [User Config - IsLicensed](/docs/settings/config/user#is-licensed-ham) |
-| `LongName` | _Your CallSign_ | See [User Config - LongName](/docs/settings/config/user#long-name) |
-| `ShortName` | _Abrv CallSign_ | See [User Config - ShortName](/docs/settings/config/user#short-name) |
+| `IsLicensed` | `true` | See [User Config - IsLicensed](/docs/configuration/radio/user#is-licensed-ham) |
+| `LongName` | _Your CallSign_ | See [User Config - LongName](/docs/configuration/radio/user#long-name) |
+| `ShortName` | _Abrv CallSign_ | See [User Config - ShortName](/docs/configuration/radio/user#short-name) |
| `PSK` | `""` | See [Channel Settings - PSK](#changing-the-preshared-key) |
## Changing the preshared key
diff --git a/docs/software/web-client.mdx b/docs/software/web-client.mdx
index 8f50fa3e..2b984430 100644
--- a/docs/software/web-client.mdx
+++ b/docs/software/web-client.mdx
@@ -31,7 +31,7 @@ This can be found on the screen of the device, via your router's DHCP lease page
:::
-You can accessing your device over HTTP after you set up your [Network Connection](/docs/settings/config/network)
+You can accessing your device over HTTP after you set up your [Network Connection](/docs/configuration/radio/network)
### Bluetooth
diff --git a/static/img/configuration/qr-private-primary-example/private-primary-ANZ.png b/static/img/configuration/qr-private-primary-example/private-primary-ANZ.png
new file mode 100644
index 00000000..3579b1de
Binary files /dev/null and b/static/img/configuration/qr-private-primary-example/private-primary-ANZ.png differ
diff --git a/static/img/configuration/qr-private-primary-example/private-primary-CN.png b/static/img/configuration/qr-private-primary-example/private-primary-CN.png
new file mode 100644
index 00000000..42e003a1
Binary files /dev/null and b/static/img/configuration/qr-private-primary-example/private-primary-CN.png differ
diff --git a/static/img/configuration/qr-private-primary-example/private-primary-EU_433.png b/static/img/configuration/qr-private-primary-example/private-primary-EU_433.png
new file mode 100644
index 00000000..f8de765b
Binary files /dev/null and b/static/img/configuration/qr-private-primary-example/private-primary-EU_433.png differ
diff --git a/static/img/configuration/qr-private-primary-example/private-primary-EU_868.png b/static/img/configuration/qr-private-primary-example/private-primary-EU_868.png
new file mode 100644
index 00000000..cbb3f2e6
Binary files /dev/null and b/static/img/configuration/qr-private-primary-example/private-primary-EU_868.png differ
diff --git a/static/img/configuration/qr-private-primary-example/private-primary-IN.png b/static/img/configuration/qr-private-primary-example/private-primary-IN.png
new file mode 100644
index 00000000..29d5e826
Binary files /dev/null and b/static/img/configuration/qr-private-primary-example/private-primary-IN.png differ
diff --git a/static/img/configuration/qr-private-primary-example/private-primary-JP.png b/static/img/configuration/qr-private-primary-example/private-primary-JP.png
new file mode 100644
index 00000000..4ccda718
Binary files /dev/null and b/static/img/configuration/qr-private-primary-example/private-primary-JP.png differ
diff --git a/static/img/configuration/qr-private-primary-example/private-primary-KR.png b/static/img/configuration/qr-private-primary-example/private-primary-KR.png
new file mode 100644
index 00000000..6c813e4e
Binary files /dev/null and b/static/img/configuration/qr-private-primary-example/private-primary-KR.png differ
diff --git a/static/img/configuration/qr-private-primary-example/private-primary-LORA_24.png b/static/img/configuration/qr-private-primary-example/private-primary-LORA_24.png
new file mode 100644
index 00000000..9bb1571b
Binary files /dev/null and b/static/img/configuration/qr-private-primary-example/private-primary-LORA_24.png differ
diff --git a/static/img/configuration/qr-private-primary-example/private-primary-NZ_865.png b/static/img/configuration/qr-private-primary-example/private-primary-NZ_865.png
new file mode 100644
index 00000000..b0283429
Binary files /dev/null and b/static/img/configuration/qr-private-primary-example/private-primary-NZ_865.png differ
diff --git a/static/img/configuration/qr-private-primary-example/private-primary-RU.png b/static/img/configuration/qr-private-primary-example/private-primary-RU.png
new file mode 100644
index 00000000..982ca91c
Binary files /dev/null and b/static/img/configuration/qr-private-primary-example/private-primary-RU.png differ
diff --git a/static/img/configuration/qr-private-primary-example/private-primary-TH.png b/static/img/configuration/qr-private-primary-example/private-primary-TH.png
new file mode 100644
index 00000000..5a782ab0
Binary files /dev/null and b/static/img/configuration/qr-private-primary-example/private-primary-TH.png differ
diff --git a/static/img/configuration/qr-private-primary-example/private-primary-TW.png b/static/img/configuration/qr-private-primary-example/private-primary-TW.png
new file mode 100644
index 00000000..29e15e23
Binary files /dev/null and b/static/img/configuration/qr-private-primary-example/private-primary-TW.png differ
diff --git a/static/img/configuration/qr-private-primary-example/private-primary-UA_433.png b/static/img/configuration/qr-private-primary-example/private-primary-UA_433.png
new file mode 100644
index 00000000..c71d117f
Binary files /dev/null and b/static/img/configuration/qr-private-primary-example/private-primary-UA_433.png differ
diff --git a/static/img/configuration/qr-private-primary-example/private-primary-UA_868.png b/static/img/configuration/qr-private-primary-example/private-primary-UA_868.png
new file mode 100644
index 00000000..233a8a51
Binary files /dev/null and b/static/img/configuration/qr-private-primary-example/private-primary-UA_868.png differ
diff --git a/static/img/configuration/qr-private-primary-example/private-primary-US.png b/static/img/configuration/qr-private-primary-example/private-primary-US.png
new file mode 100644
index 00000000..bf3e6ea0
Binary files /dev/null and b/static/img/configuration/qr-private-primary-example/private-primary-US.png differ
diff --git a/static/img/software/mqtt/ha_input_text_helper.png b/static/img/software/mqtt/ha_input_text_helper.png
new file mode 100644
index 00000000..02e1d424
Binary files /dev/null and b/static/img/software/mqtt/ha_input_text_helper.png differ
diff --git a/vercel.json b/vercel.json
new file mode 100644
index 00000000..9b29715d
--- /dev/null
+++ b/vercel.json
@@ -0,0 +1,24 @@
+{
+ "redirects": [
+ {
+ "source": "/docs/settings",
+ "destination": "/docs/configuration"
+ },
+ {
+ "source": "/docs/settings/moduleconfig",
+ "destination": "/docs/configuration/module"
+ },
+ {
+ "source": "/docs/settings/moduleconfig/:path*",
+ "destination": "/docs/configuration/module/:path*"
+ },
+ {
+ "source": "/docs/settings/config",
+ "destination": "/docs/configuration/radio"
+ },
+ {
+ "source": "/docs/settings/config/:path*",
+ "destination": "/docs/configuration/radio/:path*"
+ }
+ ]
+}
\ No newline at end of file