How to join NC Mesh
Join the group
Outside of the mesh network itself, we're most active in our public Discord Server.
Connect to the network
Quick Setup Guide
-
NC Mesh uses the default LongFast channel and settings, so that if you were to buy a radio and do nothing but configure the country, you could connect to the mesh and start talking (near zero configuration required). The catch is that you need node(s) within RF range of you that you can connect to the mesh through. If you follow this Quick Setup Guide and you don't see a lot of other nodes around you within a few hours, please use the detailed setup guide instead (it will help you get connected through MQTT).
-
Get a Meshtastic Radio.
- You can build one yourself for about $35. The official Meshtastic page keeps a current list of Supported Hardware. The LILYGO T-Echo is a good first meshtastic radio, as it costs around $70 and is ready to go out of the box (besides having to flash the firmware). If you are looking for a great small node to keep in your pocket, the T1000-E is a great choice as well.
- You can also buy a pre-built battery-powered radio for between $50-$100 on Etsy or eBay - these usually have 3D printed cases.
- If you can afford it, and have a place to mount it outside, we recommend you buy a pre-built solar-powered node for between $100 and $200 on Etsy and mount it as high off the ground as you can. Alternatively you can build your own.
- Download the Meshtastic App on your iPhone or Android.
- Pair your radio to your phone with Bluetooth
- Open the Meshtastic app and say hi!
Detailed Setup Guide for Apple/iOS
-
Get a Meshtastic Radio.
- You can build one yourself for about $35. The official Meshtastic page keeps a current list of Supported Hardware. The LILYGO T-Echo is a good first meshtastic radio, as it costs around $70 and is ready to go out of the box (besides having to flash the firmware). If you are looking for a great small node to keep in your pocket, the T1000-E is a great choice as well.
- You can also buy a pre-built battery-powered radio for between $50-$100 on Etsy or eBay - these usually have 3D printed cases.
- If you can afford it, and have a place to mount it outside, we recommend you buy a pre-built solar-powered node for between $100 and $200 on Etsy and mount it as high off the ground as you can. Alternatively you can build your own.
- Download the Meshtastic App on your iOS device.
- Open the Meshtastic app
- Click Bluetooth at the bottom of the app
- Find your radio in the list and click on it
- Enter the PIN shown onscreen, or 123456 if your node doesn't have a screen
- If you see UNSET (region), click on it and select "United States" (the device will reboot)
- Settings -> LoRa
- Region: United States
- Use Preset: on
- Presets: Long Range - Fast
- Ignore MQTT: off
- OK to MQTT: on
- Transmit Enabled: on
- Number of hops: 4
- Frequency Slot: 0
- RX Boosted Gain: On
- Frequency override: 0
- Transmit power: 30dBm
- Click Save
- Settings -> Channels
- Click on Primary Channel
- Do not modify channel details
- Postions Enabled: on
- Approximate Location: 0.9mi
- MQTT Uplink Enabled: on
- MQTT Downlink Enabled: on
- Click Save
- Click Add Channel
- Name: NCMesh (no space, case sensitive!)
- Key Size: Default
- Key: AQ== (this should be automatically entered when you select "Default" under "Key Size")
- Channel Role: Secondary
- Allow Position Requests: Off
- MQTT Uplink Enabled: on
- MQTT Downlink Enabled: on
- Click Save
- Settings -> User
- Long name: Name your node (up to 36 characters, shown on node list)
- Short name: Short name for your node (up to 4 characters)
- Licensed Operator (HAM mode): Off
- Settings -> Device
- Device Role:
- If you have a mobile/pocket/edc node: Client Mute
- If you have a stationary node that is poorly placed (ie: inside a house): Client Mute
- If you have a stationary node that is well placed (2nd floor window, roof, attic): Client
- If you have multiple nodes for camping/poor cell service/innawoods/etc: Client
- Rebroadcast Mode: All
- Node Info Broadcast Inteval: One Hour
- All other options can usually be left at their defaults
- Settings -> Position
- Broadcast Interval: 60 minutes
- Smart Position: on
- Minimum Interval: 30 Minutes
- Minimum Distance: 100
- Device GPS: Enabled if your device has GPS, Not Present if your device does not
- Update Interval: 30 Minutes
- Position Flags: Only enable metrics you need. Suggest enabling altitude, satellites, and timestamp only.
- All other options can usually be left at their defaults
- Settings -> MQTT
- Enabled: on
- MQTT Client Proxy: on
- Encryption Enabled: on
- JSON Enabled: off
- Map Report, Enabled: on
- Map Publish Interval: One Hour
- Approximate location: 0.9mi
- Root Topic: msh/US (case sensitive)
- Address: mqtt.ncmesh.net
- Username: meshdev
- Password: large4cats
- TLS Enabled: off
- Say Hi!
- Open the app
- Click Messages
- Click Channels
- Click Primary Channel or NC Mesh
- Type a message!
Detailed Setup Guide for Android
-
Get a Meshtastic Radio.
- You can build one yourself for about $35. The official Meshtastic page keeps a current list of Supported Hardware. The LILYGO T-Echo is a good first meshtastic radio, as it costs around $70 and is ready to go out of the box (besides having to flash the firmware). If you are looking for a great small node to keep in your pocket, the T1000-E is a great choice as well.
- You can also buy a pre-built battery-powered radio for between $50-$100 on Etsy or eBay - these usually have 3D printed cases.
- If you can afford it, and have a place to mount it outside, we recommend you buy a pre-built solar-powered node for between $100 and $200 on Etsy and mount it as high off the ground as you can. Alternatively you can build your own.
- Download the Meshtastic App on your Android device.
- Pair your radio to your phone with Bluetooth
- Open the Meshtastic app
- Click the + sign at the lower right corner, then click allow
- Find your radio in the list and click on it
- Enter the PIN shown onscreen, or 123456 if your node doesn't have a screen
- Click allow when prompted for notifications
- If you see UNSET (region), click on it and select "United States" (the device will reboot)
- Click the three dots at the upper right corner and click on Radio configuration
- User
- Long name: Name your node (up to 36 characters, shown on node list)
- Short name: Short name for your node (up to 4 characters)
- Licensed Operator (HAM mode): Off
- Click send, click close, and click the back arrow at the top
- Channels
- Click on LongFast
- Do not modify channel details
- Uplink: Enabled
- Downlink: Enabled
- Position: Enabled
- Precise location: Disabled
- Location Slider: Set to 1.8mi (or larger if desired)
- Click Save
- Click + to add a channel
- Channel Name (case sensitive): NCMesh
- PSK (case sensitive): AQ==
- Uplink: Enabled
- Downlink: Enabled
- Position: Enabled
- Precise location: Disabled
- Location Slider: Set to 1.8mi (or larger if desired)
- Click Save
- Validate that you see two channels: LongFast and NCMesh
- Click send, click close. then click the back arrow at the top
- Device
- Device Role:
- If you have a mobile/pocket/edc node: Client Mute
- If you have a stationary node that is poorly placed (ie: inside a house): Client Mute
- If you have a stationary node that is well placed (2nd floor window, roof, attic): Client
- If you have multiple nodes for camping/poor cell service/innawoods/etc: Client
- NodeInfo broadcast interval: 3600 Seconds
- All other options can usually be left at their defaults
- Scroll down, click send, click close, and click the back arrow at the top
- Position
- Position Broadcast Interval: 3600 Seconds
- Smart broadcast minimum interval: 1800 Seconds
- GPS Update Interval: 1800 Seconds
- Scroll down and click send, close, and then click the back arrow at the top
- LoRa
- Change the hop limit to 4 (5 if you are routing through some repeater/etc at home)
- Scroll down, OK to MQTT: Enabled
- Click send, click close, and then click the back arrow at the top
- MQTT
- MQTT Enabled: Enabled
- Address: mqtt.ncmesh.net
- Username (default, no need to change): meshdev
- Password (default, no need to change): large4cats
- Encryption enabled: Enabled
- Root topic (case sensitive): msh/US
- Proxy to client enabled: Enabled
- Map reporting: Enabled
- Map Report, Enabled: on
- Precise location: disabled
- Approximate location: 1.8mi
- Map reporting interval: 900 Seconds
- Click send, click close, and then click the back arrow at the top twice to return to the main screen
- Say Hi!
- Open the app
- Click the message bubble at the top left
- Click on LongFast or NCMesh
- Type a message!
Best practices
TL;DR;
- Role: Client (NOT Router & Client)
- Hop Count: 4
- Broadcast intervals(info, position, telemetry): 1 hour
This is a community driven project, following these guidelines will ensure the best experience for everyone as we continue to grow.
Device Role
It may be tempting to set your device to ‘client/router’ or one of the other infrastructure modes, however from our extensive testing we’ve seen the best results for the end user, and the network as a whole using the ‘client mute’ or 'client' roles. Meshtastic does not currently have any intelligent routing built into the firmware. Nodes are set to rebroadcast any message they receive that they have not heard rebroadcast from another node at a random time interval. The ‘client/router’ and other infrastructure roles take that random interval and subtracts another random interval ensuring that they rebroadcast first.
While this may sound good on paper, due to constantly changing environmental variables you may be inadvertently creating dead ends in the network, bypassing intended recipients, and closing off redundant routing paths. We highly recommend starting with ‘client mute’ for mobile users and nodes that aren't well placed (where someone else may be able to relay through it). For well placed nodes (2nd story window, attic, roof, etc) 'client' is recommended. For extremely well placed nodes with higher power or nodes on mountains or towers, 'router' is fine to use.
'client mute' is great for device connected nodes (the ones you're sending messages from) that are not contributing to the network (not outdoor nodes) as it reduces overall network airtime (network load). An example of this would be a device connected node in your home that is connected to MQTT or goes through a relay node on your roof.
Hop Count
We recommend starting with a hop count of 4, and always using the minimum number of hops needed to reach your destination. If you are running a device connected node in your home and a relay node that your client always goes through, a hop count of 5 is advised. If you are on the edge of the network and are not achieving results with the above, 6 hops may be useful however we recommend ensuring that you've done all you can with regard to optimizing your node hardware and placement first, if these are not taken care of additional hops will not yield greater distance and will degrade the performance of the wider network.
Broadcast Interval (Position, Telemetry, Node Info)
In order to reduce overall channel utilization and ensure messages are delivered we recommend the following settings for everyday use unless you have a specific use case or are running a test that requires more frequent updates.
Device Config
Node Info Broadcast Interval: 1 Hour
Position
Broadcast Interval: 1 Hour, Enable Smart Position, Minimum Interval: 30 Minutes, Minimum Distance: 100, GPS Update Interval: 30 Minutes, Position Flags: Disable all flags that are not explicitly needed for your use case.
MQTT
Opinions on using MQTT with Meshstastic are widely varied. Some Meshtastic users and groups have chosen not to use MQTT with Meshtastic in the spirit of building out a stronger RF based mesh network. Building out RF coverage is a noble goal that we all share, but we feel that MQTT has a lot of utility (especially in the early days of mesh building).
We use MQTT to bridge RF gaps in order to connect pockets of users throughout the state into a single mesh. We also leverage MQTT for hop count reduction. 7+ hops from Raliegh to Asheville can be reduced to two hops through MQTT (node->raleigh router->asheville router->node)
MQTT is also great for mobile/pocket nodes. You can stay connected to the mesh no matter where you are (or what local RF coverage looks like).
Our MQTT server is private, so your nodelist will only reflect other NC Mesh nodes/users (not the entire US/planet), and the probability of unwanted messages/spam coming across MQTT is greatly reduced.