# Meshcore

Information on the technical side of Meshcore

# Meshcore Bandwidth, bitrate and airtime

### <span style="color:rgb(132,63,161);"><span style="color:rgb(0,0,0);">Taken from: </span>MrAlders0n </span>\[On Discord\], — 9/6/26, 10:58 PM

**Airtime on 910.525**

Quick reference on what our default preset actually gives us.

**The preset**  
910.525 MHz, SF7, BW 62.5 kHz, CR5. That is the USA/Canada recommended setting and what every node in Ottawa should be running.

**How much spectrum**  
62.5 kHz wide, so roughly 910.494 to 910.556 MHz. The 902 to 928 band has room for more than 400 channels that size. We all share one of them.

**How much data**  
2,734 bps at the physical layer. That is not per node, that is the total for everyone inside earshot of each other.

**What a packet costs**  
Time on air at our settings:

16 bytes ......... 103 ms  
32 bytes ......... 144 ms  
64 bytes ......... 236 ms  
120 bytes ........ 400 ms (a signed advert)  
200 bytes ........ 635 ms

**Airtime percentages**  
LoRa has no real collision avoidance, so throughput starts dropping once the channel is busy more than about 15 to 20 percent of the time. That is the number to stay under.

Take 30 repeaters in range of each other. A flood advert gets rebroadcast by each one, so a single advert costs around 12 seconds of shared airtime. All 30 doing it once is roughly 370 seconds of channel time.

47 hour flood interval: 0.2 percent airtime  
1 hour flood interval: 10 percent airtime  
15 minute interval: 41 percent airtime

Zero hop adverts are single transmissions with no rebroadcast, so a 4 hour zero hop interval across 30 repeaters costs under 0.1 percent. Those are cheap.

**Takeaway**  
Keep flood adverts at 47 hours. That one setting is the difference between adverts using a fraction of a percent of our airtime and using a large share of it. Messages, telemetry and room posts all come out of whatever is left.

Numbers assume the worst case where every repeater hears every other one. Real coverage is patchier and repeaters that cannot hear each other transmit at the same time, so actual figures run lower, but the ratios hold.

# Ottawa # chanels

### List of Ottawa # chanel

##### Anyone can update this list

Please add any channel to this wiki list, anyone can register on this wiki with an email an password, no e-main verification required (the email can even be made-up). **Just use a tiny header for the #.**

##### Anyone can create any # channels in meshcore

\# channels keys are generated from the channel name so everyone who adds a # channel of the same name will instantly be able to talk to each other over flood.

### List:

##### Public

Public is the default unencrypted channel, this is where new users land, and sometimes the default conversations, however #ottawa is sometimes favoured (at least before the traffic was scoped). **No bots are allowed here**. The only bot there is ottobot but only for welcoming new usernames with our mesh website for procedures.

##### \#ottawa

The official meshcore channel for Ottawa. No bots are allowed

##### \#testing

You can do any test in there, people may answer, ottobot may also answer. You can request an ACK for a response or no ACK.

##### \#bots

All the bots should be placed here, an example of command would be **@ottobot !ping** or **@ottobot !test**

When you add your own bot, please consider the following bot etiquette [https://ottawamesh.ca/meshcore/general-bot-etiquette/](https://ottawamesh.ca/meshcore/general-bot-etiquette/)

##### \#ott-alerts

You can add this channel to receive automated alerts such as weather alerts and hydro Ottawa power outages. **Please keep the chatter to a minimum on this channel (ideally read-only) as people might keep the notifications on for emergencies only.**

##### \#operators

Add this channel if you are the owner or the manager of some meshcore repeaters. Critical information and procedures from the discord will be distributed here as well for everyone to apply when needed. You can also consult with fellow operators when needed.

##### \#meshcore

For questions about meshcore, much like #meshcore in discord but for people outside discord

##### \#radio

For radio frequency discussions, mosly for question about radio, since radio experts are monitoring this channel.

##### <span style="color:rgb(126,140,141);"><s>\#montreal</s></span>

<span style="color:rgb(126,140,141);">This channel is the main channel in Montréal. With the new scope blocking Edge repeaters, this channel is out of reach to Ottawa, and **should not be used anymore**, even with a bridging scope like onqc out of respect for them (to avoid unidirectional spamming)</span>

##### \#gatineau

A channel for people in YOW on the Gatineau side, this channel may be use to limit the chatter to the Québec side only or to speak in French.

##### \#aylmer

A channel for Aylmer QC

##### \#barrhaven

A place for people in the Barrhaven area.

##### \#bike

##### \#caf

Canadian Armed Forces and veterans

##### \#cars

For car people and mechanics to talk about cars and projects

##### \#constancebay

##### \#games

##### \#hamradio

To talk to amateur radio HAMs in the Ottawa region

##### \#hike

##### \#music

##### <span style="color:rgb(126,140,141);">\#wardriving</span>

<span style="color:rgb(126,140,141);">This channel is automatically added my MeshMapper app, it sends internal codes to the server. You don't need to add this.</span>

##### \#watersport

##### \#queer

# Home Assistant meshcore polling rate

### Assistant integration polling best practices

#### How it affects the mesh

Limiting your polling rate in MeshCore is essential because LoRa radio frequencies have extremely limited bandwidth and are shared across your entire network.

Here is why high polling rates cause problems:

- **Airtime Saturation:** Every active poll creates a multi-hop round trip. Frequent polling clogs the airwaves, blocking text messages and critical network traffic.
- **RF Collisions:** Too many devices transmitting simultaneously leads to packet loss and dropped data across the mesh.

Since meshcore traffic should prioritize human messages, we should aks the community to poll their repeaters with Home Assistant in a responsible manner and reduce the polling rate if their repeater path is multi hop.

#### The polling rate per hop

As a rule of thumb, we can use the formula hours=2^hops to estimate a polling rate in hours for the number of hops required one way. Here is an example :

<table id="bkmrk-hops-hours-0-1-1-2-2" style="border-collapse:collapse;width:15.2381%;height:208.578px;"><colgroup><col style="width:50%;"></col><col style="width:50%;"></col></colgroup><thead><tr style="height:29.7969px;"><td style="height:29.7969px;">Hops</td><td style="height:29.7969px;">Hours</td></tr></thead><tbody><tr style="height:29.7969px;"><td style="height:29.7969px;">0</td><td style="height:29.7969px;">1</td></tr><tr style="height:29.7969px;"><td style="height:29.7969px;">1</td><td style="height:29.7969px;">2</td></tr><tr style="height:29.7969px;"><td style="height:29.7969px;">2</td><td style="height:29.7969px;">4</td></tr><tr style="height:29.7969px;"><td style="height:29.7969px;">3</td><td style="height:29.7969px;">8</td></tr><tr style="height:29.7969px;"><td style="height:29.7969px;">4</td><td style="height:29.7969px;">16</td></tr><tr><td>5</td><td>32</td></tr><tr style="height:29.7969px;"><td style="height:29.7969px;">6</td><td style="height:29.7969px;">64</td></tr></tbody></table>

You can change the polling rate of a repeater in the meshcore integration, the cog wheel, manage monitored device, select device, submit, update\_interval (in seconds)