August 23, 2025·2 min read
Introduction
Mesh networking has always fascinated me. The idea that devices can form their own network without relying on cell towers, Wi-Fi, or even the internet is powerful — especially in rural or off-grid scenarios.
Over the last few weeks, I set out to build a personal 3-node Meshtastic network to learn more about LoRa radios, MQTT integrations, and practical deployment considerations. My setup included:
- A mobile node (car / handheld).
- A solar-powered outdoor node.
- A desk node that always listens for messages.
Here’s what I learned about node roles, placement, and how to avoid common mistakes.
Node Setup
1. Mobile Node (Car / Portable)
- Hardware: Heltec LoRa V3 (with onboard battery charging via USB-C).
- Role: Client.
- Why: Mobile nodes move frequently and don’t provide stable routing. They’re best kept as clients that connect to stronger repeater or router nodes.
2. Solar-Powered Outdoor Node
- Hardware: Heltec LoRa board + small LiPo battery + 10W solar panel with charge controller.
- Placement: Mounted ~30 ft on my roofline.
- Role: Initially tested as Router, but later kept as Client.
- Lesson: Unless you can mount an antenna very high (100 ft above ground level or better), routers often just add network noise. A client role avoids unnecessary re-broadcast loops while still being available when powered.
3. Desk Node (Always-On Receiver)
- Hardware: Heltec LoRa board powered by USB-C on my desk.
- Role: Client.
- Why: It doesn’t need to forward messages — it simply provides a stable “listener” for monitoring the network.
Understanding Node Roles
Meshtastic supports different roles:
- Client → Best for most setups. Receives and transmits messages but doesn’t rebroadcast everything.
- Router → For very high, clear-line-of-sight placements (e.g., mountaintops, tall towers). Always rebroadcasts, ensuring wide coverage.
- Repeater → Similar to router, but specifically designed to extend coverage in areas where clients cannot directly connect. Needs very good placement.
In practice:
👉 Unless you can get your antenna very high with clear tree lines, stick to Client mode. Misconfigured routers at low height can actually hurt the mesh by creating redundant traffic.
Lessons Learned
-
Antenna Height Matters More Than Power
My 30 ft rooftop node wasn’t high enough to justify being a router. At lower heights, the Fresnel zone gets blocked by trees, houses, and terrain. -
Battery Management Is Built In
Boards like the Heltec LoRa V3 include a TP4056-style charging circuit. Plug in USB (or solar with charge controller), and the board manages the LiPo charging automatically. -
Don’t Overcomplicate Roles
Many people think they need a router/repeater to make their mesh “better.” In reality, most personal networks run best with all nodes as clients. -
Long Range Settings (LoRa Profiles)
Meshtastic includes “LongFast” and “LongSlow” profiles.- LongFast → Good balance of speed and range.
- LongSlow → Extreme range, but very slow.
“VeryLong” was removed; “LongSlow” is now the equivalent option.
-
MQTT Adds Reach Beyond Radio Range
While not needed for my personal 3-node test, Meshtastic can bridge over MQTT to let remote nodes join the mesh. Useful if your physical range is limited.
Next Steps
- Test larger solar setups to keep outdoor nodes alive through winter.
- Add GPS tracking to the mobile node.
- Experiment with MQTT to bridge my desk node into the wider Memphis Meshview community project.
Closing Thoughts
Building a personal mesh network taught me that simplicity wins: keep most nodes as clients, get antennas as high as you can, and don’t overcomplicate the setup.
Even a small 3-node network is surprisingly capable — messages reliably hop between my car, roof, and desk. Combined with solar power, this little experiment has shown me the potential of LoRa-based mesh systems for both hobbyist fun and serious off-grid communication.
Enjoyed this post? Give it a clap!
Comments