Hello and welcome.
This is the third talk on our stage here and now we have a really, really interesting talk about private networking.
So, have you ever wondered how to create your own independent communication network?
You probably did. Maybe you tried it already.
Will Crash is a grey-haired hacker and will give you a deep dive how to do this with special features maybe.
And he... Ask me to point out to some workshops we have on this Congress.
Just check the schedule and maybe you want to join one or the other.
So, please welcome the fabulous Will Crash. So, thank you. Thank you for being here.
If anybody has some tape, I'd be happy to get some. I think the bottle is fine.
So, welcome to the talk, building your first LoRa mesh network.
This is going through different layers. The small part will be applications.
The bigger part is the layer below. So, first of all, what happens when...
Traditional networks failed or are made to fail.
Now, you see here or here on the slide, there are many different connections.
And if we serve one or if we cut one, we will have no connection anymore.
Sometimes networks are also made to fail.
Some real-world applications are, for example, during the protests in Hong Kong 2019, there were different mesh communication apps which were used inside of the university of the technical campus where they were fighting against the CCP or Chinese party trying to take over Hong Kong.
And there, they also used mesh networks.
Sadly, this app broke and was later maybe compromised or not.
So, since then, it's not been able to be used anymore, sadly. And it was also not open.
So, this is another real-world scenario where you have an emergency in the wilderness or you're a client somewhere and you have an O2 network, so you cannot write anybody.
So, it's good to have a backup.
This small device here, I will later show you, has a range which is slightly more than line-of-sight.
We'll get to that later. Line-of-sight can be more than 60 kilometers.
So, to summarize, all of these scenarios are not hypothetical.
They can be used and they're relevant. So, in front of you, you have a nice box.
This is my wonky setup. It even has this nice small screen.
I once put one of these in a radio tower and in a big storm, and it was still running after two weeks.
So, even this free case, which you get when ordering it from AliExpress, is good enough to do some deployments.
So, here you have some different devices. I missed my pointer. I'm sorry.
I could have pointed it out, but there are some . Most of the boards are ESPs.
There are also some Raspberry Pis or Nordic dev kits, which also come with the chip.
The important thing is inside of these chips are the Semtech LoRa chips, which again are proprietary hardware.
So, it would be really nice if in the future we could completely open hardware, but until now it's not possible.
Then there are different types of antennas.
I don't have time now to explain exactly which antennas do what, but the basic is don't try to save in an antenna.
You will regret it. And these types of antenna work best. There are also directional antennas.
Okay.
This is omnidirectional, but these point in every direction, and it's much easier if you can just have a signal in every direction.
This is a very professional setup of a LoRa node. It's waterproof. It has solar panels.
It has the board and the battery inside, and it can be deployed.
There are a few things you should think about. How much sun is there? For example.
This is a very large solar panel, so you should definitely, or you should be able to use it in Hamburg.
There are also smaller ones, like when I was on holiday in Portugal.
These kind of sizes were fine enough to get the node running through all of the year.
Also think about the elements.
Fire shouldn't happen, but just in case, don't make sure you can start a big fire because your battery burns.
Color is definitely important, so try to not get your hardware wet.
Let's do a small network planning 101. There are different networks depicted here.
One is a ring, where each neighbor is connected to a neighbor, or a few neighbors.
Then there's a star. The star is different because there's one node which connects to everyone.
And the other nodes only connect to the star.
Then there's a tree, and a bus, and the mesh network.
Now imagine which one has the most or the least single points of failures.
If in a ring I cut one connection, I could still get through to the other side.
If the star, the main node, goes down, the whole network is down.
If the root node of a tree goes down, it's also down.
And with a bus, if you cut the wire somewhere, it also goes down.
But here at the top left, my personal favorite, the mesh network, you can cut up to two or three points, depending where you are, and you can still have some good reception.
So this is an aerial view of the Congress we are. At the red star, this is exactly where we are.
And next to the building, you have the red and blue, because let's get to the important thing, planning your network.
It's nice if I'm sitting at my desk, and I have two nodes next to each other, and I write myself my own messages.
But in the end, that would be very lonely for a long time.
And I'm not the one who only wants to write messages.
It's myself telling me either you're procrastinating too much or how I'm really excellent person I am, or something in between that.
So let's try to find the highest point. I don't know. Right now, the weather is very foggy.
So I don't think you can see the Heinrich-Hertz Tower, but you can definitely see it here on the map.
It's one of the highest towers in Germany. I think it's 287 meters high.
And on the left side, we have a line of sight. So all of the red stars.
You can directly see from the tower.
And then on the outside, that's like the physically maximum thing you can see.
So we see from Hamburg, we can almost, if we are lucky, receive our signals on the Elbe before Cuxhaven.
This has yet to be validated.
So if anybody knows how I can get on that tower and deploy this NOID, please tell me.
Or have another idea.
If you're in the Radisson and you're very high up also, I would like to place my NOID there for the next few days.
So write me a DM or whatever.
But the important thing is here at the top of the map, you see that the sort of yellow line is the line of sight maximum.
And here I chose the point at the Elbe, near where the Brunsbüttel gas LMG is.
So in theory, if all would go well in optimal conditions, I would be able to get to the tower and then relay it to the congress.
But that's theory.
In practice, you can do coverage mapping, which means you have at least two nodes, you know the positions, and you start wandering around.
And every few seconds, you note how good the signal is. As well as exactly...
How fast the network is, how many peers there are. And based on that, you can then start planning.
One thing I didn't mention in this thing before is right now here on the yellow line, this is the line of sight.
Depending on the frequency, the radio waves also can move around objects.
But this is a relatively short wave, since it's 836 megahertz.
And this means it cannot get around many. Buildings.
Compared to very long range things, which you can even fire into space and it will bounce back down on the other side of the earth.
So that cannot do that.
You should check with the binoculars if you can see something, and that will be your first test.
Then there's this website called Hey, What's That?
If there's enough time for two demos, and the demo gods are really good to me today, then I will also demo that.
Just... But... So you know the Fresnel zone is on this...
There's a nice yellow line, the above and below, which you could go around a building. Then...
Terrains and hills can be very helpful. Here it's difficult. It's very flat here.
But if you have a mountain near your place, there should be definitely a very nice space to put your node, where you can just employ it.
One thing I did not add at all into the presentation... I'm sorry.
I procrastinated the slides a bit. Okay.
If you have old cell phones at home, these small microcontrollers directly work with their batteries.
You don't use the official adapters.
You just tear out everything until you get to the bare battery and then you can connect two wires.
And there will be an internal charge controller which manages the frequency and the voltage and makes sure that the batteries don't deplete and that there's no over or under voltage.
All the fancy things which I have no idea how to do myself. So, next part.
After we have done our range test, here's some scientific study which I cited at the bottom.
Thank you for sharing your images. Depending on how good the signal is, if it's red, it's bad.
If it's green, it's very good. That's how much you need to know to start.
Later, you can get into radio terms.
You can think where is the best place to put... ...the node or many nodes.
The best place to put the many nodes is where you can access it, where it's secure and where you have good signal.
So, experiment, look at different things, see what works best for you.
This, again, is an example of the Fresnel zone.
So, even though that the tree and the third bottom image goes through the direct line of sight, the signal can, like, jump.
The signal can jump above it. Don't count on it but sometimes it helps a lot.
So, how does this practically look?
If you want to deploy your hidden nodes, not like the Tor network but hidden in the sense that it's not your property and you don't want them to be traced back to you, you should adapt to your environment.
I am gonna suggest, look which boxes are already deployed on high poles. and see if you can buy similar ones.
For example, this white box is a typical box where electrical things from the power grid or meters are deployed inside.
If you find a similar one or can 3D print it, just put all of your notes inside and stick a solar panel on the top.
Most technicians will not see it since it looks exactly like all of the other boxes which are on the structure which you're using.
Also, solar power and batteries are your friend.
Even in this type of weather, it's easily possible to run your node throughout the year with a smaller than this solar panel.
And since this contains a battery charge controller, the only thing you need is an extra 5 or 10 euros voltage controller for the solar panel, also called inverter.
So, I'm going to show you how to use this. Legal requirements. Very difficult topic.
You could make an amateur funk license, but this means you're also not allowed to use encryption which has not been allowed by the Bundesnetzagentur.
I have my own theory about that. I claim this device is an IoT device.
IoT devices are not regulated by the amateur funk law because they are IoT devices.
I have not validated this yet since I have gotten no visits from the Bundesnetzagentur.
If there are people who are smart and trying to work with them, they're working on sending in the protocols because the law says you're not allowed to encrypt if the encryption is hidden.
But if it's an encryption which you can use yourself and deploy it, as you, my guests, then it's possible.
But this is only a decision made by the Bundesnetzagentur.
People are writing them many letters and trying to get the official good to go.
Anyways, there is also EU law. EU law says, fine, no problem, no problem at all.
So, if anybody has experience in knowing if the EU law is stronger than the Bundesnetzagentur law for these frequencies, frequencies such as 836 and 433 megahertz, please write me a DM.
I'd be interested and maybe my future lawyer as well.
Now, in the last five minutes, we're moving to applications.
For me, I'm very happy if there's encryption.
If we do a short, short excourse into security, there's the CIA.
Not the CIA agency, but... the confidentiality, integrity, and authenticity.
These three letters or acronym, the acronym means your communications needs to be confidential.
Nobody else should be able to read them if they're not supposed to read them.
The messages should not be changed. So, make sure there's no man or woman or person in the middle.
And, ladies, I... Yes, that's the important thing.
Also, you want to know if somebody is trying to break your network and make it not work, because in an emergency, a broken network is no network.
One really nice app, which is easy to use, has a good interface, and is now running on this small node, is called Meshtastic.
It's a portmonee for mesh. Fantastic. It has a lot of features.
It offers many checkboxes for my likes. It is decentralized.
Off-grid allows you to send text, location, and small data packets.
It has an accompanying app, which is easy to use, and also a web interface, where, just in a moment, I hope I can send you all a message on Meshtastic.
So... Now is the time. Will this work? I'm now trying to connect to the device over web serial.
I'm using this fancy new kind of stuff, which is inside of Chromium.
Because if you're starting, you most likely also have a browser installed. Nothing else required.
If you're using Linux, make sure you're in the dial-out, or dial-up group. Dial-out, I think.
And don't delete yourself from all other groups. It's a hassle if that happens. So...
User add minus A and G. If you forget the A, you're kicked out of all the other groups. Not fun.
So...
I'm now going to type you a message, and maybe, if somebody has Meshtastic on their phone, they can answer.
Hello, also to Doom Master 3666, as well as Rooftop Allstars, you're on stage.
There are also some other nice things. For example, the map.
Here you have a map, where all the nodes... Oh, that makes it a bit bigger.
These are all the nodes. Normally, or it is really easy to dox yourself when using Meshtastic.
So think three times or more before sharing your location, and make sure, if you don't want to dox yourself, that your radius of where you are is at least a few kilometers.
Otherwise, you can easily find the node operators.
Here we can also see how does the encryption work.
We are currently on the open channel, which has a pre-shared key.
This key is then used for symmetric encryption.
The key is typically a radio guy code called AK, which is called Acknowledged.
Everybody is using the same key.
This is why our messages are encrypted and I can read your messages.
Thank you, Montana, for writing. Thank you, Meshtastic, P888, SoldNodeRed, and everybody else.
You can also add your own secondary, it's important that it's secondary, pre-shared key for a channel.
This channel allows you to come onto my hidden channel, and if I press this thing here, you will get a QR code where you can join me on my secret channel, now everybody knows it, and write me on the HaHa channel, which other people cannot read.
You want to scan it, or shall we just continue? Okay, I'm waiting 10 seconds.
Can you not replace everything? Yes. Sure. Here you go. And this one. Okay, one phone left.
Should be fine. So, you can also, let's write this rich guy in the a message.
These messages are end-to-end encrypted. Okay, it's not working.
I think the demo has gone really well, so we're going to stop it now.
Ah, we can still write somebody a message. Let's see. Messages.
Does somebody see a name they want to get a message? Okay, we're just going to use voice gang.
This is now different than the other message. There is a green lock up here.
For anybody who does not have a green lock on their device, please update your firmware.
I could spoof your public key and then your device is bricked. This is a topic for later.
If somebody gets a message and wants to respond, I'll check in a few minutes.
So, what happened here is there's an announce packet, which your constant response, constantly sending into the network.
I'm sorry. This was going to be a dark mode presentation, but due to time constraints, it's not.
So, sorry about that slide.
But in the end, your packet contains a destination, your public key to send the message back, the app data, a random block of information, and a signature.
And there's some cryptography. But I need to check what's up with my slides. Hmm. Quick.
This worked. This again shows public keys, pre-shared keys, and the curve exchange.
I put a lot of effort into the diagrams, but I'm sorry that the background is dark, and we only have eight minutes left.
There's another app. It's called Reticulum. In theory, it's very, very nice.
It has better cryptography. It has lots of things. It's not only an app. It's a protocol.
Here are the upcoming talks, such as Reticulum, unstoppable network for the people today.
Or rather, yeah, today. Just after midnight. No, tomorrow, just after midnight. So stay up late.
Then building your OpenWrt router, so your router can also do mesh testing.
Then hacking hardware interfaces, testing your antenna.
And the last one, tinkering with micro Reticulum.
I'll be really happy if we get some C++ experts with us at that workshop, because Reticulum is still written slightly in Python.
In theory, everything runs in C++ on this board.
Most of the times, you need a device, which you can pair it with, which, for example, like the Raspberry Pi runs Python.
And then you need to interface with that. We don't want that. We want it only on the ESP.
So let's hope next year, but really like in one week, it's going to be perfect.
We now come to the question and answer part.
If you don't have any questions, I have suggested some. But I will come back to that slide later.
If you're looking for our assembly, the off-grid messaging assembly, we are on under this name.
You can find us at the C3 NAV in Hall H, or with this QR code. Questions, please.
Thanks a lot, Will Kresch. That was quite interesting.
And I bet there will be many questions to you.
So I will pass my microphone to this angel over here. Hi. Thanks for the talk. Here, back here.
What are your experiences with batteries during winter?
So do they have problems with low temperatures?
I must say, I've still been starting deploying my nodes since July.
And until now, it has not been a problem.
But maybe there will be a talk next year with this, where I can answer that. Hello.
Thanks for the talk.
Have you any issues with lightnings, lightnings or storms with the antennas up of the roof of some buildings?
If you go on high buildings, maybe there will be a lightning strike at your antenna?
I have avoided this problem by going onto radio towers, which are not used anymore, which have already the correct, correct insulation, and thus have solved that problem.
Okay. Thanks. To what extent are you, oh, okay.
To what extent are you dependent on using those radio towers exactly?
Or could it, in theory, be built out of much, much smaller nodes that exist in, like, residential houses or something?
You can use any type of node.
I only use these radio towers because they have the best line of sight in all of the area.
If I would have my own spot, which is really high, then it would be fine.
And for sizes, like, this is what I put on the radio tower, even in this funky little box which comes with AliExpress.
I just wrap some duct tape around it, and it keeps really dry.
While I'm waiting for the next question, this does not cost more than 30 euros.
I forgot to write that in the slides.
I was wondering if a malicious node can disrupt communication for the others. Good question.
If you're not running Majtastic 2.55, where they introduced the public key encryption, then somebody can just send, say, I'm this node with this ID, and this is my public key.
And then you start partitioning the network because if the real node comes back, then there are problems.
If you have an opinion on that, read up Majtastic Firmware Discussion 5005.
I've written a very long discussion, telling them this is a bad idea, and they do not want to fix it yet.
Or write a pull request.
Also, if you want to reset your device, it's also going to have the same ID as before, due to the same issue.
Hi. I have a related question. Can you trust hardware from AliExpress?
Has this been reviewed in any way?
Is there no code path that's obscured, or maybe you can leak your keys or something?
I would not trust hardware from AliExpress if your security needs are so big you're worried about hardware backdoors.
But there are two open source keycard files in the whole project where you can build your complete own node.
Then you're still using the Semtech receiver or transceiver, which is still proprietary.
There are people trying to replace that. I haven't met them yet, and I don't have the hardware.
Hi there. Thanks for the talk.
So do you use the network for any other useful payload than messages?
Or what kind of traffic can we pass through that network?
So my first network was in a climbing spot somewhere in Portugal at some cliffs where there was, like, no signal at all, and there's a microclimate.
So the cliff is like 150 meters low or high, and if it's wet because it's just at the ocean, then it's super slippery, and you don't want to go climbing there.
But until now, you could only find out by climbing down there.
But we have deployed a weather sensor, which then sends the data such as humidity and humidity and temperature over MQ2T to the next node at the top, and then it goes into the Internet.
So we have a dashboard which tells us is it good to go climbing there or not? This is what I do.
Climbing and stuff. Sorry.
Also, if you have any more questions, find me back there after the talk.
So for that radio tower node for 30 bucks, what is the range and the reliability of that node?
If you're lucky, or in my case, the maximum range was 65 kilometers, and it ran for two weeks without a problem, but it was there without solar, so I didn't have the solar panels back then.
And then after two weeks, it, like, died, and it was using a 10-year-old S5 cell phone battery, so a bigger, newer one should be better.
Okay. Thank you all. Time is up, unfortunately. That was really outrageous. Interesting.