Meshtastic in the United States

Looking at the source I can see the software logs airtime but what I do not see is what is being done to make sure the transmission does not exceed the max channel dwell time (duration of transmission) of 400 ms as shown below is bold?

US902-928 Summary

The following table summarizes all the important parameters we have discussed in this section for US902-928 band.

|Default frequency band|902-928 MHz|
|Mandatory channel frequencies for join-request|Upstream: 64 channels - 902.3 – 914.9 MHz in 200 kHz increments)

Upstream: 8 channels - 903.0 – 914.2 MHz in 1.6 MHz increments

Downstream: 8 channels - 923.3 – 927.5 MHz in 600 kHz increment|
|Mandatory data rates for join-request|64 (125kHz channels) using DR0 and 8 (500kHz channels) using DR4|
|Optional data rates|5-6|
|Number of channels|Upstream: 64 (125kHz) + 8 (500 kHz)

Downstream: 8 (500 kHz)|
|Default channels|Ch0 - Ch71|
|Duty cycle|No limit|
Dwell time limitation|Ch0-Ch63: 400 ms

Ch64-Ch71: No|
|Max EIRP (default) - TXPower 0|+30 dBm|
|Default RX2 data rate|DR8|
|Default RX2 frequency|923.3 MHz|

reference: Regional Parameters | The Things Network

Based on this calculator: https://www.thethingsnetwork.org/airtime-calculator
Packets should not exceed these limits:

Mode Bitrate (bits/sec) Max payload size (bytes)
SF7/125kHz 5470 242
SF8/125kHz 3125 125
SF9/125kHz 1760 53
SF10/125kHz 980 11
SF7/500kHz 21900 222
SF8/500kHz 12500 222
SF9/500kHz 7000 222
SF10/500kHz 3900 222
SF11/500kHz 1760 109
SF12/500kHz 980 33

It just appears at first glance (I am still digging into the code) of mesh.pb.h that the MeshPacket is at least 2 to 3 times the max payload size to fit into the 400ms max dwell time permitted by the FCC.

Was this max dwell time (max transmitting time) considered? I understand if it wasn’t, the United States is different in regulating the 902 - 928 MHz ISM band not by duty cycle but by regulating how long the transmission can take. Based on the above referenced calculator make packet length based on mode is anywhere from 11 to 242 bytes of data.

I wanted to hear from developers before starting a United States version that I would call MeshLite which would adhere to the 400ms max dwell time rule.

Instead of forking maybe you could create the needed functions and add a setting to the related configurations so Dwell/ Duty cycle limits are adhered to for regions that require it.

One thing to be careful about is The Things Network is loraWAN and Meshtastic is loraP2P. Some of the restrictions are also TTN related that may not apply here.

1 Like

Most of our users are in the US. DSSS which is what is used by Meshtastic has no dwell time requirement, FHSS does. There is a ton of discussion of band plans and other exciting frequency related details on the discord.

The discord link should probably be stickied to the top of the forum. A lot of background conversation goes on there that isn’t immediately visible to the general public if they are googling meshtastic. Forum use has significantly dropped off since.

1 Like

This is done.

2 Likes