Please welcome our next speaker Thomas Goodchens, who will talk about Mish Asik, which by
the sheer amount of people must be something popular.
And actually it is good. But one thing in mind, we are here in open source conference.
And if Mish Asik is something not, it's an open technology, keep in mind, it's based on proprietary
and patented technology. But it is cool. Thomas, stages yours. Thank you.
So, okay, good evening. You could say evening. Just let me introduce myself to our three words.
I'm Thomas Goodchens, I'm one of the call-the-banner-posts of the firmware of Mish Asik.
And everything about Mish Asik is open source down to the actual radio chips we're using.
This is indeed patented and proprietary technology. But this also goes for every other
software solution that uses lower modulation. We can decode it with a STR. But this was basically
reverse engineered. Okay, let's get started. Who in the audience knows Mish Asik?
Okay, so I can skip the first 10 slides of my presentation. That's okay. This is basically what
looks like. So for user, you take a Mish Test Ignote, the node hardware, pair your phone with it,
download the software. Of course, off-grid means you're already downloaded the software. And then
you pair it to the node and then you use it like this. Oh, now something broke down here.
This is also the firmware in this case. It's showing telemote data and progress slides.
Okay, next question I always almost always get is how fast is it? And the answer is it depends.
Because as you see here, we have several presets in the firmware that have different link budgets and
throughput. The data rate that is on this diagram here is not the net data rate. This is
including the protocol overhead. So you won't get this kind of throughput if you set it to this settings.
The last entry very long slow is erased from the slide because we deprecated it in the firmware.
It was basically unusable for normal people. You need a special node hardware. But this was used
for range testing or range record testing, I'd say. And I left it in there because obviously,
if you take the radio parameters, you can still use it and recreate it. But it won't work with any
stock node hardware you can buy. The first setting short range turbo is a small one there.
You see the bandwidth is 500 kilohertz. In Europe, you don't have the 500 kilohertz at all this
puzzle. So the short turbo can be set and then the firmware reset it to the next speed setting.
Because it's not usable in Europe. What is link budget and data rate? You see here, most of the
presets, they have very similar link budget. And then the throughput increases the link budget
decreases. Everyone know what link budget is. It's actually how far you can get with the
signal before it starts to deteriorate and you can't decode it anymore. The third question we are
getting on a booth is what can you do with it? You can do everything off-grid. You can go camping.
You can go to Burning Man as you see here. The slides were prepared by colleague from the US.
So it's with your S centrate. But you can also use it for disaster communication. If the normal
mobile phone grid is not available anymore, you can use it for communication with your pairs.
Okay, now let's see what we do. Obviously you need a lower radio. You can buy this. They start at
about 10 bucks and then you get edit. Where you add a text and shipping and then you're about 20 bucks.
But still very affordable. And you usually pair it with your phone and use it with the
other software. But you also have standalone notes in development and somehow available already.
And also you can pair it with your computer, of course. Now, a machine network means the
message is traveled to the network. And somehow we need to tell the message to stop traveling.
And this is what we do. We are a hot count. The standard hot count is 3. And as it is written
in the top, really 3 is fine. Most people ignore this really 3 is fine and sell it to 7.
That's a bit overkill. Because at the moment you see five radios here. And this is actually
what 3 means. Every hot decreases the number by one. And when it reaches 0, it won't be
retransmitted anymore. Some people in certain technologies need four or maybe five. But
6 or 7 is almost never really necessary. Because it doesn't give you any advantage anymore.
Because you create a rebroadcast storm in your network. You won't be able to benefit from the
higher count. So please don't set it like this. If you put a higher number than 7 into the
optic application, it will be worth two, three. Okay, then you can expect data from the network.
You can bridge it via MQTT to, for instance, home control solutions or
extractor raw data. You see this is really raw data. Because you can't value read it.
The string in the MQTT explorer. And this is because we are using protobuff encoding and not
JSON or something, you can really digest. So you really need to decode the message first and then
you can process it. Now I'm going to go a bit into details of the null configuration. We have
roads. These roads were really introduced with a version two firmware that didn't exist before.
And the two original roads we had were basically client and router. All the others they were
added later for special use cases. So the road is really to tell your node what it should be.
So the client is obviously very seclined. Client mute as you see is a client that doesn't
be broadcast or client hidden is a client that doesn't even announce it's there. The tracker
is basically a client that is a bit optimized for a position display or transmission
because it gives an emphasis on the text message but on the position data. So it's just a different
preset for the firmware. And I'm going to skip a few now. The TAC tracker is one special one because
it talks for protocol. We have an application called ATAC and the TAC tracker roll sends
compatible frames to an ATAC server and also very this. The real important information here is
the last two lines, the router and repeater roll. A repeater is an invisible router. So that's it,
but the router is really a bit problematic because it was abused in the past and is still abused.
What the router does is doesn't change the behavior of the node except in a few spots where
power management is concerned and also in the way the mesh works. Oh, the range test I want to show.
The router will re-broadcast first because if one of the nodes receives a package,
it will re-broadcast it. If the hop timer is not expired. So the time frame where it is repeating
depends on how strong the signal was that was received. A weaker signal will re-transmit faster
than a strong signal. So the nodes on the edge of your reception area where we broadcast faster.
So this is for coverage of course. Now the router is designating a node that is an exposed area.
So this one is preferred when this delay timer is running. So router will always re-broadcast first
before client. And please, a router is not something you put on your rooftop. Your rooftop is
not an exposed position. An exposed position would be a radio tower, a mountain top, a tall building
and by tall amenities, 20 stories. So the router is really something that is an exposed position.
Because if you put a router on your rooftop or in your living room, it will ingest messages
and not pass them on because by re-broadcasting first from a not optimal radio position,
it will eat and hop and so you would decrease your coverage. And in the past we had a special
role that was called router client. It was a router in timing and was a client in connectivity.
Many people were using that and many people were harming their networks by using it.
So we deprecate it to roll and you set it nowadays. It's still in the firmware.
It will refer to client and at the moment we recommend in larger networks to set clients
that you have in your living room to actually client mute. Because so it won't re-broadcast.
You receive your stuff and you set a router or there will be a router late. So no, not a router.
I'm sorry. Not giving you fake news. A client on your rooftop or a router late.
A router late is a power management router but we broadcast a client.
So please don't put routers in your vicinity.
Okay, next question we're getting on the boot. How far does it go? This is actually the standing range
record. 331 kilometers. From a mountaintop in northern Italy to a mountaintop in Slovenia.
And as you can see in the bottom the Fresno frame already touched the surface. So it was barely
that this connection could have happened and also this was in very low, very slow and low setting.
The one that was marked red in my previous slide. So for range records or inch testing you can really use that.
But not for much else because transmitting one of these frames takes several seconds.
And of course you need luck to have not no interference within these several seconds.
So this took a long time till this record was seen.
Okay, what we also have at mesh testing is a coverage tool. So if you're planning your local network,
you can use site meshtastic.org and see what potential
re-broadcast position or other position really means for your coverage wise. This is actually
model with topology. So it's fairly accurate what it doesn't have is a built up space or
or woods and something like that. I know there are better models. The one we are using is available
worldwide. So it's a planning tool. Okay, where are we using lower? In the 868 SOD bond.
Some say I S m and but technically it's an SOD bond. You're allowed to go up to
27 dBm which is roughly I think 500 milliwatts. In the 433 S m band you are up to 10 dB and also
on the 2.4 GSM. A gigahertz ISM band. Mesh testing can use all three of these
radio ranges. Obviously the preferred one is 868 because of the higher transmit power and also the
433 ranges very congested. Most radios can do up to 22 dBm. There are radios that can do 27 dBm
but they usually include a power amplifier. And also ideally it would also include a reception
amplifier. So it's not really much use shouting out your stuff and not hearing anything.
Okay, last one especially about the low power part of lower the S-1262 is a 4 milliampere
actively receiving. So we are in Mesh testing. We are in continuous receive mode and it uses
next to none of the power of the device. Okay here again which frequency to use. I started to
explain it. 433 is really congested with the standard settings. We have 4 frequency slots there.
We can use on 868. You see it around here. There's a lot of different presets in this area and all
of them are almost all of them. I was treated to 1% duty cycle if you don't do frequency hopping.
With Mesh testing you can't do frequency hopping because for that you would need to have very
good synchronized receivers and transmitters and in a peer-to-peer network this is just
not feasible. Believe us we tried. Okay so we are restricted to slot that has 10% duty cycle.
So at the moment we have in this area only one usable frequency on the default setting.
That's not really that because you will find each other more easily. In the US they have
I think 104 slots available which is much but you can't find each other that easily.
Okay and also the transmit power 500 milliwatts. So that's what we're going to use.
Now you see the there are still other frequencies. This is designated here for frequencies
with 2 watts or 500 milliwatts. You see the 10% for access points. So you have to use fixed
locations and kind of wrong with them and also they are only 200 kilohertz or default setting
uses 250 kilohertz. So in the future it would be possible to use these for additional frequencies
with different presets and with the detection rather than not a stationary or moving.
So we're still evaluating this for the time being we only have the slot at 865.5.525.
So this is the only usable frequency in Europe. Okay then a word on security.
Mashedastic is encrypted. Mashedastic is encrypted with an AES 128 default key.
This default key is baked in the firmware so you could debate if it is encrypted because the key is
public. But this is only for first discovery. If you want to build your private network of course
you can change the key and the Mashedastic supports up to AES 256 bits. So this is pretty secure.
This means the channels which are logical channels are encrypted by this key and you can program
up to 8 keys into the device so we can let's say program 8 user groups inside with different
encryption keys. If you send direct message you are switching to a different encryption scheme
with public and private keys. So the notes need to do a key change first.
This is not really secure because it doesn't do authentication or ident checking because a note
would accept the first key it has. It hears from another note in the note info package as a valid one.
Just if the second note info package has different key then the key in the app turns red and you see
there is something wrong there. That for instance happens if you reset the note to factory default
and the new key is generated. Then all your peers need to delete your entry in the database
and then let you rediscover your device. Still pretty secure for the future we are planning an
extension using a hardware encryption chip because it's better against the reading out the
keys from the flash of a recovered device. On the other hand it's going to be a bit more
expensive because it's an hardware encryption chip but it's optional. So the basic encryption
scheme on a scheme on change so you're still going to be able to message people that
don't have this hardware chip and vice versa. Okay what different hardware can you use where
commodity hardware? As I said the cheapest one at the moment is the one below in the middle. This one
here this costs recommended retail price $9.95 including shipping and European value at a
tax so it's going to be a bit more expensive but still this is quite good for an SX-1262 chip
but it's a second generation value and an ESP32 processor. The other ones are a bit more
expensive at the moment the most expensive ones are these two here the Vismesh and the
Lily Go Taco. They both contain a Nordic semiconductor chip so are very power-efficient and one has
a OLED display and the other one in E paper. The one you see at the top left is one here as well
and a colleague that did the introduction showed me here as one too. This is actually a very
recent device was developed by a CIT Studio. It's a card tracker and it has about two days of
battery runtime if you use it on a not too busy channel and your territory was a radio and it
costs about a when it is here including the taxes and the shipping costs about 50 bucks. So this
pretty decent it's IP67 and so it does prove and limited waterproof. It contains the GPS
tracker module, radio and temperature probe and I think accelerometer. Okay next thing we have a
standalone hardware most of this is still in development because we are doing a new user interface
for the nodes. The user interface is not really user interfaces and application so it uses the
node API pretty much like the Android or Apple app would also do which means the node can only
use one of these API interfaces so if you have the graphics where I running on your node or connected
to your node you can't use Bluetooth API anymore or the serial API or the Wi-Fi API. So only one
connection at the time so the standalone node is really standalone. Okay and we have
SBC hardware which contains Raspberry Pi and other stuff up left is the risk 5 processor architecture.
We have to start up Raspberry Pi and we have at the bottom we see the open WW1.
Mesh testic is also running as a Linux demon you can compile it as a demon and access either
SPR connected or USB connected radios. Part of this is still in the future you see at the top
USB hub with four radios connected. This actually works in a lab. The four radios have for
different serial numbers so you can attach a mesh testic demon to each of them and route between them.
So mesh testic is open source I said it in the beginning. You can find us on GitHub,
send pull requests try to understand the firmware and ask us on this code if you don't understand
the firmware. Everyone is there and you'll get an answer in time.
Okay a bit about deployment and inner workings. We are using platform. As a development environment
we're using the Arduino stack as an abstraction layer because we're supporting different radios.
Radio MCUs and we also developed our own portability stack to make an Arduino application one on Linux as a demon.
The protocol itself uses the Google protocol buffers and also the data storage on the node itself.
So the storage of the configuration and storage of the node database is also protocol serialized.
So if you want to talk to a node for instance through the API that was used by the by the
by the app before so you want you want to interface instead. You would ideally use a civil bus
connection or a civil connection and this protocol buff encapsulation and just send a message through the node.
Okay I forgot one thing. If you want to send your own messages through the node please don't
try to modify the firmware. Most of the radios have a very tight flash space and the firmware
takes up almost all of it. There is a module API in the firmware and theoretically you could use
right a new module for the firmware but it's really easier to use the API to connect to the running
firmware either via serial or if it's an ESP via TCP port and use the protocol buffer interface
to tell the node to send your message. And if you want to encapsulate your own protocol you can ask us
for a port number and then you can put your own protocol data in the payload and you want to
stir the rest of the network. So if you want to turn something through there or if you remember the data
array you can achieve or just remember there are other people also on there that you want
throttle and then you can talk to us about protocol number. Okay I said we have a module configuration
these are the modules that are baked into the firmware just a very quick overview. I upload the slides
after the presentation I was told to do it before but our booth was so small that I didn't
manage in time I'm sorry for that but as soon as possible you'll get the slides.
Okay let's skip over that a bit because one one important thing is telemetry because what can we
send text messages, location data and sensor data. These are the sensors that are supported by the firmware
natively you can just hook them up to the iSquetry interface they will be auto discovered
and configured and as soon as you switch on the matching telemetry module in your configuration
the data is transmitted out on the network and you can ingest it put it on a graphana dashboard
or whatever you want to do with it. Like this these are different dashboards and if you look closely
there are only three dashboards because the fourth one is actually mesh sensor. mesh sensor is a topology
maper you can connect one node to the mesh sensor application it's also free and open source and
this will map out your network like this this is the one of the partial node maps there's no official
node map but some some people are running maps and if you're mapping it out the mesh sensor
application one warning it uses trace routes and trace routes are a bit like
also heavy on your network. In newer versions are toned down a bit so it is usable but we
remember to not leave it running all of the time but use it for mapping the network
optimizing the network and then please switch it off again okay Laura
maybe you're wondering what our logo comes from they you see it this is the lower modulation
on a time on a time frame so Laura is just jumping modulation the point where the trip
here starts and ends this defines what information we transmit not if it's up going up or down
not the the sloping but the point where it starts and where it ends and every one of these
sweeps here can codify 16 values so it's nibble the thing that starts with 16 sunk frames or the
preamble the 16 zeros for mesh testing the normal Laura one uses eight symbols we use 16
to give the MCU time to wake up if it's sleeping then there is a sync word use a custom sync word
if a sync word doesn't match we don't decode it and then the data parts starts with error
and I hope this is working this is what it looks like on an SDR no it's not working
yeah I know it's working and we can't even hear each
these are the upsurge and downsurge and the upsurge spectrum that Lauren
not really okay thank you so you see the actual modulation this was very long slow but
you can hear it and it's really slow depending on preset it takes several seconds to send out of
package okay we've been invited on a ticket from the IRU so I'm going to talk briefly about
hem mode because as you saw in front at least one frequency range in the US two frequency ranges
are also hem radial ranges so you can put the firmware into a special hem mode you can enter the
call sign and say I'm licensed the pro is you're allowed to transmit with up to 10 watts
and you can use higher gain antennas you're not bound to the limits of the ISM bed and
the drawbacks as soon as you do that we'll switch off any encryption I know this is a hotspot for
debate but to cater for every national interpretation of the no encryption rule we decided we're
going to switch off encryption also direct messages because they are encrypted and the node will
not forward packages that are encrypted anymore so you're not accidentally routing traffic for
people that are not licensed this is the drawback of course you're not bound to the limits of the
node anymore you can use the entire 430 megahertz band actually in the no configuration you put
you can put in any of the frequencies you want to use also outside the presets it will just
use the preset but you can shift the frequency wherever you want and you're called sign will be transmitted
as required every 10 minutes with the node info package at the right of the slide you see how to enable
that an example is the Android software you say I'm licensed this is my call sign and then you switch
into hand mode somehow it's not going to the next slide oh there it is okay
these are a few pictures of node installations especially of repeaters or routers people are using
radio towers either hammer radio towers or commercial radio towers of course only with with permission
that that's one thing every time you set up a note out and why please ask the property on
the mission even with public land just don't put nodes anywhere you've had an incident about
the one or two years back I don't remember in solid lexity or in the area of solid lexity
where notes were discovered on some public land big note installations with solar panels
luckily they turned out to be helium nodes and helium hotspots and not majestic but I don't want
to explain to the authorities what this is and if it can blow up okay I've kept my time any questions
I can expect a lot sure
sorry I don't know that I know there's been reverse engineering of the protocol you can
I'm sorry yeah the question was if I know better the patterns run out I don't know that
all I know is there is a G&U radio module that can decode Laura and also decode
majestic packets so you can use that you can also transmit them but it's not as good as the
radios itself by cemetery because they of course the HF matching is a bit different than to
NSDR as the R is always inferior to the real radio harbour chip yes
yes the difference between majestic and other Laura or Laura Wang installations like helium
most other networks use Laura Van which is a rapper above the Laura network or a layer above the
Laura network Laura Van defines frequency slots and has a hub in spoke architecture so you have
concentrators or excess points and you have your sensors that are transmitting data to the
excess points so we don't use Laura Van and helium is an implementation of Laura when the things
network is another one we use the Laura physical transport layer and put our own peer to peer network
on top of it okay still please
I didn't catch the device in your question I'm sorry
I'm really not sure I remember this one maybe we can talk after the talk
bilateral about this yes
does the network make an distinction with the station area more about the question is if there's
any distinction between station area and mobile devices no the routing algorithm of the network
if you can call it that because it's flat routing with a bit of intelligence behind it it assumes
mobile nodes so we are not trying to build some up some routing tables or something like that
because apart from the fact that we assume mobile nodes we don't have the bandwidth to exchange
these routing tables we tried we have a very good simulator to simulate the traffic but it's
it's really not feasible we've had one approach over the last few weeks we really implemented
it with a bloom filter to distribute neighborhood tables but in the end it would be no advantage
or disadvantage would be the same performance so we assume mobile nodes yes
then do as an example yeah if you actually solve the problem of for collision detection
the reason I ask you is that as far as I know these are the most of these more objects have
the problem that they cannot really detect the signal is free well
yes the question was about collision detection the older same tech chips are not very good at
detecting collisions because they can only decide if there's another error or signal on the frequency
the newer chips are better in that case and we don't have any software provisions we just
will I on the collision detection by the chip yes oh I'm sorry I meant the person behind you
okay I was curious where is the best place to ask questions about setting up hardware
like a group chat or a forum or something like that like if you have a really good advice for example
yes the question is about a contact point or we have best to ask questions most of the developers
are on the discord channel or on discord server for mistastic so on homepage I have different
links for social media groups or officially one official ones and I think you can use all
that discord is the real time channel where you can meet the developers in very also coordinate
yeah the question is about scalability yes it scales the default setting does not scale very well
it's meant for range so if you flesh device powered up first time you're going to discover
few nodes that are a bit farther off so as soon as a community develops beyond 30 nodes I think
40 nodes you're going to switch to a quicker setup to faster setup so yes it scales to give you a
number how it scales we put a special firmware on devcon that was locked to the faster setting we
have available and we had 800 nodes on the network without any problem so it scales yes
yeah the question is about measurement when you can detect how channel gets degraded we have
some metrics about this we have the channel utilization and also if some of these thresholds are
exceeded the node will dynamically scale down its broadcasts or the intervals of the management data yes
order of devices yeah devices that square kilometer sorry no idea
the feature where it will basically automatically determine the number of properties you set
in order and the speed of which you need to translate order to code with dynamic order yes
the question was about dynamic adaptation of roles and stuff yes we are thinking about this some
of this is already in the firmware other things are already sketched out and this is going to be
in the next development I'm going to take this this side of the room a bit I've connected them please
and this is a lot of nice here today it's probably going to be less more about recommendation
of this setup we have right here I'm surprised it's working that well on long slow you can see
a lot of the optimizations we did over the last few weeks that it's running at all with default settings
for something like this here first them with a bit more nodes I would recommend medium fast setting
we deliberately wanted to test the default setting today okay there was another question
should some be considered is the at no E to E C C security of the choice
um the question about the encryption tips we are considering
no it is not because we're using the Ede 25519 curve and there's not a lot of chips on the market
that support this curve at the moment we are evaluating one in the next picture
yes
the question is about different transmission settings if you want to talk to each other you have to use the same
settings yes the thing about the especially the spreading factor is the spreading factors laid out in a way
that you can have more than one single on the same frequency that one interference with each other
so you can have up to 66 or 7 signals on the same frequency that won't see each other
any more questions in front here
yeah I'll just ask for the what the overhead of having encryption on the
the question is about the overhead of the encryption the encryption itself does not increase the packet
but for the direct messages we added a signature to prevent certain replay attacks so this is increasing
the payload by I think 8 or 16 bytes so this is this is the trade-off for increased security
the thing is you can remote admin these nodes and this is also running over direct message
the direct message message exchange was would not would not be that critical but the remote
administration is because you can take over notice that so we added this additional layer yes
question about the duty cycle yes this is per device transmitting yes and now this is
doing a flat it's a mesh and it's doing cloud broadcast so for one single message can spawn
a lot of other messages to reduce somehow the the utilization of the band because it's a share medium
yes if you if you if you the questions about the bandwidth management with the duty
cycle in in at the moment it gets too much I think the 25 and 35 percent are thresholds
we prolong the interval something is sent out or suppressed packets for instance telemetry
packets temperature unless the roll is sensor because then it won't do that but I think if the mesh
is congested it will suppress packets up to three times and after three times it will transmit it anyway
so temperature doesn't change that rapidly you can still use the device thank you yes
a question of signature actually can I have one friendly mesh and one eventually separated mesh
that is trying to be attached to the permission question about separation yes I said we have
eight slots for encryption keys so the encryption keys basically your mesh so you can have the
user groups that have different encryption keys many people are putting their private mesh or their
first slot and then default in the second slot so they will still receive default messages
but can communicate on their own private encryption keys don't know more questions I think it's time for
you
thank you very much