diff --git a/docs/faq.md b/docs/faq.md
index eb5fdf29..c94d231f 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -1,6 +1,9 @@
# MeshCore-FAQ
A list of frequently-asked questions and answers for MeshCore
+The current version of this MeshCore FAQ is at https://github.com/ripplebiz/MeshCore/blob/main/docs/faq.md.
+This MeshCore FAQ is also mirrored at https://github.com/LitBomb/MeshCore-FAQ and might have newer updates if pull requests on Scott's MeshCore repo are not approved yet.
+
author: https://github.com/LitBomb
---
@@ -25,8 +28,9 @@ Anyone is able to build anything they like on top of MeshCore without paying any
Firmware Flasher: https://flasher.meshcore.co.uk/
Phone Client Applications: https://meshcore.co.uk/apps.html
MeshCore Fimrware Github: https://github.com/ripplebiz/MeshCore
-
+
NOTE: Andy Kirby has a very useful [intro video](https://www.youtube.com/watch?v=t1qne8uJBAc) for beginners.
+
You need LoRa hardware devices to run MeshCore firmware as clients or server (repeater and room server).
@@ -95,7 +99,7 @@ The T-Deck firmware is free to download and most features are available without
- Australia and New Zealand are using **915.8MHz**
- UK and EU are gravitating toward **867.5MHz**
- There are discussions on discord for UK to move to 869.525MHz (https://discord.com/channels/826570251612323860/1330643963501351004/1342554454498742374)
-- USA is gravitating toward **910.525MHz**
+- Canada and USA is on **910.525MHz**
the rest of the radio settings are the same for all frequencies:
- Spread Factor (SF): 10
@@ -127,11 +131,11 @@ MeshCore clients only advertise themselves when the user initiates it. A repeate
### Q: How do you configure a repeater or a room server?
**A:** One of these servers can be administered with one of the options below:
-- Connect the server device through a USB serial connection to a computer running Chrome on this site:
-
+- Connect the server device using a USB cable to a computer running Chrome on https://flasher.meshcore.co.uk/, then use the `console` feature to connect to the device
+ - this is necessary to set the server device's frequency if it doesn't match the frequency for your local region or country
+- MeshCore smart device clients have the ability to remotely administer servers.
- A T-Deck running unlocked/registered MeshCore firmware. Remote server administration is enabled through registering your T-Deck with Ripple Radios. It is one of the ways to support MeshCore development. You can register your T-Deck at:
-- MeshCore smart device clients may have the ability to remotely administer servers in the future.
### Q: Do I need to set the location for a repeater?
**A:** With location set for a repeater, it can show up on a MeshCore map in the future. Set location with the following commands:
@@ -232,7 +236,11 @@ things network is mainly focused on LoRaWAN, but the LoRa low-level stuff still
- Firmware repo:
### Q: How can I support MeshCore?
-**A:** Provide your honest feedback on GitHub and on AndyKirby's Discord server . Spread the word of MeshCore to your friends and communities; help them get started with MeshCore. Support MeshCore development at .
+**A:** Provide your honest feedback on GitHub and on AndyKirby's Discord server . Spread the word of MeshCore to your friends and communities; help them get started with MeshCore. Support Scott's MeshCore development at .
+
+Support Liam Cottle's smartphone client development by unlocking the server administration wait gate with in-app purchase
+
+Support Rastislav Vysoky (recrof)'s flasher web site and the map web site development through [PayPal](https://www.paypal.com/donate/?business=DREHF5HM265ES&no_recurring=0&item_name=If+you+enjoy+my+work%2C+you+can+support+me+here%3A¤cy_code=EUR) or [Revolut](https://revolut.me/recrof)
### Q: How do I build MeshCore firmware from source?
**A:** See instructions here:
@@ -251,6 +259,12 @@ Javascript: https://github.com/liamcottle/meshcore.js
### Q: Does MeshCore support ATAK
**A:** ATAK is not currently on MeshCore's roadmap.
+
+### Q: How do I add a node to the [MeshCore Map]([url](https://meshcore.co.uk/map.html))
+**A:** From the smartphone app, connect to a BLE Companion radio
+- To add the BLE Companion radio your smartphone is connected to to the map, tap the `advert` icon, then tap `Advert (To Clipboard)`.
+- To add a Repeater or Room Server to the map, tap the 3 dots next to the Repeater or Room Server you want to add to the map, then tap `Share (To Clipboard)`.
+- Go to the [MeshCore Map web site]([url](https://meshcore.co.uk/map.html)), tap the plus sign on the lower right corner and paste in the meshcore://... blob, then tap `Add Node`
---
@@ -275,6 +289,74 @@ You can get the epoch time on and use it to se
**A:** Heltec V3 has a very small coil antenna on its PCB for WiFi and Bluetooth connectivty. It has a very short range, only a few feet. It is possible to remove the coil antenna and replace it with a 31mm wire. The BT range is much improved with the modification.
+---
+## Other Questions:
+### Q: How to Update repeater and room server firmware over the air?
+
+**A:** Only nRF-based RAK4631 and Heltec T114 OTA firmware update are verified using nRF smartphone app. Lilygo T-Echo doesn't work currently.
+You can update repeater and room server firmware with a bluetooth connection between your smartphone and your LoRa radio using the nRF app.
+
+1. Download the ZIP file for the specific node from the web flasher to your smartphone
+2. On the phone client, log on to the repeater as administrator (default password is `password`) to issue the `start ota`command to the repeater or room server to get the device into OTA DFU mode
+
+
+ 1. `start ota` can be initiated from USB serial console on the web flasher page or a T-Deck
+4. On the smartphone, download and run the nRF app and scan for Bluetooth devices
+5. Connect to the repeater/room server node you want to update
+ 1. nRF app is available on both Android and iOS
+
+**Android continues after the iOS section:**
+
+**iOS continues here:**
+5. Once connected successfully, a `DFU` icon 
+ appears in the top right corner of the app
+
+6. Scroll down to change the `PRN(s)` number:
+
+
+
+- For the T114, change the number of packets `(PRN(s)` to 8
+- For RAK, it can be 10, but it also works on 8.
+
+7. Click the `DFU` icon , select the type of file to upload (choose ZIP), then select the ZIP file that was downloaded earlier from the web flasher
+8. The upload process will start now. If everything goes well, the node resets and is flashed successfully.
+
+
+
+
+**Android steps continues below:**
+1. on the top left corner of the nRF Connect app on Android, tap the 3-bar hamburger menu, then `Settings`, then `nRF5 DFU Options`
+
+
+
+
+
+
+
+2. Change `Number of packets` to `10` for RAK, `8` for Heltec T114
+
+
+
+3. Go back to the main screen
+4. Your LoRa device should already ben in DFU mode from previous steps
+5. tap `SCANNER` and then `SCAN` to find the device you want to update, tap `CONNECT`
+
+
+
+6. On the top left corner of the nRF Connect app, tap the `DFU` icon next to the three dots
+
+
+
+7. Choose `Distribution packet (ZIP)` and then `OK`
+
+
+
+8. Choose the firmware file in ZIP formate that you downloaded earlier from the MeshCore web flasher, update will start as soon as you tap the file
+
+
+
+9. When the update process is done, the device will disconnect from nRF app and the LoRa device is updated
+
---
diff --git a/examples/companion_radio/main.cpp b/examples/companion_radio/main.cpp
index ac0b3111..e719e900 100644
--- a/examples/companion_radio/main.cpp
+++ b/examples/companion_radio/main.cpp
@@ -1291,7 +1291,13 @@ void setup() {
#ifdef BLE_PIN_CODE
char dev_name[32+10];
- sprintf(dev_name, "MeshCore-%s", the_mesh.getNodeName());
+ const char* prefix =
+ #ifdef BLE_NAME_PREFIX
+ BLE_NAME_PREFIX;
+ #else
+ "MeshCore-";
+ #endif
+ sprintf(dev_name, "%s%s", prefix, the_mesh.getNodeName());
serial_interface.begin(dev_name, the_mesh.getBLEPin());
#else
pinMode(WB_IO2, OUTPUT);
@@ -1307,7 +1313,13 @@ void setup() {
serial_interface.begin(TCP_PORT);
#elif defined(BLE_PIN_CODE)
char dev_name[32+10];
- sprintf(dev_name, "MeshCore-%s", the_mesh.getNodeName());
+ const char* prefix =
+ #ifdef BLE_NAME_PREFIX
+ BLE_NAME_PREFIX;
+ #else
+ "MeshCore-";
+ #endif
+ sprintf(dev_name, "%s%s", prefix, the_mesh.getNodeName());
serial_interface.begin(dev_name, the_mesh.getBLEPin());
#else
serial_interface.begin(Serial);
diff --git a/platformio.ini b/platformio.ini
index 6cb473f3..7ecb7ff4 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -779,6 +779,7 @@ build_flags = ${nrf52840_t1000e.build_flags}
-D PIN_USER_BTN=6
-D RADIO_CLASS=CustomLR1110
-D WRAPPER_CLASS=CustomLR1110Wrapper
+ -D MAX_LORA_TX_POWER=22
build_src_filter = ${nrf52840_t1000e.build_src_filter}
+
+