The three lessons before this one described radios that are trying to go fast. WiFi (M11-L1) fills a 20, 80 or 160 MHz channel with the densest constellation the SNR will carry; LTE and 5G NR (M11-L2, M11-L3) stack OFDMA, MIMO and hundreds of megahertz to get a gigabit into a handset. This lesson is about the opposite corner of the design space, and the switch of objective is so complete that almost every instinct built up over Modules 5 and 6 has to be inverted. A door sensor does not want a gigabit. It wants to send twenty bytes an hour for ten years on a battery you could swallow, and it wants the radio inside it to cost less than a cup of coffee.
Here is the claim worth taking seriously before any of the standards arrive: that door sensor is a harder engineering problem than 1 Gbps over 10 metres. The gigabit link is hard in a way that money solves — spectrum, silicon area, a mains supply, a heatsink. The sensor is hard in a way money cannot solve, because the energy budget is fixed by chemistry and the ten years are fixed by whoever installed it in a ceiling void. Nothing about the physics of Modules 7 to 10 changes. What changes is the quantity being minimised: not bits per second per hertz, but joules per bit and dollars per node. This lesson takes four families of radio — Bluetooth, Zigbee, LoRa, and cellular IoT — and shows that each one is the course’s own machinery re-aimed at that target.
Start with the battery, because it is the specification everything else answers to. A CR2032 coin cell holds about 220 mAh at a nominal 3 V, which is 0.66 Wh or about 2376 J. Ten years is 10 × 8766 = 87 660 hours. Divide:
Now spend it. Suppose the sensor wakes once an hour, transmits its twenty bytes as a Bluetooth Low Energy advertisement, and goes back to sleep. Call the whole awake window 15 ms at an average 8 mA — generous, since that covers oscillator start-up, the transmission and a receive window. That is 8 mA × 0.015 s = 120 µA·s per event, which is 120/3600 = 33.3 nAh. Over ten years there are 24 × 3652.5 = 87 660 events, so the radio consumes 87 660 × 33.3 nAh = 2.92 mAh.
Read that against the 220 mAh available. The radio — the part with the antenna, the modulator, the amplifier, the entire subject of this course — accounts for 1.3% of the energy budget. The other 98.7% is spent doing nothing: 220 − 2.9 = 217.1 mAh over 87 660 h is an allowed sleep current of 217.1/87 660 = 2.48 µA. That single comparison is the design inversion, and it has three consequences that run through every technology below.
And note what is not on that list: spectral efficiency. None of these systems is short of hertz. All of them are short of joules, and most of them are short of cents. Keep that ranking in mind, because it explains choices — like deliberately throwing away a factor of eighteen in data rate — that would be indefensible in Module 6.
Bluetooth is two different radios that share a name, a band and a logo. Both live in the 2.4 GHz ISM band, which M11-L1 already established is shared with WiFi and everything else — so both are designed around interference (M9-L3) rather than around thermal noise alone.
Bluetooth Classic divides 2402–2480 MHz into 79 channels of 1 MHz, and refuses to stay on any of them. It hops pseudo-randomly at 1600 hops per second, so the dwell time on one channel is 1/1600 = 625 µs — one slot. Frequency-hopping spread spectrum here is not doing what CDMA’s spreading did in M10-L1; it is doing something simpler and, in a band full of strangers, more useful. A WiFi network parked across 20 MHz destroys about 20 of the 79 channels. A hopping link loses those 20 hops and keeps the other 59, which error correction and retransmission repair. Interference that would be fatal to a fixed channel becomes a 25% packet-loss rate that the protocol absorbs.
The duplexing is pure TDD, and it is worth naming as such because M10-L4 gave the vocabulary: master and slave alternate slots on the same hop sequence, one 625 µs slot each way. There is no paired spectrum, no duplexer, only a switch — exactly the hardware saving M10-L4 priced, and in a device that must cost pennies it is decisive. Classic’s basic rate is 1 Mbit/s using GFSK; Enhanced Data Rate adds 2 and 3 Mbit/s using π/4-DQPSK and 8DPSK, and pays for them by abandoning the constant envelope on the payload, which is why EDR is the thirstier mode.
Bluetooth Low Energy, introduced in Bluetooth 4.0, is a clean-sheet design that keeps the band and discards nearly everything else. It uses 40 channels of 2 MHz — centres at 2402 + 2k MHz for k = 0 to 39, so 2402 to 2480 MHz, the same span covered in half as many, twice as wide steps. Three of those (channels 37, 38 and 39, at 2402, 2426 and 2480 MHz) are primary advertising channels, deliberately placed in the gaps between the three non-overlapping WiFi channels of M11-L1. The remaining 37 are data channels, and a connected link hops among them under an adaptive map that removes channels it finds persistently bad.
BLE’s modulation is GFSK at 1 Msym/s with a nominal modulation index of 0.5, and this is the point in the course where a promise made in M5-L2 is collected. That lesson said FSK is constant-envelope, that a constant envelope can be driven through an efficient non-linear amplifier without distortion, that the price is bandwidth, and that Gaussian filtering tames the spectrum. Every one of those clauses is a reason BLE exists in the shape it does. It can afford the bandwidth, because 1 Mbit/s in a 2 MHz channel is a spectral efficiency of 0.5 bit/s/Hz — a figure Module 6 would call wasteful and this lesson calls irrelevant. What it cannot afford is a linear amplifier, or the headroom a linear amplifier needs, or the current it draws. BLE is the payoff example for constant-envelope modulation: a scheme chosen not for its bits per hertz but because the transmitter it implies is cheap and efficient.
The 2 MHz spacing has a second, quieter reason. A wider channel tolerates a sloppier, cheaper crystal: a ±50 ppm reference at 2.44 GHz is ±122 kHz of error, which is 6% of a 2 MHz channel and 12% of a 1 MHz one. Cost pressure reaches all the way down to the frequency plan.
Bluetooth 5 added two more physical layers on top of the original — three PHYs in total, running in the four modes below, all sharing the same channels:
The S = 8 mode is sold as “4× range”, and that claim is a good place to practise the arithmetic of Modules 8 and 9 on a number someone is trying to sell you. Two separate quantities have to be computed and then compared, and they do not agree.
Now invert it, which is the step that matters. Take the honest 9.03 dB and ask what range multiplier it actually buys, using M8-L4’s exponent:
So “4× range” is not a lie, but it is a best case that requires two things at once: the full 12 dB, and a propagation environment with n = 2. Indoors, where these devices actually live and where M8-L4 measured n between 3 and 4, the honest answer is closer to 2×. The general rule is worth extracting because it recurs: a decibel is worth more range in free space than in clutter, so any range claim quoted without an exponent is quoting its own best case. And the price is on the label — 125 kbit/s instead of 1 Mbit/s, eight times the time on air, and therefore eight times the transmit energy for the same payload. Range is bought with energy per bit, every time.
Zigbee is a networking layer sitting on the IEEE 802.15.4 physical layer, and it answers a question Bluetooth does not: how do you cover a whole building with radios that individually reach one room? Its physical layer at 2.4 GHz uses 16 channels spaced 5 MHz apart (channels 11 to 26, 2405 to 2480 MHz), each occupying about 2 MHz, and carries 250 kbit/s using O-QPSK — offset QPSK with half-sine chip shaping, which keeps the envelope nearly constant for the same amplifier reason BLE keeps it exactly constant. There are also sub-GHz variants: one channel at 868.3 MHz carrying 20 kbit/s, and ten channels at 902–928 MHz carrying 40 kbit/s.
Underneath the O-QPSK is direct-sequence spread spectrum, and its arithmetic is the M10-L1 formula applied to a much smaller radio. Each group of 4 bits selects one of 16 pseudo-noise sequences of 32 chips, so the chip rate is 250 kbit/s ÷ 4 bit per symbol × 32 chip per symbol = 2 Mchip/s, and the processing gain is 2×10⁶/250×10³ = 8, or 10 log₁₀8 = 9.03 dB. That is the same 9.03 dB as BLE’s Coded PHY, arrived at by a completely different mechanism — a coincidence of both choosing a factor of eight, and a useful check that the formula does not care how the spreading is done. Spec-minimum sensitivity is −85 dBm; real radios reach about −100 dBm, which against M9-L1’s floor of −174 + 10 log₁₀(2×10⁶) = −174 + 63.01 = −110.99 dBm and a 6 dB noise figure implies a required SNR of −100 + 105.0 = 5 dB — entirely plausible for a lightly coded QPSK link.
A Zigbee network has exactly three kinds of member, and the distinction is about power, not about capability:
That division is the honest core of Zigbee. A smart-home mesh works because someone already installed mains power in the ceiling, and the light bulbs pay the always-on cost so the battery sensors do not have to. A mesh of nothing but battery devices is not a thing you can build.
Put a number on the reach. Take a 0 dBm transmitter and a −100 dBm receiver, so a raw budget of 100 dB, and spend M9-L4’s indoor margins — 8 dB fade, 5.1 dB shadowing, 3 dB interference, total 16.1 dB — leaving 83.9 dB of allowed path loss. With M8-L4’s log-distance model anchored at PL(1 m) = 40.05 dB for 2.4 GHz and n = 3.0 for an office floor: d = 10(83.9−40.05)/30 = 101.462 = 29.0 m per hop. Three hops therefore reach roughly 3 × 29 = 87 m, and they do it without one extra decibel of transmit power or one extra decibel of sensitivity. Compare what a single hop would need to cover 87 m: 40.05 + 30 log₁₀(87) = 40.05 + 58.24 = 98.3 dB of path loss, which is 98.3 − 83.9 = 14.4 dB more budget than the radio has. Relaying bought 14.4 dB for free. That is the case for mesh, and it is a strong one.
The charges are three, and each is a direct consequence of relaying:
So mesh converts infrastructure into range, and pays in latency, throughput and operational complexity. It is the right trade for a house full of mains-powered lamps and the wrong trade for a single sensor in a field — which is exactly the case the next technology was built for.
LoRa is the most interesting radio in this lesson, and the reason is that you have already met its central idea under a different name. M10-L1 built CDMA out of one ratio: spread the signal over a bandwidth much wider than the data needs, and the despreading operation at the receiver returns the ratio of the two as processing gain, chip rate divided by data rate — 1.2288 Mcps over 9.6 kbit/s = 128 = 21.07 dB for IS-95. LoRa does exactly this. What it changes is the spreading mechanism: instead of multiplying by a pseudo-random code, it sends a chirp — a tone that sweeps linearly across the whole channel bandwidth — and encodes the data in where the sweep starts.
Concretely, in a 125 kHz channel the chirp sweeps 125 kHz in one symbol period and then wraps. A symbol carries SF bits by choosing one of 2SF cyclic starting offsets, and the receiver de-chirps by multiplying with a conjugate sweep, which collapses the whole 125 kHz of energy into a single frequency bin whose position is the data. This is called chirp spread spectrum, and note the family resemblance and the difference: like CDMA it earns gain by occupying far more bandwidth than the data rate requires; unlike CDMA the spreading sequence is deterministic and identical for everyone, so LoRa gets no multiple-access separation from it. Two LoRa transmissions on the same channel and spreading factor collide; they do not coexist the way two CDMA codes do.
LoRa offers SF7 to SF12 (and SF5, SF6 on newer parts). Take B = 125 kHz and the common code rate CR = 4/5, and do both extremes by hand.
Each SF step doubles the symbol duration, so it halves the effective noise bandwidth per symbol, and the theoretical gain is 10 log₁₀2 = 3.01 dB. Datasheets measure about 2.5 dB, the missing half-decibel being implementation loss. Anchor at the figure the SX126x family quotes for SF12 in 125 kHz, −137 dBm, and the whole table follows from −137 + 2.5(12 − SF): −134.5 at SF11, −132 at SF10, −129.5 at SF9, −127 at SF8, −124.5 at SF7. Five steps is 5 × 2.5 = 12.5 dB, and the endpoints check: −124.5 − (−137) = 12.5 ✓.
Now do the thing M9-L1 makes possible, and ask whether −137 dBm is even legal physics. The thermal floor in 125 kHz is −174 + 10 log₁₀(125 000) = −174 + 50.97 = −123.03 dBm. With a 6 dB noise figure the receiver’s own floor is −117.0 dBm. So the required SNR is −137 − (−117.0) = −20 dB: LoRa demodulates a signal twenty decibels below the noise in its own channel. This is the identical situation M10-L1 described for IS-95, which recovered a signal 14.07 dB under the noise, and the resolution is the identical one — the despreading supplies the missing decibels. Verify with M9-L1’s relation SNR = Eb/N₀ + 10 log₁₀(Rb/B): Eb/N₀ = −20 − 10 log₁₀(366.2/125 000) = −20 + 25.3 = +5.3 dB. A perfectly ordinary number for a coded link, and the −20 dB stops looking like magic the moment it is expressed per bit rather than per hertz.
The link budget follows. In the EU 868 MHz band the transmit limit is 14 dBm (25 mW), so the budget at SF12 is 14 − (−137) = 151 dB, and at SF7 it is 14 + 124.5 = 138.5 dB. Compare with the WiFi link M9-L4 worked at its lowest rate: a 20 MHz channel, 6 dB noise figure, 5 dB of required SNR gives a sensitivity of −90.0 dBm, and against 20 dBm of transmit power a budget of 110 dB. LoRa is 151 − 110 = 41 dB better, and the 41 decibels decompose exactly:
And the bill is on the other side of the ledger. WiFi’s lowest rate is 6 Mbit/s; LoRa SF12 is 293 bit/s, a ratio of 6×10⁶/293 = 20 478, which is 10 log₁₀(20 478) = 43.1 dB of data rate surrendered. Forty-three decibels of rate bought forty-one decibels of link budget. That near-unity exchange is the cleanest statement of what LoRa is: not a cleverer radio, but the same radio spending its Shannon allowance (M6-L1) on distance instead of throughput.
LoRaWAN is the network layer above LoRa, and in the EU 868 MHz sub-bands it operates under a 1% duty-cycle regulatory limit — a device may occupy a sub-band for at most 36 seconds in any hour. This, not the 293 bit/s, is what actually caps what you can build. Work out the time on air for a 12-byte payload at SF12/125 kHz. The symbol period is 212/125 000 = 32.768 ms. An 8-symbol preamble plus the standard 4.25-symbol sync is 12.25 × 32.768 = 401.4 ms. The payload works out at 23 symbols, so 23 × 32.768 = 753.7 ms. Total: 401.4 + 753.7 = 1155 ms — one and a sixth seconds to move twelve bytes.
Redo it at SF7 and the constraint changes character entirely. The symbol period is 27/125 000 = 1.024 ms, the preamble is 12.25 × 1.024 = 12.5 ms, the payload comes to 28 symbols or 28.7 ms, and the total time on air is 41.2 ms — so 36/0.0412 = 873 messages per hour. That is 873/31 = 28× the message capacity for the same regulatory allowance, bought by giving up 12.5 dB of link budget. Airtime, not bandwidth and not energy, is the currency of a LoRaWAN network, and the whole art of deploying one is pushing devices to the lowest spreading factor that still reaches a gateway. Adaptive data rate does precisely this, and a network where every device has settled on SF12 is a network in trouble.
Two more properties of LoRaWAN are worth stating plainly, because they bound what the technology can be asked to do. It is a star-of-stars, not a mesh: devices talk directly to gateways, gateways backhaul over IP, and no device ever relays for another — so unlike Zigbee it buys its range entirely with link budget rather than with infrastructure density. And Class A, the mandatory and overwhelmingly common mode, is uplink-biased by construction: a device transmits when it wants to, then opens two short receive windows (typically 1 s and 2 s afterwards) and closes them. Outside those windows it is unreachable. A downlink command therefore waits for the device’s next uplink, which may be an hour away, and gateways are duty-cycle limited too. LoRaWAN is excellent at collecting sensor readings and poor at commanding actuators, and that is a property of the design, not of any implementation.
Everything so far has been unlicensed spectrum, which is free and therefore crowded and therefore unguaranteed. The cellular answer to IoT keeps the licensed spectrum, the towers and the SIM-based identity of M11-L2, and strips LTE down until the device is cheap enough and idle enough to belong in a water meter. Two flavours were standardised in 3GPP Release 13, and they differ in exactly the way this lesson has been predicting.
NB-IoT’s carrier is 180 kHz wide, and that number is not arbitrary in the slightest. M10-L2 built LTE’s resource block out of 12 consecutive subcarriers at 15 kHz spacing and verified 12 × 15 = 180 kHz. NB-IoT is exactly one LTE resource block. That single decision is why an operator can drop NB-IoT into a live LTE carrier by withholding one resource block from the scheduler (in-band mode), or park it in the guard band at the edge of an LTE carrier, or run it standalone in a retired GSM channel — the 200 kHz GSM raster of M11-L2 has just enough room. No new numerology, no new filter, no new band plan. It is the most elegant piece of reuse in the whole of cellular IoT, and it exists because M10-L2’s grid was built to be subdivided.
The headline figure is a maximum coupling loss of about 164 dB, against roughly 144 dB for ordinary LTE — a 20 dB improvement, which is what “deep indoor and basement coverage” means in decibels. Check that it is consistent. Uplink, a device transmits at 23 dBm, so 164 dB of coupling loss requires a base-station sensitivity of 23 − 164 = −141 dBm. On a single 3.75 kHz uplink tone — NB-IoT’s narrowest option — M9-L1 gives a floor of −174 + 10 log₁₀(3750) = −174 + 35.74 = −138.26 dBm, and with a good 3 dB base-station noise figure −135.3 dBm. The required SNR is therefore −141 + 135.3 = −5.7 dB, which repetition and a low code rate supply with room to spare. Turn the 20 dB into range with M8-L4: at n = 3.5 it multiplies distance by 1020/35 = 3.7×, and at n = 4 by 1020/40 = 3.16×. Peak rates are modest by design — about 250 kbit/s in Release 14 with multi-tone uplink, and only about 26 kbit/s down and 62 kbit/s up in Release 13 single-tone. There is no handover: NB-IoT assumes the meter stays where it was installed.
Worth comparing honestly with LoRa. NB-IoT’s 164 dB against LoRa’s 151 dB looks like a 13 dB rout, but 9 dB of it is simply transmit power — 23 dBm against the 14 dBm the EU band permits. Referred to sensitivity alone the gap is −141 against −137, i.e. 4 dB. The real differences between them are not in the physical layer at all: licensed versus unlicensed spectrum, a duty cycle or none, an operator subscription or none.
LTE-M (Cat-M1, formally eMTC) takes the other branch. Its channel is 1.4 MHz, which is 6 resource blocks — 6 × 180 kHz = 1.08 MHz occupied, precisely the allocation M9-L4 used for its uplink and downlink budgets. Peak rate is about 1 Mbit/s each way in Release 13 (Cat-M2 in Release 14 reaches roughly 4 Mbit/s), and the maximum coupling loss is about 156 dB — 8 dB less than NB-IoT, which the wider channel alone nearly explains: 10 log₁₀(1.08×10⁶/180×10³) = 10 log₁₀6 = 7.78 dB more noise admitted ✓. What the extra bandwidth and complexity buy is the two things NB-IoT gave up: mobility, with proper handover between cells, and enough throughput and low enough latency to carry VoLTE voice. That makes LTE-M the technology for asset trackers, fleet telematics, wearables and lift alarms, and NB-IoT the technology for things bolted to a wall. Many LTE-M devices also use the half-duplex FDD mode M10-L4 flagged as a datasheet curiosity: paired bands, but never both at once, so the duplexer can be replaced with a switch. Cost pressure, again, reaching into the front end.
A normal LTE handset wakes every 1.28 seconds or so to check for pages. At tens of milliamps per wake that alone would exhaust a coin cell in weeks, so both cellular IoT flavours add two mechanisms whose only purpose is to let the modem be genuinely off.
The two are a straight trade between current and reachability, and they are the same trade LoRaWAN Class A makes by fiat: PSM is the lowest current and no downlink at all until the device speaks first; eDRX keeps downlink alive and charges latency for it. Both can be combined. Notice that neither is a radio technique — the entire ten-year battery story of cellular IoT is told in the state machine, not in the modulation, which is the design inversion of this lesson stated one last time.
A single “which is best” ranking would be worthless, because these technologies are not competing on one axis. Lay them out on the six that actually decide procurement, with WiFi included as the reference point they are all defined against.
| Technology | Rate | Range | Battery | Topology | Spectrum | Radio cost |
|---|---|---|---|---|---|---|
| BLE | 125 kbit/s (Coded S=8) to 2 Mbit/s (2M) | 10–100 m; ~2× that on Coded PHY at n = 2 | Years on a coin cell at low duty | Star, plus mesh in the separate BLE Mesh profile | 2.4 GHz ISM, unlicensed | Lowest; already in every phone |
| Zigbee | 250 kbit/s (2.4 GHz); ~80 kbit/s end-to-end over 3 hops | ~29 m per hop, multiplied by hop count | Years for end devices; routers need mains | Mesh — coordinator, routers, end devices | 2.4 GHz ISM (and 868/915 MHz), unlicensed | Low |
| LoRa / LoRaWAN | 293 bit/s (SF12) to 5469 bit/s (SF7) | 2–15 km, more over water; 151 dB budget | 10 years, easily — the least demanding radio here | Star-of-stars; devices never relay | Sub-GHz ISM, unlicensed, 1% duty cycle in EU 868 | Low device, but gateways must be bought |
| NB-IoT | ~250 kbit/s (Rel-14); 26/62 kbit/s in Rel-13 | Operator’s cell footprint; 164 dB coupling loss | 10 years with PSM | Star to the operator’s network; no handover | Licensed — one 180 kHz resource block | Moderate, plus a subscription per device |
| LTE-M | ~1 Mbit/s (Cat-M1) | Operator’s footprint; ~156 dB coupling loss | Years, shorter than NB-IoT for the same duty | Star, with handover and VoLTE | Licensed — 1.4 MHz, 6 resource blocks | Higher than NB-IoT, plus a subscription |
| WiFi | Tens to hundreds of Mbit/s (M11-L1) | ~17 m at 64-QAM, ~56 m at the lowest rate (M9-L4) | Days at best; assumes mains or nightly charging | Star to an access point | 2.4/5/6 GHz ISM, unlicensed | Highest of the six |
One entry in that table deserves a warning, because it is the most common misreading of the whole field. “Low power” does not mean “efficient per bit”, and LoRa proves it. A BLE 1M transmission at roughly 30 mW for 1 Mbit/s costs about 30 nJ per bit. LoRa at SF12, drawing perhaps 40 mA at 3.3 V, is 132 mW for 293 bit/s — about 450 µJ per bit, which is 450×10⁻⁶/30×10⁻⁹ = 15 000 times worse per bit. LoRa wins on battery life anyway, for one reason only: it sends so few bits that a catastrophic cost per bit still adds up to nothing. Energy per bit is the right figure of merit for a link; energy per useful message per decade is the right figure of merit for a product, and the two rank these radios in opposite orders.
The useful way to decide is the one M4-L4 used for AM and FM: do not compare feature lists, identify the dominant constraint and let it pick. In practice one constraint almost always dominates so completely that the rest are tie-breakers.
Two constraints beat all of the above when they apply. If a regulator’s duty cycle makes your message rate impossible, no amount of link budget rescues it — the 31 messages an hour computed above has ended more LoRaWAN designs than poor coverage ever has. And if the thing you are building must be commanded rather than merely read, a Class A LoRaWAN device is the wrong shape no matter how well it fits every other line.
This lesson closes the module, and the module had a single job: take the physics of Modules 2 to 10 and watch real standards choose. Every one of the four lessons is a set of choices made against a different dominant constraint:
The through-line is that none of these standards invented physics. They allocated it. Every choice examined in this module was a decision about which resource to spend — spectrum, time, power, energy, money, coordination — on which of the constraints that mattered most to whoever was paying. Module 12 closes the course, assembling a complete end-to-end system from all twelve modules and then looking at what comes after 5G. Those topics are not taught here.
Module 11 is complete. WiFi (M11-L1), cellular from 1G to 4G (M11-L2), 5G NR (M11-L3) and this lesson on short-range and IoT radios close the module, and with it the account of how real standards choose among the mechanisms Modules 2 to 10 supplied. Module 12 follows: the end-to-end capstone that assembles one working link out of every piece you now hold (M12-L1), emerging topics priced in decibels rather than adjectives (M12-L2), and where this work is actually done (M12-L3).