LoRa/The packet and the noise/Bandwidth, coding and the packet
Lesson 4 of 12 · in 3D and VR

Bandwidth, coding and the packet

A packet is a preamble, a header, a payload and a check, and every part has a time on the air. This lesson widens the band, adds coding and drops the header, and reads the total off the timeline.

Lonely BinaryUpdated 2026-10-145 min readNo board required

View it in VR

Lesson 4 of the LoRa course opens in a VR headset, on a table in front of you, and a voice starts three seconds after you arrive. Type this short address into the browser on a headset such as Meta Quest or Apple Vision Pro, and press Enter VR. No headset? Press Start the lesson: the same lesson, full screen.

learn.lonelybinary.com/vr/lora/4

Bandwidth

The chirp sweeps across the bandwidth, so the bandwidth sets how fast the sweep can be. LoRaWAN regions use 125, 250 and 500 kHz, and the chips offer more, down to 7.8 kHz. Doubling the bandwidth halves the symbol time, so the same packet takes about half the time and the nominal bit rate doubles. It also lets twice the noise into the receiver, about 3 dB of sensitivity, which is the price.

Coding

The coding rate is 4/5, 4/6, 4/7 or 4/8: for every four data bits the radio sends five to eight. The extra bits let the receiver repair a few damaged ones. Nothing is free. Stronger coding makes the payload longer, in steps, so it costs airtime for robustness against errors.

The packet

A packet is a preamble, a header, the payload and, optionally, a 16-bit check. The preamble is a programmable number of plain chirps, eight in LoRaWAN, followed by the sync word and delimiter, 4.25 symbol times more. In the default explicit mode the header says how long the payload is, how it is coded and whether a check follows, and it has its own protection. In implicit mode there is no header, which saves a little airtime, but both ends must already agree on length, coding and check, because nothing in the packet says.

The check and the coding are different operations. The check detects that the payload was damaged. The coding repairs a few bits. With the check on, a damaged payload is flagged as damaged. With it off, a damaged payload looks like any other.

A rate is not throughput

Nominal bit rate is the spreading factor times the coding fraction times the bandwidth over 2^SF. It is a rate for the modulation alone. The preamble, the header, the check, and in LoRaWAN the protocol's own overhead all take airtime that carries none of your bytes, so the bits that arrive per second are lower, and on a six byte report they are far lower.

Common mistakes

  • Treating the check as error correction. The check only detects damage. Repair is the coding's job, and it costs time.
  • Reading the nominal rate as throughput. Preamble, header and check come out of the airtime before any payload does.
  • Switching to an implicit header on one end. The two ends must agree on length, coding and check beforehand, or the receiver reads nothing.

Edit this page — content/fundamentals/lora/bandwidth-coding-and-the-packet.mdx

Discuss this article

Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.

Browse Fundamentals on the forum →