Freq51 - The Intermountain Mesh
Meshtastic® lets you use inexpensive LoRa radios as a long-range, off-grid communication platform where regular infrastructure is unreliable or unavailable. It’s community-driven and open source. Radios automatically form a mesh, forwarding packets to neighbors (up to 7 hops from origin). Phones are optional. The Freq51 community is building an open community mesh that anyone here can join. This network is intended as a tool for emergency/disaster response and off-grid coordination and hobbyist projects. No license is required to use Meshtastic (unless you intentionally enable Ham Mode). Meshtastic is under active development and not a life-critical service.
Joining
- Get supported hardware from the Meshtastic list.
- Join our Discord for local help and announcements.
- Read the FAQ and Configuration pages below.
- See Equipment for example builds / coverage once published, and Infrastructure for deployed nodes.
Links
- Supported Hardware: https://meshtastic.org/docs/getting-started/supported-hardware
- freq51 Discord: Official Meshtastic Discord –> Connect Forum –> US-Utah && US-ID
MQTT and Maps
MQTT (Message Queue Telemetry Transport) is a lightweight pub/sub protocol. Meshtastic can uplink device info and messages to an MQTT server. This enables:
- Computer ↔ node integrations without using LoRa.
- Uplink/Downlink bridging so two distant nodes can exchange messages via internet when out of LoRa range. We ideally would like to avoid MQTT downlink at all costs. It floods the network.
- Maps & analytics (position/telemetry), delivery reports, and tooling. If you want your node on the map.
Our stance: We prioritize a healthy RF mesh first. MQTT is useful for mapping, analytics, but please avoid flooding RF with downlinked internet traffic.
Freq51 Map
- Public Map: (Placeholder)
Good practices
- If your node is directly connected to an MQTT server, do not enable downlink on public RF channels (e.g., LongFast). That can spam RF. Nodes not on MQTT can use “Ignore MQTT,” and that setting is requested to be on by default when operating on our mesh unless you need MQTT.
Member Projects
Some cool freq51-adjacent projects we love to showcase (add yours!):
- TBD
Submit a PR to add your project here.
Other Local Groups
Meshtastic keeps a running list of local groups worldwide. If you’re traveling or collaborating across regions, check there and cross-link back to freq51 once we’re listed.
- Meshtastic Local Groups Directory: https://meshtastic.org/docs/community/local-groups/
FAQ
New User Expectations
Meshtastic is rapidly evolving, not a fully polished product. Expect quirks. For best results with a fresh device: put it somewhere with decent LOS (a window works) and let it run overnight. It takes time for nodes to discover each other. Users who share their position (GPS or fixed coordinates) will show up on public maps. Its a good way to test a solar setup as well.
We currently recommend a local map (TBD: map URL) for nodes that opt in to share their position. You won’t see every node—only those that choose to appear or are heard by an MQTT-uplinking node nearby.
FAQ’s
-
What firmware version should I flash?
Ask in freq51 Discord; “latest” isn’t always best for local stability. We track known issues and local norms. We currently prefer 2.6.11 as of 8/16/2025 -
Where’s the QR/URL to join the local mesh?
We don’t recommend QR codes/URLs for public channels. They silently change additional LoRa settings (e.g., TX power, hop count). Enter channel names/keys manually and verify settings after import. -
Which role should I use: ROUTER or CLIENT?
UsuallyCLIENT
orCLIENT_MUTE
. Router roles (ROUTER
,ROUTER_LATE
, etc.) rebroadcast everything they hear and can harm network health if overused or poorly placed. Use router roles only when coordinated with the group.Device Roles
Meshtastic devices can take on different roles depending on how you want them to behave on the mesh. Picking the right role is important for network health. Each role has a default rebroadcast mode (how it repeats messages) which you’ll see in the apps.
-
Client
- Default role for most users.
- Sends and receives messages normally.
- Shows up on maps if you share GPS or fixed position.
- Rebroadcast mode:
All
(repeats your own + direct messages when needed). - Best for portable or handheld nodes or roof nodes for relaying indoor nodes.
-
Client Mute
- Same as Client, but does not rebroadcast messages.
- Saves battery and avoids adding unnecessary traffic.
- Still sends and receives messages for its owner.
- Best for indoor nodes or mobile nodes
- Rebroadcast mode:
Local
.
-
Client Hidden
- Behaves like Client, but your node does not appear in other users’ node lists.
- Useful for privacy or stealth use-cases.
- You can still send and receive messages normally.
- Best for extremely low traffic stealthy nodes
- Rebroadcast mode:
Known Only
(like Client).
-
Router
- A fixed, always-on node that rebroadcasts everything it hears.
- Extends network reach and coverage for others.
- Should only be used when:
- The node is in a good location (elevation, clear and wide Line of Sight).
- It has reliable power (mains power or solar-battery (large pack) ).
- It has a stable, high gain, preferably lightning arrested antenna setup.
- It has a filter on the RF chain
- Rebroadcast mode:
CORE_PORT_NUMS_ONLY
. (we actually desire ALL so please switch. See configuration details) - Overuse of routers can cause congestion.
-
Router Late
- A router that waits briefly before retransmitting messages.
- Reduces “echo storms” when many routers are present.
- Must posses a filter on the RF chain
- Best used in dense networks with multiple routers to avoid collisions and connecting to geographically seperate areas
- Should be coordinated with other router owners.
- Rebroadcast mode:
All (delayed)
.
Choosing the Right Role
- Most people - Outdoor:
Client
- Most people - Indoor:
Client Mute
, orClient Hidden
- Fixed/always-on with power and good placement between 5500 ft and 8000 ft:
Router Late
- Fixed/always-on with power and good placement above 8000 ft:
Router
⚠️ Tip: Too many routers (or routers in bad spots) can hurt the mesh. When in doubt, stick to
Client
. -
Why Improperly Applying Router and Repeater Roles Is Harmful
If a poor location is chosen for Routers and Repeaters, it can cause some of these issues:
-
Increased rate of packet collisions
Because Routers, Router Lates and Repeaters always rebroadcast, when too many devices use these roles and are direct neighbors, packets will often be rebroadcast at the same time. This creates higher noise levels and packet error rates, frequently resulting in sporadic delivery failures. -
Decreased overall range
An improperly located router may prematurely consume (“hop gobble”) packets routing through it. This uses up a hop before the packet can reach strategically placed nodes. For example, if many Routers are deployed in a valley, they can consume all available hops before the packet can reach a node placed on a peak above the valley, greatly limiting range. This is exactly what occurs on frequency slot 20 which is the default preset. We have moved for this reason. Please be polite -
Asymmetrical links
Similar to decreased range, poor router placement can result in asymmetrical communication—where one part of the mesh can send messages to another group, but the reverse path fails. This happens because hops are consumed too early, blocking return messages. This is the classic hidden node problem. Users often react by increasing the hop limit to compensate, but this only worsens congestion by consuming more airtime. Your hop limit should be set to the lowest reasonable number of hops to reach your destination +1 for reliable links. If you do wish to see the entire mesh you can increase to 7 but be aware of what you are doing.
-
What’s LongFast vs LONG_FAST?
LongFast is the default channel name when using the LONG_FAST modem preset. LONG_FAST is a preset (like MEDIUM_FAST, SHORT_FAST, etc.) that bundles LoRa parameters. -
How do I know I’m connected?
Seeing other nodes in your node list is a good sign. Try a message to LongFast or a direct message to a known node.
Meshtastic Configuration
These sections help you choose settings that work well for you and for the mesh. See the FAQ for troubleshooting. Locally we’re still building out on the FS51 with the default LongFast North America slot/preset (see below), but freq51 may coordinate short-term trials (e.g., ShortFast) as needed.
Freq51 LongFast (As of 8/15/2025):
- LONG_FAST preset, slot 51 → 914.625 MHz
Exact slot counts and defaults depend on preset; see Meshtastic docs for details.
Default Configurations (We are not using this)
By default, fresh Meshtastic radios on NA region can talk on LongFast (channel name) using the LONG_FAST preset and default slot. A typical setup is a radio paired to your phone via Bluetooth. No internet is required. When out of direct range, your messages hop across other nodes.
Understanding “hops”
A hop is a relay through another node. Use the lowest hop limit that reliably reaches your contacts. The default 3 hops can cover many miles in dense meshes, but higher hops increase airtime and congestion. If you wish to see the entire mesh, set your radio to 7 hops. We can handle the extra congestion for now.
Understanding Rebroadcast Logic and Role Priorities
Understanding how rebroadcasting works in Meshtastic helps avoid network congestion and explains why Router roles should be used carefully.
Contention Windows
- Clients and Routers/Repeaters do not share the same contention window.
- Clients and Router_Lates (RLs) do share a window — but RLs will defer to the end of the contention window if they hear another node.
Simplified Priority Order
- Router & Repeater
- Rebroadcast first.
- Clients (Client, Client Hidden, Client Mute, Router Client)
- Rebroadcast after Routers/Repeaters, but cancel if they overhear another rebroadcast.
- Router Late (RL)
- Rebroadcasts last, only if no one else has already done so.
Detailed Rebroadcast Logic
When a packet is received:
- Check hop limit
- If
hop_limit = 0
, do not rebroadcast.
- If
- If I am a Router or Repeater:
- Wait a small random delay (shorter if SNR is poor).
- Wait until the channel is clear.
- Transmit.
- If I am not a Router or Repeater:
- Wait until after the maximum possible Router/Repeater delay.
- Add a slightly longer random delay (scaled by SNR).
- If another node rebroadcasted and I am not Router_Late → cancel rebroadcast.
- Otherwise transmit.
- If I am Router Late:
- If another rebroadcast was heard:
- Wait until after all other possible delays, then add another random delay (scaled by SNR).
- Transmit only if the channel is still clear.
- If another rebroadcast was heard:
Why This Matters
- Routers and Repeaters go first → they form the backbone of coverage.
- Clients go second → they fill in only if no Router/Repeater is nearby.
- Router Lates go last → a safety net to ensure delivery without creating echo storms.
Implementation Notes
Most of this logic is implemented in:
RadioLibInterface.cpp
RadioInterface.cpp
FloodingRouter.cpp
A flowchart would be an excellent addition here to visualize priority and timing.
Recommended Configurations
If you can’t find a setting in the app, check Meshtastic docs (each page has iOS/Android/CLI/Web tabs).
Router Nodes
Use when node is a router
Paths to check (App tabs may vary):
Radio > User
, Radio > Device
, Radio > Position
, Radio > LoRa
, Radio > Bluetooth
, Modules > Neighbor Info
, Modules > MQTT
- Short name: Call sign; 4 Characters; Routers use a specific naming scheme, i.e FPR –> Francis Peak Router
- Long name: Routers use a specific naming scheme, i.e FPR –> Francis Peak Router
- Licensed amateur radio:
FALSE
(unless you’re operating in Ham Mode knowingly; encryption is disallowed on ham). HAM band operation is on Frequency Slot 45. Please do not use it on Frequency Slot 51. - Role: Usually
Router
but can be Router Late depending on placement. Router roles only by coordination. - Rebroadcast mode:
ALL
(We want routers to pass all traffic not be a filter) - Node Info Broadcast Interval:
86400
s - GPS Mode:
ENABLED
if present, else use Fixed Position. - Fixed Position: Often
TRUE
for stationary nodes (set via CLI or phone). Unless GPS is desired for timekeeping. (really useful) - Position Broadcast Interval:
86400
s - Region:
US
- Hop Limit:
7
- OK to MQTT:
TRUE
(helps appear on map via others’ uplinks) - Telemetry:
1800
s per timing interval of attached peripheral - Neighborinfo:
ON, Transmit over Lora ON, 14400 Interval
- Required Channels:
LongFast and Freq51
Note: Neighbor Info is no longer shared across the mesh on
long_fast
and thus we require the additional Freq51 MQTT and Neighborinfo Channel.
Router Late Nodes
Paths to check (App tabs may vary):
Radio > User
, Radio > Device
, Radio > Position
, Radio > LoRa
, Radio > Bluetooth
, Modules > Neighbor Info
, Modules > MQTT
- Short name: Call sign; 4 Characters; Routers use a specific naming scheme, i.e FPR –> Francis Peak Router
- Long name: Routers use a specific naming scheme, i.e FPR –> Francis Peak Router
- Licensed amateur radio:
FALSE
(unless you’re operating in Ham Mode knowingly; encryption is disallowed on ham). HAM band operation is on Frequency Slot 45. Please do not use it on Frequency Slot 51. - Role:
Router Late
- Rebroadcast mode:
ALL
(We want routers to pass all traffic not be a filter) - Node Info Broadcast Interval:
43200
s - GPS Mode:
ENABLED
if present, else use Fixed Position. - Fixed Position: Often
TRUE
for stationary nodes (set via CLI or phone). Unless GPS is desired for timekeeping. (really useful) - Position Broadcast Interval:
43200
s - Region:
US
- Hop Limit:
7
- OK to MQTT:
TRUE
(helps appear on map via others’ uplinks) - Telemetry:
1800
s per timing interval of attached peripheral - Neighborinfo:
ON, Transmit over Lora ON, 14400 Interval
- Required Channels:
LongFast and Freq51
Note: Neighbor Info is no longer shared across the mesh on
long_fast
and thus we require the additional Freq51 MQTT and Neighborinfo Channel.
Clent Nodes (Stationary or Outdoors)
Paths to check (App tabs may vary):
Radio > User
, Radio > Device
, Radio > Position
, Radio > LoRa
, Radio > Bluetooth
, Modules > Neighbor Info
, Modules > MQTT
- Short name: Call sign; 4 Characters;
- Long name: Whatever you wish;
- Licensed amateur radio:
FALSE
(unless you’re operating in Ham Mode knowingly; encryption is disallowed on ham). HAM band operation is on Frequency Slot 45. Please do not use it on Frequency Slot 51. - Role:
Client
- Rebroadcast mode:
ALL
- Node Info Broadcast Interval:
21600
s - GPS Mode:
ENABLED
if present, else use Fixed Position. - Fixed Position: Often
TRUE
for stationary nodes (set via CLI or phone). Unless GPS is desired for timekeeping. (really useful) - Position Broadcast Interval:
21600
s - Region:
US
- Hop Limit:
Highest Needed Number +1
- OK to MQTT:
TRUE
(helps appear on map via others’ uplinks) - Telemetry:
1800
s per timing interval of attached peripheral - Neighborinfo:
ON, Transmit over Lora ON, 14400 Interval
- Required Channels:
LongFast and Freq51
Note: Neighbor Info is no longer shared across the mesh on
long_fast
and thus we require the additional Freq51 MQTT and Neighborinfo Channel.
Clent Mute Nodes (Mobile or Indoors)
Paths to check (App tabs may vary):
Radio > User
, Radio > Device
, Radio > Position
, Radio > LoRa
, Radio > Bluetooth
, Modules > Neighbor Info
, Modules > MQTT
- Short name: Call sign; 4 Characters;
- Long name: Whatever you wish;
- Licensed amateur radio:
FALSE
(unless you’re operating in Ham Mode knowingly; encryption is disallowed on ham). HAM band operation is on Frequency Slot 45. Please do not use it on Frequency Slot 51. - Role:
Client Mute
- Rebroadcast mode:
Local Only
- Node Info Broadcast Interval:
Whatever You Like
s - GPS Mode:
ENABLED
if present, else use Fixed Position. - Fixed Position: Often
TRUE
for stationary nodes (set via CLI or phone). Unless GPS is desired for timekeeping. (really useful) - Position Broadcast Interval:
Whatever You Like
s - Region:
US
- Hop Limit:
Highest Needed Number +1
- OK to MQTT:
OFF
- Ignore MQTT:
ON
- Telemetry:
No more often than 1800
s per timing interval of attached peripheral - Neighborinfo:
OFF
- Required Channels:
LongFast
Clent Hidden Nodes (Stealth Nodes)
Paths to check (App tabs may vary):
Radio > User
, Radio > Device
, Radio > Position
, Radio > LoRa
, Radio > Bluetooth
, Modules > Neighbor Info
, Modules > MQTT
- Short name: Call sign; 4 Characters;
- Long name: Whatever you wish;
- Licensed amateur radio:
FALSE
(unless you’re operating in Ham Mode knowingly; encryption is disallowed on ham). HAM band operation is on Frequency Slot 45. Please do not use it on Frequency Slot 51. - Role:
Client Hidden
- Rebroadcast mode:
Known Only by default. If you have a fresh node stay on Local Only
- Node Info Broadcast Interval:
4294967295
s - GPS Mode:
ENABLED
if present, else use Fixed Position. - Fixed Position: Off
- Position Broadcast Interval:
OFF
- Region:
US
- Hop Limit:
Highest Needed Number +1
- OK to MQTT:
OFF
- Ignore MQTT:
ON
- Telemetry:
OFF
s per timing interval of attached peripheral - Neighborinfo:
OFF
- Required Channels:
LongFast
Get on the Map
To appear on the map:
Channels > Primary
Modules > MQTT
- Allow Position Requests:
TRUE
- Precise Location:
TRUE
- Approximate Location: choose a value you’re comfortable with
If Enabling MQTT
- Uplink Enabled:
TRUE
- Downlink Enabled:
FALSE
(prevents pulling internet traffic into RF) - Enabled:
TRUE
- MQTT Server Address: Message on LongFast for details or reach out on Discord
- Username/Password: Message on LongFast for details or reach out on Discord
- Encryption:
TRUE
- JSON:
FALSE
- TLS:
FALSE
- Root Topic:
msh/US/UT
- Map Reporting Enabled:
TRUE
- Map Report Publish Interval: Fixed
Same as standard config broadcast interval
s; Portableno more frequent than 600
s - Approximate Location: set as desired
Local Channels
We will not be providing nor publish QR codes or Meshtastic URLs for public channels. They can also change LoRa settings (hop count, OK to MQTT, TX power) invisibly. Enter channel names/keys manually. If you would like to create a channel for a specific purpose but wish it to be public use; contact us and we will add it to the documentation as requested.
LongFast
Default community channel on LONG_FAST. We use this channel to connect the mesh together on a unified unencrypted channel and also broadcast. This resides in our secondary channels
Channel Name | PSK | Modem Preset | Slot | Ham Mode |
---|---|---|---|---|
LongFast | AQ== | LONG_FAST | 51 | Off |
Freq51
The trusted telemetry, neighborinfo and MQTT channel on LONG_FAST. This must be in slot 0 if you wish to use this channel properly. We use this channel to collect important metrics on the mesh network and also use it for encrypted infrastructure chat. Please speak to us on discord or through LongFast in order to obtain the details to this channel and how to utilize it. There are some stipulations involved. We dont want to control what you do with your device but this channel needs some control to maintain accurate data.
Channel Name | PSK | Modem Preset | Slot | Ham Mode |
---|---|---|---|---|
Freq51 | KEY UPON REQUEST | LONG_FAST | 51 | Off |
DC801
This is the local hackerspace channel. The key is only found at the hackerspace. Come join us!
Channel Name | PSK | Modem Preset | Slot | Ham Mode |
---|---|---|---|---|
ShortFast | access hackerspace for key | LONG_FAST | 51 | Off |
Freq51 Infrastructure
This page lists deployed routers, router lates, and strategically placed clients. Each entry has a spec table followed by a Site survey with associated images. North views are shown first when both are available.
Routers
FPR — Francis Peak Router
Location: Francis Peak (Tertiary Peak)
Node Name | Radio | Antenna | Battery | Solar | Modem Preset | Slot | Rebroadcast Mode | Firmware |
---|---|---|---|---|---|---|---|---|
FPR – Francis Peak Rtr | Heltec T114V2 + Airbuddy AMP 1 W | Alfa 5 dBi Omni | 1S12P EVE ICR18650 (30.6 Ah) | 5 W | LONG_FAST | 51 | ALL | 2.6.11 |
Possesses a BME680 for weather & air-quality telemetry every 1800 s.
Site survey
North
South
LMR — Lake Mountain Router
Location: Lake Mountain Radio Tower
Node Name | Radio (modules + enclosure) | Antenna | Battery | Solar | Modem Preset | Slot | Rebroadcast Mode | Firmware |
---|---|---|---|---|---|---|---|---|
LAKE – Lake Mountain Rtr | RPi CM3 · Ebyte E22-900M30S · Taoglas filter · Nebra Miner Enclosure | 3 dBi | Hard-wired | N/A | LONG_FAST | 51 | ALL | Latest Alpha (auto) |
Site survey
North/South
NPR — Nelson Peak Router
Location: Nelson Peak
Node Name | Radio | Antenna | Battery | Solar | Modem Preset | Slot | Rebroadcast Mode | Firmware |
---|---|---|---|---|---|---|---|---|
NPR – Nelson Peak Rtr | RAK19003 + RAK4631 | 4 dBi | 2 × 18650 | 6 W | LONG_FAST | 51 | ALL | 2.3.2 |
Site survey
North
South
Router Lates
AUR — Aurora Uranialis
Location: Ensign Peak
Node Name | Radio | Antenna | Battery | Solar | Modem Preset | Slot | Rebroadcast Mode | Firmware |
---|---|---|---|---|---|---|---|---|
AUR – Aurora Uranialis | RAK4631 + GPIO Labs ISM filter | Alfa 5 dBi Omni | 1S4P 21700 Molicel P50B (20 Ah) | 10 W | LONG_FAST | 51 | ALL | 2.6.4 |
Includes BME680 telemetry every 1800 s.
Site survey
North
South
C6C — Aurora Ceresia
Location: Hill AFB – Weber State overlook
Node Name | Radio | Antenna | Battery | Solar | Modem Preset | Slot | Rebroadcast Mode | Firmware |
---|---|---|---|---|---|---|---|---|
C6C – Aurora Ceresia | RAK4631 + GPIO Labs ISM filter | Alfa 5 dBi Omni | 1S4P 21700 Molicel P50B (20 Ah) | 10 W | LONG_FAST | 51 | ALL | 2.6.4 |
Site survey
POTM — Point of the Mountain
Location: North-facing ridgeline
Node Name | Radio | Antenna | Battery | Solar | Modem Preset | Slot | Rebroadcast Mode | Firmware |
---|---|---|---|---|---|---|---|---|
POTM – Router Late | RAK19003 + RAK4631 | 4 dBi | 2 × 18650 | 6 W | LONG_FAST | 51 | ALL | 2.6.10 |
Site survey
North
South
Strategically Placed Clients
WC1 — Wasatch Crest 1
Location: Desolation Peak
Node Name | Radio | Antenna | Battery | Solar | Modem Preset | Slot | Rebroadcast Mode | Firmware |
---|---|---|---|---|---|---|---|---|
WC1 – Wasatch Crest 1 | RAK4631 | Alfa 5 dBi Omni | 2× Molicel 21700 P42A 8.4Ah | 3 W | LONG_FAST | 51 | ALL | 2.6.4 |
WC2 — Wasatch Crest 2
Node Name | Radio | Antenna | Battery | Solar | Modem Preset | Slot | Rebroadcast Mode | Firmware |
---|---|---|---|---|---|---|---|---|
WC2 – Wasatch Crest 2 | XIAO NRF52 | Ziisor TX915-JKS-20 | 2× Samsung 35E 18650 (7 Ah) | 6 W | LONG_FAST | 51 | ALL | 2.6.11 |
Our Equipment
This page will host Freq51 Mesh builds and their approximate coverage maps. Use them to align your setup if you’re inside coverage areas (red). Note that different nodes may run different software. Some builds will run the meshing around BBS system. These are select router nodes with high remote power requirements and recommended to be spaced within 5 hops of each other for consistent relaying. Other nodes are low power. We currently prefer NRF52 based infrastructure nodes for <1W TX power or femtofoxes and Nebra custom miner nodes for 1W TX power. All routers must feature a filter. Filtering is optional on non infrastructure nodes.
NRF52 Node Example
- ABS 7.9“ x 3.9“ x 2.8“ enclosures are a great size/price/quality (or similar).
- https://www.amazon.com/YETLEBOX-Waterproof-Electrical-Stainless-Enclosure/dp/B0C2HHJFST/ref=sr_1_2?crid=LIJ31JNYUCR7&dib=eyJ2IjoiMSJ9._kDaTRA31iLXv6vlTYKuO0pDsUEugs_HmkCA9pwc2zCF1I3AbM6jD0Frvc3pX8w_zUm6j4_axv6Msme0NbR993vCp1VINFJWvP-oPFmYGehamnZD1OpIUKoTLM2XBqOSK7x4UQDFKbqyW_3B3qQqI30Blauy7rClXIgo7H43TU1VhH2aF_73U5jpkGTrPQJW3j5skapkpS4AKkddwD5hWThbv_j2ebEWOEUVQmSJjmxtVBHLjJYFBWev_qefW50QqtL9IST_O5Qhhfflm4NDAMu2MZks9yeN8c1tFC5Wa24.KKr8mtidIZCuSaaxAxVHZpBXWaA8Y_CbnJ33qeqnK7I&dib_tag=se&keywords=yetlebox%2Boutdoor%2Bwaterproof%2Belectrical%2Bbox%2Bjunction%2Bbox%2B5.9&qid=1755366655&sprefix=yetlebox%2Boutdoor%2Bwaterproof%2Belectrical%2Bbox%2Bjunction%2Bbox%2B5.9%2Caps%2C133&sr=8-2&th=1
- Butyl tape OR LEXEL seals antenna passthroughs and is great for making outer seals as lexel sticks to itself (don’t block included gaskets).
- https://www.amazon.com/Sashco-13010-Lexel-Adhesive-Caulk/dp/B01LZA2H2L/ref=sr_1_3?crid=20FFDO5PL77RI&dib=eyJ2IjoiMSJ9.IWjtLSO7dP1B0wU7SI4mwrsc7vTHE5dLJlRZbQZ9qtnacgGXjQaUXMNUrRqRgNG_Ex4-VsrZgHSxhKzpk5ywoxMDBEhxgMMsm_xw3IOt5Y5WeOC2Umk8ntx8-dQAxckmkniEKQ9ucMq9u7821YN5PStpxqwakxooM5wQPCb5A2tTYI1uSFG5TbtGjmyy9xZkVfAFM3iSb82Vwo59-f7eh7Xo7lp4-ArYbC1qoI7GTsg.d2Ds6MRzvKrvbPcOtWewkoAZm0I5wUlq44byWF20hSk&dib_tag=se&keywords=Lexel&qid=1755368241&sprefix=lexel%2Caps%2C163&sr=8-3&th=1
- Adafruit bq25185 USB / DC / Solar Lithium Ion/Polymer charger modules are handy for charging packs while radios are disconnected/in storage and its a great small MPPT (remove charge LED for small solar if needed).
- https://www.adafruit.com/product/6091
- “Soshine” solar panels with regulated 5 V output are convenient and include a mounting pole.
- https://www.amazon.com/Soshine-Mini-Solar-Panel-Monocrystalline/dp/B099RSLNZ4/ref=sr_1_2?crid=348TED5BX2MPM&dib=eyJ2IjoiMSJ9.Y2MAhPwRjb21dP3dIvYVX0X83498TTRdNulpsJjA7yEmSeemA8OJIy1urQJCR-gjJLTqrZupAnSkBbDPfjVhzgMx8AZwXDsLutRDn8k5GwGZXwmjah9w2o9AyAfhGMHCBHKlDx6DbRbsJ5ska0CKRhqVk_R-SxuBaXJU2RazNUHEFy5RCGNZdH5AJN1FrZtWOFvKQRS35-8NQnAmEcEBb8yTJ5KOESkI9LZFhEDszN4a6A61r278mrRTqFcuvSdPi76_txjTRHJJk0PZkVCf_ef2awZ1xtNMLR1PXf4uPVM.jfwvgLkYTfVluMIUVQKl_oWrdSHd9uwIHrjcC3Qw9sw&dib_tag=se&keywords=soshine&qid=1755368307&sprefix=soshine%2Caps%2C167&sr=8-2&th=1
- UV-protect plastics & seal passthroughs: LEXEL has worked well.
- Use the battery connector as a service “switch” inside; add an external waterproof switch only when tool-access enclosures demand it.
- Add a small weep hole on the bottom for pressure equalization and drainage. This is also useful if you have weather sensors. Add a small fabric baffle and place the sensor behind it. We like Bosch BME680’s for weather data.
- Lube gaskets (e.g., silicone grease) to reduce drying/cracking and improve seals.
- After many trials, Alfa 5 dBi omni antennas have been a solid value: short (less wind load), N-male fits through-panel connectors, reliable wide beam.
We are going to fill out standard builds as we improve the documentation. Feel free to drop by the discord and suggest yours
Femtofox Node Example
TBA
Nebra Node Example
TBA
PiZero Node Example
TBA
Bird House Node Example
TBA
Tips for placement
TBA
Nebra Miner (DietPi + meshtasticd)
Why repurpose a Nebra?
- Great enclosure & RF path: sturdy case, antenna feedthrough, easy to mount. Many miners are cheap on the used market.
- Linux-native reliability: running Meshtastic on a Pi with
meshtasticd
is rock-solid for infrastructure nodes (MQTT uplink, remote admin, logging). - 1 W class radio option: with the community NebraHat (SX1262) from @wehooper4, you get a clean SPI radio layout and a drop-in hardware preset.
What to buy
Minimum parts
- Nebra Outdoor Hotspot enclosure from Ebay. Don’t spend more than $50. The nebra comes with:
- Raspberry Pi CM3
- 32 GB Emmc
- Built-in POE
- Wifi Card & Antenna
- 915Mhz Antenna
- Waterproof Aluminum Enclosure
- NebraHat (SX1262, 1 W) by @wehooper4 (community board). You have to build this yourself or buy from a group buy.
- Right now @bashNinja has about 10 left from a previous group buy.
Nice-to-have
- AHT20 sensor for weather telemetry inside the enclosure.
- A better antenna, such as the a 5dBi Alfa from Rokland.
- A sealant for the enclosure such as Lexel or Permatex
⚠️ Heads-up on other HATs
The pinout on the nebra is different than the standard Raspberry Pi pinout. This makes most hats incompatible unless you fix the pinout.
Quick start (DietPi + meshtasticd)
We’ll use DietPi (Debian 12 base) and the official Meshtastic Debian repo for
meshtasticd
.
-
Flash DietPi
Grab the DietPi image and flash it to your microSD. First boot, set your basics (hostname, SSH, etc.). -
Enable hardware interfaces
dietpi-config
→ Enable SPI and I2C. Reboot.
-
Install dependencies & meshtasticd
sudo apt update sudo apt install -y libgpiod-dev libyaml-cpp-dev libbluetooth-dev openssl libssl-dev libulfius-dev liborcania-dev curl -fsSL https://download.opensuse.org/repositories/network:Meshtastic:beta/Debian_12/Release.key \ | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/network_Meshtastic_beta.gpg echo 'deb http://download.opensuse.org/repositories/network:/Meshtastic:/beta/Debian_12/ /' \ | sudo tee /etc/apt/sources.list.d/network:Meshtastic:beta.list sudo apt update && sudo apt install -y meshtasticd
-
Add the NebraHat radio preset
cd /etc/meshtasticd/config.d/ sudo wget https://raw.githubusercontent.com/wehooper4/Meshtastic-Hardware/refs/heads/main/NebraHat/NebraHat_1W.yaml
Preset sets SX1262 pins for the NebraHat:
Module: sx1262 DIO2_AS_RF_SWITCH: true DIO3_TCXO_VOLTAGE: true # CS: 8 # (uncomment if needed) IRQ: 22 Busy: 4 Reset: 18 RXen: 25
-
Edit core config
sudo nano /etc/meshtasticd/config.yaml
Suggested minimum edits:
General: MACAddressSource: eth0 # or wlan0, or use a fixed MACAddress WebServer: Port: 9443
-
First boot of the service
sudo systemctl enable meshtasticd sudo systemctl start meshtasticd sudo journalctl -u meshtasticd -f
-
Optional: Python & CLI tools
sudo apt install -y python3-pip pip3 install --upgrade pytap2 "meshtastic[cli]"
Verify:
meshtastic --host 127.0.0.1 --info
-
Use the Web UI
- Visit
https://<pi-ip>:9443/
(accept the self-signed cert). - Set Region = US, Short/Long Name, and your Primary Channel (LongFast).
- Visit
Role & channel recommendations (local norms)
- Most users: These are usually static and outside so choose:
CLIENT
. - Infra: Always add an RF filter on infrastructure nodes; always talk with the rest of the Freq51 community before setting a
ROUTER
. - Primary: LongFast; Secondary: Freq51 (request details).
Fitting it in the Nebra enclosure
- Remove the old lora module.
- Remove the USB board on the 40-pin header; seat the NebraHat on the 40-pin header.
- Route the short SMA pigtail from the hat to the enclosure’s bulkhead connector.
- Add a small bandpass filter inline for infrastructure builds.
Troubleshooting
- Radio not detected / -707 init errors
- Confirm SPI enabled; check
/dev/spidev0.*
. - Verify the preset pinout (IRQ/Busy/Reset/RXen/CS).
- Confirm SPI enabled; check
- Duplicate MAC complaints
- Set
MACAddressSource: eth0
(or pick a fixedMACAddress:
).
- Set
- Web UI issues
- Ensure
WebServer.Port
is set.
- Ensure
Verifying on the mesh
- From another node, send a direct message to your Pi node.
- In the CLI:
meshtastic --host 127.0.0.1 --info
andmeshtastic --host 127.0.0.1 --nodedb
to see neighbors. - On maps/MQTT (if you opt in), confirm you appear and avoid turning on downlink.
Appendix: NebraHat preset (reference)
# Nebra SX1262 Pi Hat - 1W
Module: sx1262
DIO2_AS_RF_SWITCH: true
DIO3_TCXO_VOLTAGE: true
# CS: 8
IRQ: 22
Busy: 4
Reset: 18
RXen: 25