STFN

My first steps in Meshtastic

15 minutes

This post is a log of my initial experiences with Meshtastic. It it also meant to be a compilation of the knowledge about Meshtastic I have gathered so far. I hope it will be beneficial for others who want to join the Meshtastic club/cult/family, but please bear in mind that it is in no way a complete compendium. If you see any errors, please let me know. I hope to write another post once I know more.

For some time now I’ve been drawn to radio communications. There are many reasons why it interests me, among them being its romantic, old-school charm, its basis on electronics and physics, its strong DIY culture, and independence from the Internet and corporate, commercial environment. Ham radio is a fascinating part of the alternative, off-grid, survivalist, I could even use the word “punk”, culture which has been very close to me in the last years.

I don’t have a radio license yet, so apart from the doing a lot of learning, I am investigating possible ways to engage myself in radio comms that are available to unlicensed individuals. And that’s how I came across Meshtastic.

What is Meshtastic?

It took me a while to understand what exactly is Meshtastic, so I’ll try to summarize it here in the clearest way possible.

Meshtastic is a project that allows text communication, on a certain level you could compare it Facebook Messenger or IRC, or Gadu-Gadu if you come from my country.

In contrast to FB Messenger, it does not use the Internet*, but radio waves. Therefore to be a part of the Meshtastic network, a special piece of equipment is required to send and receive messages. That piece of equipment is basically a microcontroller with a small, low power radio transmitter. There are many different devices that support Meshtastic, some can be used standalone as they have a screen and a keyboard, but most need to be paired with a phone or other device, that will provide the interface to send and receive messages. Example models of such devices are the LILYGO ESP32, Heltec V3, or the RAK Wisblock.

* it can but let’s ignore it for now.

Meshtastic communication network has channels just like IRC. When you start your Meshtastic device for the first time, it will be configured to listen to the default channel, it is the same channel for everyone. You can also create your own channels and configure two or more devices to talk privately using them. The communication is encrypted.

Meshtastic is a peer to peer network. There are no central servers. Every device works as a repeater, meaning that it forwards any message it receives. Messages have a limited lifespan, they can only travel through several devices (hops) before they expire. This makes the network resilient, there are no single points of failure as long as there are enough devices to continue passing messages. Meshtastic devices can be left on their own in remote locations and they will automatically work as nodes, forwarding any message they receive.

Meshtastic is based on the LoRa radio communication system. LoRa is a LOng RAnge low power system that trades range and power for bandwidth. That’s why it only supports text, no voice or media.

Meshtastic can be used without a radio license because it uses parts of the frequency spectrum that fall under the ISM (industrial, scientific, and medical) laws. Such frequencies can be used by companies and individuals that do not have a radio license, however there are limitations in the transmit power and the time the frequency is used by a single device. In Europe the available frequencies are 433MHz and 868MHz, and in the USA it’s 915MHz. I don’t know about the rest of the world.

Further reading:

meshtastic.org/docs/introduction/

en.wikipedia.org/wiki/LoRa

My beginnings with Meshtastic

I don’t remember where I first came across Meshtastic. I suspect it might be Mastodon. At first it was very confusing for me what Meshtastic is what is provides, so I did some more digging. And that’s one of the reasons I am writing this blog post, so that people have it easier than me. One of the first sources of information I came across was the Polish Meshtastic site lora.waw.pl. And well, technically it’s ok, but the “promotional materials” that its author published on Youtube appalled me. A bunch of suggestive images cobbled together, with audio commentary going from one conspiracy theory to the next, with strong vibes of “new world order”, “covid was a scam” and antivaccines. Don’t watch it, don’t waste your time. It pains me that on the Venn diagram of lifestyles, certain off-grid people are sometimes close to the tinfoil hat lunatics.

Anyway, having more technical knowledge I went to buy my first LoRa Meshtastic device. Browsing through available options, I went with a cheap solution, and ordered a LILYGO LoRa32 ESP32, 433MHz from Aliexpress. I went with the 433MHz version because I read someone’s comment on a Facebook Meshtastic Poland group, that it works better in the countryside where I live.

You can also order it straight from the manufacturer’s site: LILYGO LoRa32 V2.1_1.6

Screenshot of an Aliexpress listing of the LILYGO ESP32 LoRa

First Tests

The device arrived in about two weeks. It came in a plastic case, with a small antenna and PH2 cable to solder a battery. The provided antenna is around 5cm in length, and from what I read later on, it has a range in meters more than anything else.

I connected the antenna to the board (you cannot power on the without the antenna attached, it will break!) and connected it to my PC with a microUSB cable. I flashed it with Meshtastic software using the flasher.meshtastic.org/ site, I chose the T-LoRa V2.1-1.6 option. While it was flashing, I installed the Meshtastic app on my Android Fairphone 4. When the flashing was done, I unplugged the radio from my PC and connected it to a power bank. The pairing of the device with the Android app was straightforward, it works as any other Bluetooth pairing.

Of course it did not find any nodes when I took it outside in the small town where I live. I did not expect anyone else here uses Meshtastic. So I went to a hill that overlooks the nearby city of Poznań (~600k inhabitants) and tried my luck there. And… nothing. No nodes.

My 433MHz LILYGO hanging from a bush on a hill, trying to find some friends.

I decided then that the next course of action would be to get a better antenna. I ordered a much larger antenna dedicated to the 433MHz frequency. It arrived much faster, as I ordered it from a Polish shop.

Screenshot of an KONEKTOR (local Polish hamradio shop) 433MHz antenna listing.

That still did not give me any contacts around Poznań. I went back to the drawing board, did much more reading, especially on the Meshtastic global FB group, and it turned out, that here in Europe, 868MHz is a much more popular band. And it is also better from a technical point of view, as the 433MHz has much stricter restrictions when it comes to transmit power. So with a heavy sigh, I ordered another LILYGO, this time in 868MHz. I also ordered an 868MHz antenna to match. I was telling myself that despite all that I still spent next to nothing in comparison to my astrophotography equipment. The new radio arrived after two weeks, just a few days ago.

Current situation

Last weekend I had some business to do in Poznań, so I took my 868MHz LILYGO together with me. I wanted to do some walking around the city centre to try to get some contacts. Sadly, my walk was cut short when the nice weather turned into freezing rain, and let’s just say I did not have the clothes for the occasion. I went to the train station to go home. I had my radio on the whole time, as well as during the whole train trip, but still I did not find any nodes.

My 868MHz LILYGO looking for other nodes in the center of Poznań.

Right now my plan is to take both my 433MHz and 868MHz radios with me and try again making contact from the hill overlooking the whole city. If that does not work out, I’ll again do a walk through Poznań, this time much longer, and hope I will make a contact at last.

I think I’ll also buy another 868MHz node, this time from RAK WisBlock to do some more testing, and maybe try out connecting sensors to nodes.

From all my hobbies, this has been the loneliest so far, even though it’s all about communication :D

My two LILYGO radios

Other stuff

Case

A case would be a good idea, carrying a bare PCB with an antenna sticking from it is not the most ergonomic solution. I found a case design on Thingiverse that fits my LILYGO, and I’m looking for someone in my town to print it out for me. Will update once it is printed.

How to make your Meshtastic node visible on the map

There is a worldwide map of nodes available, but making your device visible on it is not enabled by default, and takes some work to do. It is not simple and took me some time to understand it, so I’m sharing with you the needed steps. Remember that every time you change the config, the device restarts and you need to reconnect to it.

I assume you have a working Meshtastic device connected via Bluetooth to your mobile phone app.

In Radio Configuration in the Network tab set up the WiFi network and connect it to WiFi. In the radio list (last tab of the main screen) you should now see an IP address of the radio to connect it. You will no longer be able to connect to it vai Bluetooth.

In the Location tab set the location. I prefer to manually set a location, and set it to the town centre for privacy reasons.

In the MQTT tab, enable MQTT. Do not change the default MQTT URL, login and password.

In the Channels tab, tap on the default LongFast channel, and in the popup enable Uplink enabled.

In the LoRa tab, deselect Ignore MQTT.

Within a few minutes, your device should become visible on the map.

The downside is that your device will now use not only radio waves, but also the web to see other devices. This might sound like an advantage, but in my opinion kills the main reason for using Meshtastic: being independent from the Internet.

And that’s it for now. A lot of things I still don’t know about Meshtastic, but some basis I already have, and I always enjoy sharing my knowledge. I will be writing more on radio communications once I get more experienced in the topic. In the meantime, thanks for reading, and please, please give me feedback on what I wrote and most of all, point out any errors I have made.

Special thanks to szesctopni and Piotr Sikora for them sharing their knowledge with me on LoRa.

If you enjoyed this post, please consider helping me make new projects by supporting me on the following crowdfunding sites: