Meshtastic has been experiencing a bit of a renaissance lately, as the off-grid, long-range radio text messaging protocol gains a ton of new users. It’s been used to create mesh networks in cities, during disasters and protests, in small groups while hiking or camping, and for search and rescue operations. Although it’s connected plenty of people together in all of these ways, [GreatScott!] wanted to put it to work connecting some computing resources instead. He has a garden shed that’s too far for WiFi, so Meshtastic was used to connect it instead.
This isn’t a project to bring broadband Internet out to the shed, though; Meshtastic is much too slow for that. All he really wanted to do here was to implement a basic alarm system that would let him know if someone had broken in. The actual alarm triggering mechanism is an LED emitter-detector pair installed in two bars, one of which sends a 12V signal out if the infrared beam from the other is broken. They’re connected to a Heltec ESP32 LoRa module which is set up to publish messages out on the Meshtastic communications channel. A second module is connected to the WiFi at the house which is communicates with his Home Assistant server.
Integrating Meshtastic devices into Home Assistant can be pretty straightforward thanks to the various integrations already available, but there is some configuration to get these specific modules working as an alarm. One of the pins on the remote module had to be set up to watch the light bar, and although sending the alarm message out when this triggered worked well, the received signal never passed through to Home Assistant until [GreatScott!] switched to using the RadioLib library an an MQTT integration instead. But with perhaps more configuration than he planned for out of the way, [GreatScott!]’s alarm is up and running. Meshtastic projects often balloon into more than we had originally planned though, in more ways than one. You can follow along as our own [Tom Nardi] attempts to connect all of New Jersey with this new protocol.

I literally just started work on my LoRA mailbox sensor and was using this video as reference. I swear I’m just connected to Hackaday in my head…probably over LoRA.
In a moment of nerd-dom I put up a Meshtastic node at my house, not really thinking about a use for it, but now suddenly I’m keenly interested in a meshtastic based AirTag-like system, and maybe a pager as well.
So I have another node coming that I’m going to throw in my car and log all nodes that it sees and construct a map. That will tell me how available it is. I also want the car node to message my home node to see how reliable it is.
But in terms of (mostly) not being beholden to governments and corporations I wish everyone would put up a node.
Nothing new being under the sun and all that, HAMs use APRS for the exact same thing. I’ve been considering putting up a node just for giggles. As the video states, it’s really hard to do anything custom besides transmit locations and do messaging with meshtastic.
You can configure the node to bridge the serial interface to the mesh, or you can get a lot more control by using the full protocol over serial. Hook it up to an external uC and put HomeAssistant on another node in the mesh and you can basically do anything. I have one connected to my car that can trigger remote start and door locks. I use an RTC and GPS to prevent repeat attacks from being effective. The node is also a high power repeater which is useful as the one I carry is much weaker. I have been working on getting more nodes/repeaters set up in my area, but the mesh is already fairly substantial.
And monitor temperature and humidity and air pressure and voltage and current and the state of a pin (detection sensor) and radiation and light levels and and and…
My farm runs on meshtastic.
there don’t seem to be a lot of mcus with gps and LoRa hardware that are small enough to cram into something you can put on your dog’s collar, which is my biggest use case for Meshtastic. once you jump through the infuriating Meshtastic hurdles (especially the API-breaking changes with every minor revision that ChatGPT is helpless about when you’re trying to integrate Meshtastic into your homebrew HomeAssistant alternative) — Meshtastic works pretty reliably and has been great for tracking moving dogs in the remote Adirondacks.
RAK Wireless’ “WisMesh Board ONE” is 60.8 mm x 22.9 mm x 9.85 mm (l x w x h)
https://store.rakwireless.com/products/wismesh-board-one-meshtastic-node?variant=44500173717702
Yes, that’s the one I ended up using, though getting Meshtastic to work with that particular hardware stack proved challenging.
Seeded xiao meshtastic is the size of a stamp
Literally 20 X 20 mm
what about meshcore? is that different?
Meshtastic has scaling problems because it defaults to flooding: every node repeats packets it sees. Meshcore is designed to be more efficient, with only repeaters repeating. The plus side is that your battery will last longer. Downside is that Meshcore infrastructure isn’t as widespread as Meshtastic, so your message might not travel as far and reach the intended recipient. But for $20 you can buy a Heltec stick lite, flash it as a repeater, and help build the grid. Most techies i meet are the opinion that Meshcore is the way to go.
Our local repeater group has seen the same scaling problems with MT. And they know how to setup station with well designed antenna radiation patters including full loss/gain calculations.
Once your local network reaches size x the reliablity slowly collpases. This often shows that messages/dm/traceroutes beyond 1 hop barely reach its destination. Interesting point is that this doesn’t show up in the channel and/or tx time saturation.
Having this effect dramatically reduces the “user experience” as the Public channel and its conversations become heavily fragmented with half-complete chats.
This effect must be understood better. We currently don’t have a clue why this happens. Most likely a few station must be able to extract more telemetry from the inner parts of the routing algorithms.
Depends on the mode the node is running in. Using CLIENT_MUTE doesn’t forward/reply packets and should be used as the default mode in dens meshes.
But by default they still send awful lot of data – which is meshed and causes congestion. Client_mute also sends nodeinfo for new nodes joining in etc.
Meshtastic works for small ad-hoc networks brilliantly but on any larger (over 50 nodes connected) it starts to cog up.
Right from the beginning it was obvious meshtastic’s designs were too limited, but everyone ran with it and he was are. I am putting up meshcore repeaters myself.
Tragedy-commons, etc.
So many networks have switched to MeshCore and for a good reason.
In my area where we have a large urban/suburban network of meshtastic and meshcore nodes. I’ve never been able to reliably chat with people over meshtastic, even though I’d have hundreds of contacts and receiving constant node telemetry updates, and it was frustrating to see all of these nodes and not be able the chat with anyone.
I added a meshcore repeater to my roof and have found the meshcore network to be MUCH more reliable for actually communicating. Meshcore gives up to 64 routing hops (over MT’s 7), allows manually designating routes for certain contacts if you want, confirmation of delivery for DMs, etc.
On the other hand, if I’m going out into the hinterlands with a small group, I’d probably take a few meshtastic nodes since it’s easier for ad-hoc networks where there is no existing repeater infrastructure.
OK, I need someone to help me out. I hadn’t heard about either of these before, so I looked at the coverage maps. MeshCore has 1 node in my town, and Meshtastic has 2. Is this as easy as flashing a uC, putting up an antenna, and now I’m a repeater node? Can I put up 1 of each, given appropriate separation? I’m kind of getting into this stuff (want to put up a weather underground station as well), but don’t want to “do it wrong”.
Can someone either post some simple, step-by-step instructions on how to set up as a repeater? I own a bit over an acre in South Carolina, USA, so no worries about apartment or HOA restrictions on antennas.
Or send me an email if you want to be asked a bunch of questions! joe(dot)jansen(at)gmail
Thanks!
Meshcore relies on hard learned technical lessons from about 45 years of ham radio packet operation and RF engineering of radio data networks. Not exactly the first time someone sent data packets over a radio LOL. Meshtastics design does not, and it runs into scalability issues very quickly, lessons that were learned by the hams the hard way in the early 80s, hard to believe people still making the same old mistakes in the 20s, but meshtastic has first mover advantage and has massive industry support deals despite the design issues.
In the long run, meshcore working better will result in it taking over. In the short run, if you desperately need to use a specific local repeater (do you? really?), you’re stuck with whatever the local repeater uses, statistically probably meshtastic. Users use meshcore, corporations use meshtastic.
Out of curiosity, what are those lesssons?
PS: started Battlemesh event, but those lessons might be valid for wifi