Skip to content

Commit f594f2c

Browse files
authored
Update faq.md
added pyMC_core to meshcore projects mentioned Cisien's meshcoretomqtt fork from Andrew-a-g updated Coding Rate explanation and recommendation updated radio presets and added how to update presets listed in the app
1 parent 3dc04de commit f594f2c

File tree

1 file changed

+36
-19
lines changed

1 file changed

+36
-19
lines changed

docs/faq.md

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -61,22 +61,23 @@ author: https://github.com/LitBomb<!-- omit from toc -->
6161
- [5.14.3. Python MeshCore](#5143-python-meshcore)
6262
- [5.14.4. meshcore-cli](#5144-meshcore-cli)
6363
- [5.14.5. meshcore.js](#5145-meshcorejs)
64+
- [5.14.6. pyMC\_core](#5146-pymc_core)
6465
- [6. Troubleshooting](#6-troubleshooting)
6566
- [6.1. Q: My client says another client or a repeater or a room server was last seen many, many days ago.](#61-q-my-client-says-another-client-or-a-repeater-or-a-room-server-was-last-seen-many-many-days-ago)
6667
- [6.2. Q: A repeater or a client or a room server I expect to see on my discover list (on T-Deck) or contact list (on a smart device client) are not listed.](#62-q-a-repeater-or-a-client-or-a-room-server-i-expect-to-see-on-my-discover-list-on-t-deck-or-contact-list-on-a-smart-device-client-are-not-listed)
6768
- [6.3. Q: How to connect to a repeater via BLE (Bluetooth)?](#63-q-how-to-connect-to-a-repeater-via-ble-bluetooth)
6869
- [6.4. Q: My companion isn't showing up over Bluetooth?](#64-q-my-companion-isnt-showing-up-over-bluetooth)
69-
- [6.5. Q: I can't connect via Bluetooth, what is the Bluetooth pairing code?](#64-q-i-cant-connect-via-bluetooth-what-is-the-bluetooth-pairing-code)
70-
- [6.6. Q: My Heltec V3 keeps disconnecting from my smartphone. It can't hold a solid Bluetooth connection.](#65-q-my-heltec-v3-keeps-disconnecting-from-my-smartphone--it-cant-hold-a-solid-bluetooth-connection)
71-
- [6.7. Q: My RAK/T1000-E/xiao\_nRF52 device seems to be corrupted, how do I wipe it clean to start fresh?](#66-q-my-rakt1000-exiao_nrf52-device-seems-to-be-corrupted-how-do-i-wipe-it-clean-to-start-fresh)
72-
- [6.8. Q: WebFlasher fails on Linux with failed to open](#67-q-webflasher-fails-on-linux-with-failed-to-open)
70+
- [6.5. Q: I can't connect via Bluetooth, what is the Bluetooth pairing code?](#65-q-i-cant-connect-via-bluetooth-what-is-the-bluetooth-pairing-code)
71+
- [6.6. Q: My Heltec V3 keeps disconnecting from my smartphone. It can't hold a solid Bluetooth connection.](#66-q-my-heltec-v3-keeps-disconnecting-from-my-smartphone--it-cant-hold-a-solid-bluetooth-connection)
72+
- [6.7. Q: My RAK/T1000-E/xiao\_nRF52 device seems to be corrupted, how do I wipe it clean to start fresh?](#67-q-my-rakt1000-exiao_nrf52-device-seems-to-be-corrupted-how-do-i-wipe-it-clean-to-start-fresh)
73+
- [6.8. Q: WebFlasher fails on Linux with failed to open](#68-q-webflasher-fails-on-linux-with-failed-to-open)
7374
- [7. Other Questions:](#7-other-questions)
7475
- [7.1. Q: How to update nRF (RAK, T114, Seed XIAO) repeater and room server firmware over the air using the new simpler DFU app?](#71-q-how-to-update-nrf-rak-t114-seed-xiao-repeater-and-room-server-firmware-over-the-air-using-the-new-simpler-dfu-app)
7576
- [7.2. Q: How to update ESP32-based devices over the air?](#72-q-how-to-update-esp32-based-devices-over-the-air)
7677
- [7.3. Q: Is there a way to lower the chance of a failed OTA device firmware update (DFU)?](#73-q-is-there-a-way-to-lower-the-chance-of-a-failed-ota-device-firmware-update-dfu)
7778
- [7.4. Q: are the MeshCore logo and font available?](#74-q-are-the-meshcore-logo-and-font-available)
7879
- [7.5. Q: What is the format of a contact or channel QR code?](#75-q-what-is-the-format-of-a-contact-or-channel-qr-code)
79-
- [7.6. Q: How do I connect to the companion via WIFI, e.g. using a heltec v3?](#76-q-how-do-i-connect-to-the-comnpanion-via-wifi-eg-using-a-heltec-v3)
80+
- [7.6. Q: How do I connect to the companion via WIFI, e.g. using a heltec v3?](#76-q-how-do-i-connect-to-the-companion-via-wifi-eg-using-a-heltec-v3)
8081

8182
## 1. Introduction
8283

@@ -180,22 +181,17 @@ The T-Deck firmware is free to download and most features are available without
180181

181182

182183
### 2.3. Q: What frequencies are supported by MeshCore?
183-
**A:** It supports the 868MHz range in the UK/EU and the 915MHz range in New Zealand, Australia, and the USA. Countries and regions in these two frequency ranges are also supported. The firmware and client allow users to set their preferred frequency.
184-
- Australia and New Zealand are on **915.8MHz**
185-
- UK and EU are on **869.525MHz**
186-
- Canada and USA are on **910.525MHz**
187-
- For other regions and countries, please check your local LoRa frequency
184+
**A:** It supports the 868MHz range in the UK/EU and the 915MHz range in New Zealand, Australia, and the USA. Countries and regions in these two frequency ranges are also supported.
188185

189-
In UK and EU, 867.5MHz is not allowed to use 250kHz bandwidth and it only allows 2.5% duty cycle for clients. 869.525Mhz allows an airtime of 10%, 250KHz bandwidth, and a higher Effective Isotropic Radiated Power (EIRP), therefore MeshCore nodes can send more often and with more power. That is why this frequency is chosen for UK and EU. This is also why Meshtastic also uses this frequency.
186+
Use the smartphone client or the repeater setup feature on there web flasher to set your radios' RF settings by choosing the preset for your regions.
190187

191-
[Source](https://discord.com/channels/826570251612323860/1330643963501351004/1356540643853209641)
188+
Recently, as of October 2025, many regions have moved to the "narrow" setting, aka using BW62.5 and a lower SF number (instead of the original SF11). For example, USA/Canada (Recommended) preset is 910.525MHz, SF7, BW62.5, CR5.
189+
190+
After extensive testing, many regions have switched or about to switch over to BW62.5 and SF7, 8, or 9. Narrower bandwidth setting and lower SF setting allow MeshCore's radio signals to fit between interference in the ISM band, provide for a lower noise floor, better SNR, and faster transmissions.
191+
192+
If you have consensus from your community in your region to update your region's preset recommendation, please post your update request on the [#meshcore-app](https://discord.com/channels/1343693475589263471/1391681655911088241) channel on the [MeshCore Discord server ](https://discord.gg/cYtQNYCCRK) to let Liam Cottle know.
192193

193-
the rest of the radio settings are the same for all frequencies:
194-
- Spread Factor (SF): 11
195-
- Coding Rate (CR): 5
196-
- Bandwidth (BW): 250.00
197194

198-
(Originally MeshCore started with SF 10. recently (as of late April 2025) the community has advocated SF 11 also a viable option for longer range but a little slower transmission. Currently there are MeshCore meshes with SF 10 and SF 11. Liam Cottle's smartphone app's presets now recommend SF 10 for Australia and SF 11 for all other regions and countries. EU and UK has SF 10 and SF 11 presets. Work with your local meshers on deciding with SF number is best for your use cases. In the future, there may be bridge nodes that can bridge SF 10 and SF 11 (or even different frequencies) traffic.)
199195

200196
### 2.4. Q: What is an "advert" in MeshCore?
201197
**A:**
@@ -376,7 +372,23 @@ https://github.com/meshcore-dev/MeshCore/blob/main/src/Packet.h#L19
376372

377373
**SF is spreading factor** - how much should the communication spread in time
378374

379-
**CR is coding rate** - https://www.thethingsnetwork.org/docs/lorawan/fec-and-code-rate/
375+
**CR is coding rate** - from: https://www.thethingsnetwork.org/docs/lorawan/fec-and-code-rate/
376+
377+
TL;DR: default CR to 5 for good stable links. If it is not a solid link and is intermittent, change to CR to 7 or 8.
378+
379+
Forward Error Correction is a process of adding redundant bits to the data to be transmitted. During the transmission, data may get corrupted by interference (changes from 0 to 1 / 1 to 0). These error correction bits are used at the receivers for restoring corrupted bits.
380+
381+
The Code Rate of a forward error correction expresses the proportion of bits in a data stream that actually carry useful information.
382+
383+
There are 4 code rates used in LoRaWAN:
384+
385+
4/5
386+
4/6
387+
5/7
388+
4/8
389+
390+
For example, if the code rate is 5/7, for every 5 bits of useful information, the coder generates a total of 7 bits of data, of which 2 bits are redundant.
391+
380392
Making the bandwidth 2x wider (from BW125 to BW250) allows you to send 2x more bytes in the same time. Making the spreading factor 1 step lower (from SF10 to SF9) allows you to send 2x more bytes in the same time.
381393

382394
Lowering the spreading factor makes it more difficult for the gateway to receive a transmission, as it will be more sensitive to noise. You could compare this to two people taking in a noisy place (a bar for example). If you’re far from each other, you have to talk slow (SF10), but if you’re close, you can talk faster (SF7)
@@ -558,7 +570,8 @@ From here, reference repeater and room server command line commands on MeshCore
558570
**A:** Yes. See the following:
559571

560572
#### 5.14.1. meshcoremqtt
561-
A Python script to send meshcore debug and packet capture data to MQTT for analysis
573+
A Python script to send meshcore debug and packet capture data to MQTT for analysis. Cisien's version is a fork of Andrew-a-g's and is being used to to collect data for https://map.w0z.is/messages and https://analyzer.letsme.sh/
574+
https://github.com/Cisien/meshcoretomqtt
562575
https://github.com/Andrew-a-g/meshcoretomqtt
563576

564577
#### 5.14.2. MeshCore for Home Assistant
@@ -577,6 +590,10 @@ CLI interface to MeshCore companion radio over BLE, TCP, or serial. Uses Python
577590
A JavaScript library for interacting with a MeshCore device running the companion radio firmware
578591
https://github.com/liamcottle/meshcore.js
579592

593+
#### 5.14.6. pyMC_core
594+
pyMC_Core is a Python port of MeshCore, designed for Raspberry Pi and similar hardware, it talks to LoRa modules over SPI.
595+
https://github.com/rightup/pyMC_core
596+
580597
---
581598

582599
## 6. Troubleshooting

0 commit comments

Comments
 (0)