Step 1 - !! Make sure you have an antenna on your node - if you don't you can burn out your radio !! Never power up your node (radio) without these antennas!!
Depending on your node you may need multiple antennas, one for the LoRa radio & one for the Bluetooth radio
If you have GPS this will need an antenna also
Step 2 - Power up your node
Step 3 - Open up the Meshtastic App on your iOS or Android device - Note: this guide was created using the Android App. The Android & iOS app ARE different. Will hopefully have an iOS specific guide available soon.
Step 4 - Connect to the Node via Bluetooth - Use the + symbol towards the bottom of the Tab with the gear in a box and look for the node, typically only Meshtastic Nodes will show as available
Step 5 - You will need to enter a connection code
- On a Meshtastic device with a screen a 6 digit code will appear on the screen, enter this code
- On a Meshtastic device without a screen enter the code "123456"
Step 6 - The node should connect - it may take a minute for the node to swap information with the app, be patient
Step 7 - Set the region (to side of node name towards the top) to "US"
Step 8 - Select the three dots at the top of the App - this will open a menu
Step 9 - Select "Radio Configuration"
Step 10 - Select "User"
Step 11: Under "Long name" enter the name you would like for the node
Step 12: Under "Short name" enter the 4 digit (or less) short name for the node
Step 13: Select "Send" at the bottom - the node may disconnect or restart
Step 14: Select "Channels"
Step 15 - Verify that "LongFast" is Channel 0 (There should be no other Channels)
Step 16 - Select Channel 0 "LongFast"
Step 17 - Verify Channel Name is "LongFast" & PSK is "AQ==" - this must match to communicate with the other nodes in our Mesh
Step 18: Select "Save" at the bottom - the node may disconnect or restart
Step 19: Select Lora
Step 20: Verify "Use mode preset" is enabled
Step 21: Verify that Modem preset is set to "LONG_FAST"
Step 22: Verify that Frequency Offset is set to 0.0
Step 23: Verify that Region is set to United States and Hop Limit is set to 5
Step 24: Verify that "Override frequency is set to 906.875
Step 25: Select "Send" at bottom of page - the node may disconnect or restart
Congrats! Your node should now be setup to be found by our mesh! Once your node comes within range of another node with the same settings they will automatically mesh and begin exchanging information. Generally I like to leave the node alone for roughly 24hrs and just see what it can connect to. If you don't see anything within that time frame take your node on a trip and see if you can find a connection somewhere close by. Currently there are good pockets of nodes that can be found in Evans Town Center and Grovetown off of Exit 190.
What is MQTT?
The Meshtastic website lists MQTT as: "MQTT - Bridging mesh networks over the internet and integrating Meshtastic protocols with popular technologies such as Home Assistant, Node Red, and Adafruit IO." See the link for more information from their webpade on MQTT.
MQTT is a database/message broker tool that allows nodes to share data across the internet in addition to across LoRa RF. Once connected the information from nodes can be aggregated for mesh analysis, a mesh map can be created from multiple mesh areas, or messages can be relayed to remote nodes. While in many way MQTT defeats the purpose of using Meshtastic (a large reason to use Meshtastic is its ability to work without internet connections) we are using the data to analyze our mesh as we work to build it out and connect new areas. Currently we are using MQTT as a means to understand and analyze our existing RF mesh. Being able to log what nodes can see in real time is vital to understanding RF connections in the real world and work out where gaps in communication exist.
For more information on Meshtastic and MQTT see the official Meshtastic webpage here: https://meshtastic.org/docs/software/integrations/mqtt/
How do I setup my node for MQTT?
If you would like to contribute by connecting your node(s) to our MQTT broker and provide telemetry we ask that you consider the following:
Are you a part of the CSRA Mesh community? MQTT data is very useful, but if you aren't in our community then the data you are providing will likely distort the data we need for our analysis rather than helping. If you would like to have MQTT setup for your community, there are ways to do this and we would be happy to help point you in the right direction.
What do you want from the MQTT connection? We are only covering uploading to the MQTT broker for mesh analyzing, we are not connecting distant nodes for messaging or to relaying from one mesh to another. If you are looking to use MQTT as a bridge then let us know and we'll help you look into a solution. At this point we are only gathering data to help us understand and analyze the mesh.
To join our MQTT broker you will need to configure the following settings:
>>Radio Configuration
> Channels:
LongFast (primary)
Uplink Enabled: Checked
Downlink Enabled: Unchecked
Position enabled: Checked
Precise Location: user preference
Precision Slider: user preference
> LoRa:
Ignore MQTT: Unchecked
OK to MQTT: Checked
>> Module Configuration
> MQTT:
MQTT Enabled: Checked
MQTT Server Address: mqtt.csramsh.net
MQTT Username: meshdev (Alt: csramsh)
MQTT Password: large4cats (Alt: csramsh)
Encryption Enabled: Checked
JSON Enabled: Unchecked
TLS Enabled: Checked*
Root topic: msh/US/GA/csramsh
Proxy to client: enabled (for node connected to a cell phone - uses your cellular data for data connection)
Map reporting: Checked
Map reporting interval (seconds): 10800
Precise location: user preference
Precision Slider: user preference
* Not required but enabling TLS encrypts the data transmitted between MQTT clients and the broker for increased security so highly recommended. Note that TLS is not supported on all platforms.
> Neighbor Info:
Neighbor Info enabled: Checked
Update interval (seconds): 14400
Transmit over LoRa: Unchecked
These settings should setup your node to connect to and share the data with our MQTT broker. If you have trouble or questions reach out to us on Discord or Facebook.
What are OTA Firmware Updates?
Some nodes allow updating the firmware via an OTA Bluetooth connection. This can be very useful for nodes that are placed out of easy reach - i.e. solar nodes, rooftop nodes, treetop nodes, etc. Not all nodes are capable of this but some nrf52 chip set nodes have the capability using a process called OTA (or Over-The-Air) Firmware Updates. At this point I have only tested with a Rak Wisblock RAK4631 chip set, please do some research for other nodes with nrf52 chip sets before you try.
PLEASE NOTE: Updating firmware can fail and brick devices. Do your research and if possible perform a test update with a node you can easily reach to do a recovery on before you try to update a node that is difficult to reach! Meshtastic has done a great job of making it possible to recover nodes if the process fails, but this typically requires direct access to the node with a USB cable. If you have questions or concerns feel free to reach out on our social media and we'll be glad to help out.
What you need:
nrf52 node - typically a Rak Wisblock RAK4631 node, will need to confirm that it can accepts OTA updates - check for compatible firmware on the Meshtastic Github.
An Android phone or tablet
The nRF DFU (Device Firmware Update) App made by Nordic Semiconductor from the Android Play Store (currently version 4.29.1) - https://play.google.com/store/apps/details?id=no.nordicsemi.android.dfu&pcampaignid=web_share
Special firmware from Meshtastic designed for OTA updating.
Make sure you have a solid Bluetooth connection to the node and do NOT disconnect once you start the process.
Have more questions? Here are some useful links:
https://meshtastic.org/docs/getting-started/flashing-firmware/nrf52/ota/
This is the Youtube video I used to update my first OTA node and create this guide: https://youtu.be/HzqVUMs_yOg?feature=shared
First - go ahead and prepare your firmware.
1. Go to https://meshtastic.org/docs/getting-started/flashing-firmware/nrf52/ota/
2. This will direct you to the https://meshtastic.org/downloads/
3. Go to the bottom of the page to "Firmware" and select the firmware type you want: Stable, Alpha, or Bleeding (typically you want Stable)
4. This will take you to the current version of the Meshtastic Firmware download page on the Meshtastic Github
5. Scroll down to "Assets"
6. Locate the "nrf52" zip file - Note: you want the "firmware-nrf52840-x.x.x" NOT the one that has "elfs" in the name
7. Select the desired zip file and it should download
8. Unzip the file - this will open to show a lot more zip files. These are copies of this version of firmware for different devices, made to be delivered in different ways.
9. Find the zip file that has the correct device model and "ota" in the name - if using a Rak Wisblock RAK4631 then look for 4631 and ota in the name
10. Note where you have the file so you can find it later in the process
First part is done!
BEFORE PROCEEDING: MAKE SURE TO BACK UP YOUR SECURE KEYS AND ANY OTHER INFO YOU NEED FROM THE NODE! Once you start the process you will be unable to recover anything from the node.
Perform an OTA Firmware Update
Note: the DFU App has been updated to a much simpler process! The instructions below have been changed to reflect the update. Updated 1/28/26
1. Make sure you have disconnected from any nodes you want to update (i.e. disconnect in the Meshtastic App)
2. Open the nRF DFU App you previously installed
3. Under the "File "step in the app: Use the "Select" button to select the OTA Firmware that you previously downloaded (see above)
4. The file name and size will now be shown under the "File" step
5. Under the "Device" step in the app: Use the "Select" button to open the Scanner
6. If it asks - grant it permission to use your device's bluetooth connection
7. The App should now scan for bluetooth devices and show a list of all the devices it sees
8. Select the device that you want to update the firmware on - Make SURE this is the correct device! ALL devices close by that have bluetooth may show up on the list, sending the firmware to the wrong device may irrevocably corrupt that devices firmware.
9. Under the "Device" step the name and MAC address of the device will now be shown
NOTE:
When you choose "Start" the App immediately starts the update, make sure you are ready to proceed BEFORE selecting "Start"!
Verify that the "ota" firmware version and device model match before proceeding!
10. Under the "Progress" step select "Start" - the App will now start to upload and install the new ota firmware.
11. Wait and watch as it installs. - This will be somewhat slow, so expect at least 3-7 minutes. The app will show the progress with connection speeds as it updates.
12. Once complete the node will take a minute or two to load the firmware and restart. Give it a few minutes then follow the process in the Meshtastic App to connect to a new node (typically the node will have been reset during the process).
13. Setup your updated node as desired. Don't forget to restore your Security Keys if needed.
Congrats! You've just completed an OTA Firmware Update!