what kind of speed can LoRa really do?

https://lemmy.zip/post/48637558

what kind of speed can LoRa really do? - Lemmy.zip

scenario: In the future, it is possible to update your node on your 200-foot tower by simply sending the firmware file directly to the node with a zero hop direct connection I know short fast can get about 10kbps (1KB/s) across the link, but thats just too slow to send a 1.5MB firmware update. I know that short turbo is illegal in some places, and I believe it’s because it’s using a bandwidth of 500KHz instead of the 250KHz of short fast. So if you turn the error correction way down to almost off what is about the maximum bandwidth you could hope to possibly get out of the LoRa connection at 250KHz? Even if you could pull off 125kbps (12.5KB/s) that would only require two minutes to send the firmware file from your node to the receiving node up on the tower.

@shortwavesurfer I’ve updated nodes successfully via BLE, takes about ~7 minutes for the update to transfer. Maybe that’s something you could look into. I’ve used the MTools BLE app for it.

#meshtastic #meshcore #lora

The problem is that you can only update ESP32 devices over the air with Bluetooth.

A lot of infrastructure nodes, like routers, are going to be solar powered and likely be using the NRF52, which does not allow firmware updates that way.

So the thought is that you would either need a board with two MCUs and update one while the other is running and then reboot and switch to the new update one or send the file to like an SD card external storage and reboot the node from the SD card update.

@shortwavesurfer the node I’ve updated was a rak4631, so that works fine.
Oh, I stand corrected then. I thought the only devices you could update over the air like that were the ESP32 devices. Still though, if your router is 200 feet up on a tower, even if you’re standing at the base of that tower, would you be able to even connect to the Bluetooth of the node?
@shortwavesurfer you might have to use directional antennas on both sides for that
@shortwavesurfer and you’d probably want this bootloader so you can retry without falling back to USB: https://github.com/oltaco/Adafruit_nRF52_Bootloader_OTAFIX
GitHub - oltaco/Adafruit_nRF52_Bootloader_OTAFIX: USB-enabled bootloaders for the nRF52 BLE SoC chips

USB-enabled bootloaders for the nRF52 BLE SoC chips - oltaco/Adafruit_nRF52_Bootloader_OTAFIX

GitHub

According to the SX1261/2 datasheet, the maximum RAW bit rate of this LoRa chip is 62.5 kb/s for 500 KHz bandwidth and spreading factor of 5.

The bit rate is constrained by the spreading factor and the bandwidth. Bandwidth is constrained by law, spreading factor is constrained by design. You can find the details in LoRa™ Modulation Basics, AN1200.22, section 4.

For 250 KHz Lora, you can use the equation to get the theoratical max:

If we set SF = 5, BW = 250,000, bit rate is 39.0625 kb/s for a raw bit stream.

So, I think that the limit of 62.5 kb/s is a safe speed ceiling to consider. I am not sure how you would get 125 kbps using LoRa and current constraints. You could switch the chip to FSK mode and pull at 300 kb/s IF the FSK link is strong enough.

Us bandwidth restrained by law cos frequency ranges are limited?

The frequency ranges, power of the transmitter, signal bandwidth, the fraction of time that the transmitter is transmitting (duty cycle), and some other parameters are regulated. LoRa usually transmits in an unlicensed ISM region of the radio spectrum. So, you don’t need a license to transmit, but devices still need to comply with the regulations to remain lawful.

I’m not sure about the legal bandwidth limits in different locations. The commonly used LoRa chip (SX1261) can support up to 500 KHz bandwidth, and the OP mentioned 250 KHz as their limit.

ISM radio band - Wikipedia

Interesting. So what’s the limiting factor for Meshtastic data throughput? Is it legal or technological?

Is it legal or technological?

Bandwidth is a resource that limits the amount of information that you can transfer per unit time. You can get a higher throughput if you can increase the information density or by using more bandwidth. Physically, both are possible. Increasing bandwidth of a 868 MHz radio signal is primarily limited by law, not technology. Increasing the information density is limited by the technology of the receiver, transmitter, and modulation.

As for Meshtastic, they often rely on the SX1261/2 chips that have a bandwidth limit by design. The people who manufacture that chip could design it to support a wider bandwidth, but it makes more sense for them to optimize the specs in a way that falls within the legal boundaries of the target applications. This comes from the chip’s datasheet:

So… It is both, legal and technological. The technology is designed considering the law. But it is not limited by the laws of physics.

And there is an additional layer of constraints that are imposed by the Meshtastic firmware itself.

the maximum RAW bit rate of this LoRa chip is 62.5 kb/

Sooo, 1998 “USR X2” dial-up speeds.

1.5mb is okay. 32mb we used ‘at’ to schedule (just so we’d get the mail then it was done) and go to lunch.

I agree. I think that a firmware update taking several minutes to complete would be alright. If loss of service is a concern, they can keep more than one device at the tower and one acts as a backup while the other updates.

One problem is that the data rate I quoted is the maximum capacity for a continuous stream. In practice, that is often illegal due to duty cycle rules. So, you might get 40 kbps while transmitting, but local laws may let you transmit only 1% of the time. If you choose to be obedient it will take a lot longer to get the firmware across.

Even then, let’s say it takes a few hours to get the full firmware, I think this can be alright for sporadic firmware updates.

@shortwavesurfer this is based on #meshtastic so I would expect much higher rates if you’re not dealing with the mesh overheads. Theoretical rates (not assuming US operation) is 10.94 kbps https://meshtastic.org/docs/overview/radio-settings/ (check out presets). Remember this is for one specific use case.
Radio Settings | Meshtastic

Maximize your Meshtastic device's potential with detailed radio settings instructions, including frequency bands, data rates, and encryption options.

I’ve been wondering if a parted file scheme wouldn’t work. Sure, downloading 1.5MB over 10Kb/s in one shot might take a while, but what if I have more than a while? Download it in 200B messages over 3 months.

7500 messages over 90 days is only a little over 80 messages a day.

Just use one of these. I know it’s a bit off topic, but figured y’all would be interested: www.youtube.com/watch?v=ofR7GFNZzJY
I Built a $20,000 Military Router for $106.23

YouTube
Yeah, I saw that video.

The node would also have to have some storage space on board to store the new firmware file.

A question I have: Would it be possible to diff the old and new firmware binaries, and only transmit and install the difference?