../

Mesh, IoT & autonomous systems

Networks of machines, from scratch: meshes that relay and repair themselves, the power and range limits of battery sensors, smart-home radios (Zigbee, Thread, Matter, Z-Wave), long-range low-power networks (LoRaWAN, NB-IoT, LTE-M), the buses inside a car and the radios between cars, drone and robot links (MAVLink, ROS 2), swarms, delay-tolerant networks, factory networks and IoT security. Radio physics (spectrum, antennas, modulation, link budgets) is in Radio, Bluetooth in Bluetooth and Wi-Fi in Wi-Fi.

Mesh networking

In a star network every device talks straight to a hub, like phones to a Wi-Fi access point. In a mesh, devices also relay for each other: a message hops from node to node until it reaches its destination. Each node that forwards is a relay (or router); the path is multi-hop.

Why bother: each hop can be short, so radios can be cheap and low-power, and a network can cover a building or a field that no single radio could; and when one relay fails, traffic can go around it.

S A B C D E F G H GW sensor gateway the route: 5 hops other links in radio range each relay receives, checks, forwards

Five hops from a sensor to the gateway: every relay receives the whole message, checks it and sends it on.
Costs of hoppingWhy
Delayevery hop receives, checks and retransmits: milliseconds per hop on 802.15.4 radios
Throughputrelays on one channel take turns, so a long chain carries a fraction of one link's rate
Powera relay must keep its receiver on to hear others, so relays are usually mains powered
Airtimeevery hop is a full transmission that neighbors must wait out

There are two basic ways to get a message across a mesh, flooding and routing, and routing comes in several styles:

ApproachHow it worksGood forCostUsed by
Floodingevery node rebroadcasts each new message once (remembering IDs to drop duplicates), with a hop limit (TTL)small meshes, rare messages, finding routesairtime grows with the number of nodes; floods can collideBluetooth Mesh (managed flooding), route discovery in most meshes
Routed, proactivenodes keep routes to every destination, updated by periodic messageslow first-message delayconstant background trafficThread routers, OLSR, B.A.T.M.A.N.
Routed, on demanda route is searched for only when needed, then cachedsparse trafficthe first message waits for discoveryZigbee, AODV
Collection treeevery node keeps a route toward one root, the gatewaymany sensors reporting to one placetraffic toward the root crowds near itRPL (IPv6 sensor networks)

Good mesh routing doesn't just count hops. A short hop over a strong link beats a long hop that needs three retries, so protocols use link-quality costs such as ETX (expected transmission count: 1 for a perfect link, 2 when half the attempts fail).

Self-healing

A mesh heals when nodes notice a broken link and route around it with no one reconfiguring anything. Detection uses missing acknowledgments (ACKs, the receiver's "got it"), missed periodic beacons, or falling link quality.

S A B D E F G H GW C sensor gateway no ACK failed route: S → A → C → F → G → GW C dies; A's frames to C get no acknowledgment A floods a route request; every live node rebroadcasts it new route: S → A → E → G → GW (4 hops) C comes back: it rejoins as a candidate, not a must

1/5

A working route: S → A → C → F → G → GW.

Self-healing: detect the failure, rediscover, reroute.

Healing has limits: a mesh can't route around a gap no radio can cross, and if every path runs through one relay that relay is still a single point of failure. Put mains-powered relays where they create several independent paths.

IoT design constraints

IoT (internet of things) devices are computers whose job is to sense or act: thermostats, door locks, soil sensors, parking sensors, asset trackers. The hard constraint is usually energy: a sensor sealed in a box should run for years on one battery.

coin cell (CR2032)      ≈ 225 mAh
10 years                = 87,600 h
average current budget  = 225 mAh ÷ 87,600 h ≈ 2.6 µA
 
radio transmitting      ≈ 15 mA
asleep                  ≈ 1 µA
radio time allowed      ≈ (2.6 − 1) µA ÷ 15 mA ≈ 0.01%
                        ≈ 9 seconds of radio per day

So the device sleeps almost all the time and wakes briefly to measure and send: duty cycling. The duty cycle is the fraction of time the radio is on.

sensor Duty cycling: sleep, wake, send, sleep the radio is the power hog, so it is off almost all the time awake: mA asleep: µA now ← past · current drawn here: awake 1/8 of the time; real sensors often < 1% average current ≈ duty × I_awake + I_sleep

Duty cycling: average current is the duty cycle times the awake current, plus the sleep current.

Sleeping has consequences. A sleepy device can't be reached while asleep, so messages to it wait at its parent or gateway until it wakes and asks (polling), which makes commands to battery devices slow. It also can't relay for others, which is why meshes separate always-on routers from sleepy end devices.

The second constraint is physics: at a given transmit power, sending more slowly puts more energy into each bit, so a receiver can pick out weaker signals, which means longer range. Range, data rate and battery life trade against each other.

1 m 10 m 100 m 1 km 10 km 100 km 100 b/s 10 kb/s 1 Mb/s 100 Mb/s Wi-Fi 4G / 5G Wi-Fi HaLow Bluetooth LE LTE-M Zigbee, Thread Z-Wave NB-IoT LoRaWAN Sigfox Wi-Fi family cellular home mesh, PAN LPWAN typical range per link (both axes log scale)
Typical values per link; real range depends on antennas, walls, terrain and settings. Cellular escapes the trade-off by spending money on towers and power.
ConstraintTypical choices
Spectrumunlicensed ISM bands (free, shared, with power and duty-cycle rules): 2.4 GHz worldwide; sub-GHz 868 MHz in Europe and 915 MHz in the Americas, which pass walls better. Or licensed cellular spectrum: reliable, but you pay per device
TopologyPAN (personal area network: Bluetooth, a few meters), home mesh (Zigbee, Thread, Z-Wave), LPWAN (low-power wide-area network: one hop of kilometers to a gateway or tower)
Payload and latencya temperature reading is a few bytes; LPWANs allow tens of bytes, a few times an hour
Cost and sizemodules cost a few dollars; antennas and batteries set the size
Lifetime10+ years in the field means planning updates, key rotation and the network's own shutdown date

Zigbee, Thread and Matter

Three standards cover most smart-home devices, and they stack rather than compete.

Zigbee Matter over Thread Matter over Wi-Fi application transport network radio Zigbee Cluster Library (ZCL) APS Zigbee network mesh routing IEEE 802.15.4 2.4 GHz, 250 kb/s Matter one data model and security, any IP network UDP UDP, TCP IPv6 + 6LoWPAN Thread mesh routing IPv6 IEEE 802.15.4 2.4 GHz, 250 kb/s Wi-Fi or Ethernet fast, mains powered Zigbee and Thread share one radio standard; many chips speak both a Thread border router joins the two Matter networks at IPv6 new Matter devices are usually set up (commissioned) over Bluetooth LE
Thread is a network; Matter is the application language spoken over it, or over Wi-Fi and Ethernet.

IEEE 802.15.4 is the shared radio standard: 2.4 GHz worldwide (16 channels numbered 11 to 26), 250 kbit/s, frames of at most 127 bytes, designed for low power.

Zigbee (Connectivity Standards Alliance) is a complete stack on 802.15.4. Most devices in use run Zigbee 3.0; Zigbee 4.0, announced in November 2025, adds easier setup and Suzi, a long-range variant on sub-GHz bands (800 MHz in Europe, 900 MHz in North America). A network has three roles:

RoleCountDoes
Coordinatorexactly oneforms the network, admits devices, usually holds the keys (the trust center); typically the hub
Routermanyalways on, mains powered (bulbs, plugs): relays for others
End devicemanysleepy and battery powered (sensors, buttons); talks only to its parent router

Zigbee needs a hub or a USB coordinator stick (for example with Home Assistant or Zigbee2MQTT), and devices describe themselves with the Zigbee Cluster Library (ZCL): standard clusters such as On/Off or Temperature Measurement.

Thread (Thread Group) puts real IPv6 on 802.15.4. 6LoWPAN (RFC 4944 and RFC 6282) compresses the 40-byte IPv6 header to a few bytes and splits packets to fit 127-byte frames, so every device has an IP address.

Thread roleDoes
Leaderone per network, elected automatically; hands out router IDs. If it fails another router takes over
Routerup to 32 per network; always on and relaying. Thread keeps between about 16 and 23 active, promoting or demoting automatically
Router-eligible end devicea mains-powered device acting as an end device, ready to become a router when needed
Sleepy end devicebattery device that wakes to poll its parent router
Border routerconnects the Thread mesh to Wi-Fi or Ethernet at the IP layer; a network can have several, so none is a single point of failure. Often built into smart speakers, TV boxes and hubs

Thread 1.4 requires certified border routers to support credential sharing, so border routers from different brands can join one Thread network instead of each building its own; support across ecosystems was still rolling out in 2026.

Matter (Connectivity Standards Alliance, 1.0 in October 2022) is the application layer: a common data model of device types and commands, derived from the ZCL, plus security, running over any IPv6 network: Thread for battery devices, Wi-Fi for higher-bandwidth ones, Ethernet for hubs. Devices are usually set up (commissioned) over Bluetooth LE by scanning a QR code. Multi-admin lets one device be controlled by several ecosystems (Apple Home, Google Home, Amazon Alexa, SmartThings) at once, and control works locally without the cloud. Matter 1.5 (November 2025) added cameras. Bridges expose existing Zigbee or Z-Wave devices as Matter devices.

Z-Wave

Z-Wave is a smart-home mesh on sub-GHz frequencies that differ by region (908.42 MHz in the US, 868.42 MHz in Europe), so it avoids crowded 2.4 GHz and passes walls well. Classic Z-Wave allows up to 232 devices and up to 4 relay hops, at 9.6 to 100 kbit/s; a central controller manages the routes (source routing: the sender puts the whole path in the message). Its PHY and MAC layers are an ITU standard (G.9959), and every product is certified for interoperability by the Z-Wave Alliance, which made mixing brands reliable early on. The S2 security framework replaced the weaker original encryption.

Z-Wave Long Range (Z-Wave LR) adds a star mode with up to 4,000 devices, each talking directly to the controller at up to about 1.5 miles (2.4 km) in open air at full power, on separate channels (912 and 920 MHz in the US). Classic mesh and LR devices can share one controller.

LoRa and LoRaWAN

LoRa is a radio modulation (owned by Semtech) built for very long range at very low data rates. LoRaWAN is the network protocol on top, maintained by the LoRa Alliance. LoRa uses chirp spread spectrum: every symbol is a chirp, a tone that sweeps steadily across the channel (typically 125 kHz wide). A data symbol is the same chirp starting at a different frequency and wrapping around; where it starts encodes the bits.

LoRa: every symbol is a chirp (schematic) frequency: preamble of up-chirps high low one symbol: 2^SF / BW seconds the radio signal itself signal data symbol same chirp, new start: that start is the data BW: 125 kHz typical · SF7 symbol ≈ 1 ms, SF12 ≈ 33 ms: slower, but heard farther a receiver can lock onto chirps buried below the noise floor

Chirps (schematic): the receiver locks onto the preamble, then reads each symbol's starting frequency.

The spreading factor (SF, 7 to 12) sets how slowly the chirp sweeps. Each step up doubles the symbol time, so a receiver integrates more energy per bit and hears signals from farther away, even below the noise floor (down to about −20 dB signal-to-noise at SF12).

symbol time   T = 2^SF / BW
SF7,  125 kHz:  128 / 125,000 s  ≈ 1.0 ms    ≈ 5.5 kbit/s
SF12, 125 kHz: 4096 / 125,000 s  ≈ 32.8 ms   ≈ 0.3 kbit/s
(rates after the usual 4/5 error-correction coding)

LoRaWAN is a star of stars, not a mesh: devices talk one hop to any gateway that hears them, and gateways are dumb relays to central servers.

gateway gateway network server join server app server keeps one copy, sets data rates joins and keys decrypts your data end devices gateways: relays servers, often in the cloud LoRa radio, 1 hop one uplink, 2 gateways IP over the internet
LoRaWAN: devices don't pick a gateway; every gateway in range forwards, and the network server keeps one copy.
PartDoes
End devicea battery sensor or actuator; sends uplinks whenever it likes
Gatewaylistens on several channels and spreading factors at once and forwards every packet it hears over IP (Ethernet, cellular, Wi-Fi)
Network serverdrops duplicate copies, sends acknowledgments and downlinks through the best gateway, and runs ADR (adaptive data rate: telling nearby devices to use faster spreading factors)
Join serveradmits devices (over-the-air activation) and derives their session keys
Application serverdecrypts the payload: data is encrypted with AES-128 from the device to the application, so a network operator that doesn't run your application server can't read it

Devices come in three classes: A (the default: two short receive windows right after each uplink, lowest power), B (also wakes at scheduled times synchronized by gateway beacons) and C (always listening, mains powered).

Rules depend on the region's band plan:

RegionBandMain limit
Europe (EU868)863–870 MHzduty cycle per sub-band: 1% on the main channels, 0.1% or 10% on others; 1% means a 1-second transmission is followed by 99 seconds of silence on that sub-band
US and Canada (US915)902–928 MHzno duty cycle, but at most 400 ms per uplink transmission (dwell time), which rules out the slowest spreading factors
OthersAS923, AU915, IN865, KR920, CN470each with its own channels and limits

Public networks add fair-use limits: The Things Network's community network allows 30 seconds of uplink airtime and 10 downlinks per device per day.

Cellular IoT

Mobile operators run two low-power standards from 3GPP (Release 13, 2016) on their licensed spectrum, using existing towers and a SIM or eSIM per device. Both count as part of 5G's massive-IoT support and keep working as 2G and 3G networks shut down.

NB-IoTLTE-M (Cat-M)
Channel180 kHz1.4 MHz
Peak ratetens of kbit/s; up to about 150 kbit/s for later device categoriesabout 1 Mbit/s
Moving devicespoorly: meant for stationary meters and sensorshandovers between cells like a phone
Voicenoyes (VoLTE)
Coverageabout 20 dB better than regular LTE, by repeating transmissions; reaches basements and underground metersabout 15 dB better
Typical useswater and gas meters, parking sensors, smoke alarmstrackers, wearables, alarm panels, point-of-sale terminals

Two power savers make multi-year batteries possible. PSM (power saving mode) lets a device sleep for hours or days while staying registered, so waking needs no new attach. eDRX (extended discontinuous reception) has it listen for incoming pages only every few seconds to hours instead of every second or so. For heavier devices (cameras, industrial sensors, wearables) 5G RedCap (reduced capability, Release 17) sits between LTE-M and full 5G.

Sigfox was the first big public LPWAN: ultra-narrowband 100 Hz channels, 100 bit/s in Europe, at most 12-byte uplinks and 140 messages a day. The original company went into receivership in 2022 and was bought by UnaBiz; in 2025 UnaBiz put its French network operations under court protection. Networks still run in some countries, so check coverage and the operator's plans before building on it. How cellular networks work in general is in Cellular.

In-vehicle networks

A modern car is a network of dozens of computers called ECUs (electronic control units): engine, brakes, airbags, doors, infotainment. They share a few kinds of wired bus.

BusPhysical linkSpeed and frameUsed for
CAN (controller area network; Bosch, 1986; ISO 11898)one twisted pair, differential, 120 Ω terminators at both endsclassical: up to 1 Mbit/s, 8 data bytes; CAN FD: up to 64 bytes, data phase typically 2–5 Mbit/s; CAN XL: up to 2,048 bytes, up to about 20 Mbit/sengine, brakes, steering, body electronics; the OBD-II diagnostic port
LIN (local interconnect network)one wire; one commander polls respondersup to 20 kbit/swindows, mirrors, seats, switches: cheap, slow parts
FlexRaytwisted pair, dual channel10 Mbit/s, time-triggered: every message has a reserved time slotsome chassis and drive-by-wire systems; largely being replaced by Ethernet
Automotive Ethernetone twisted pair: 10BASE-T1S (shared multidrop), 100BASE-T1, 1000BASE-T1 and multi-gigabit10 Mbit/s to 10 Gbit/scameras, displays, driver assistance, and the backbone between zone controllers in newer cars

CAN has no addresses. Each frame carries an identifier that names its content ("wheel speeds", "engine RPM"), every node hears every frame and keeps the ones it cares about, and the identifier doubles as the priority. When two nodes start at once, arbitration settles it bit by bit without wasting a single bit: a 0 is dominant (it actively drives the wires) and a 1 is recessive (it lets them float), so the bus reads 0 if anyone sends 0.

ID bit SOF 10 9 8 7 6 5 4 3 2 1 0 node A 0x12C node B 0x130 node C 0x180 bus reads 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 0 1 1 lost: stops, listens 0 0 0 1 1 lost: stops, listens 0 0 0 1 0 0 1 0 1 1 0 0 All three start at once (SOF), sending their IDs bit by bit and reading the bus back after every bit Bit 7: C sends 1 (recessive), but A and B send 0 (dominant). The bus reads 0, so C knows it lost and goes quiet Bit 4: B sends 1, A sends 0. The bus reads 0: B drops out A never noticed anything: its bits went out unharmed A wins: the lowest ID is the highest priority. Its frame continues with no time lost (non-destructive arbitration) B and C retry as soon as the bus is idle; B beats C next. An ID is a priority, so assign low IDs to urgent messages gray = 0, dominant: any node sending 0 pulls the whole bus to 0

1/5

All three nodes start together with the start-of-frame bit, then send their identifiers bit by bit, reading the bus after every bit.

CAN arbitration: a wired AND on the bus picks the most urgent message without a collision.

CAN was designed for a closed box, so it has no authentication: any node can send any identifier. Researchers showed in 2015 that a Jeep Cherokee could be taken over remotely through its infotainment unit, which led to gateways that firewall the buses, message authentication (AUTOSAR SecOC) and UN Regulation 155, which requires carmakers to run a cybersecurity management system; in the EU it has applied to every newly registered car since July 2024. Cars also carry a telematics unit, a cellular modem for over-the-air updates and emergency calls.

V2X

V2X (vehicle-to-everything) means vehicles talking directly to other vehicles (V2V), roadside infrastructure such as traffic lights (V2I), pedestrians' phones (V2P) and the network (V2N), so they can warn each other about things a camera can't see: a car braking hard around a bend, a red light about to change.

TechnologyHowStatus, late 2026
DSRC / IEEE 802.11p (ITS-G5 in Europe)a Wi-Fi variant at 5.9 GHz that sends without joining a networkUS: being phased out after the FCC moved the band to C-V2X; Europe: deployed in some Volkswagen models and road projects
C-V2X (cellular V2X, 3GPP Release 14 LTE-V2X, Release 16 5G NR-V2X)PC5: direct radio between vehicles, no tower or SIM needed; Uu: through the ordinary mobile networkUS: the FCC reserved the upper 30 MHz of 5.9 GHz (5.895–5.925 GHz) for it, with final rules in November 2024; China: the most active deployment, in pilot cities and highways

The messages are small and frequent:

MessageContents
BSM (basic safety message, SAE J2735) or CAM (cooperative awareness message, ETSI)position, speed, heading, brake status, about 10 times a second
DENM (ETSI decentralized environmental notification)event warnings: accident ahead, road works, ice
SPaT and MAPtraffic-light phase and timing, and the geometry of the intersection

Every message is signed with a certificate so it can't be forged, and vehicles rotate short-lived pseudonym certificates so they can't be tracked. Adoption is still limited; most connected-car features today use the ordinary cellular network.

Drones and robots

MAVLink is the compact message protocol between a drone's autopilot (the flight controller running PX4 or ArduPilot), a ground control station (QGroundControl, Mission Planner) and onboard companion computers. A MAVLink 2 packet is 12 to 280 bytes: a 10-byte header, up to 255 bytes of payload, a 2-byte checksum and an optional 13-byte signature. Every system sends a HEARTBEAT about once a second; others include GLOBAL_POSITION_INT, ATTITUDE and COMMAND_LONG. It runs over serial telemetry radios (433 or 915 MHz), UDP over Wi-Fi or cellular, or USB.

LinkTypical radioNotes
RC control (sticks to the aircraft)2.4 GHz frequency hopping; long-range systems at 868/915 MHz such as TBS Crossfire or the open-source ExpressLRS, which uses Semtech LoRa chipssmall packets at high rates; low latency matters more than throughput
TelemetryMAVLink over a serial radio or a cellular modemposition, battery, status to the ground station
Video5.8 GHz analog, or digital systemsthe most bandwidth by far
Remote IDBluetooth or Wi-Fi beaconsin the US most drones must broadcast their ID and position (FAA rule, in force since 2023–2024)

Every link needs a failsafe: what the aircraft does when the link drops (hover, return to home, land).

ROS 2 and DDS

ROS 2 (Robot Operating System 2) is the common software framework for robots. A robot is a set of programs called nodes that exchange messages on named topics by publish/subscribe: a camera node publishes images to /image without knowing who listens. Underneath, ROS 2 uses DDS (Data Distribution Service, an OMG standard) over UDP, which finds peers automatically by multicast and delivers each topic to every subscriber.

camera /image perception /obstacles planner /cmd_vel motors DDS: finds peers automatically, delivers topics over UDP recorder (rosbag) web dashboard add subscribers anytime; publishers stay the same boxes: nodes (programs) · pills: named topics · arrows: messages QoS is set per topic: sensor data best effort, commands reliable a domain ID keeps two robots on one network from seeing each other
Publish/subscribe: producers and consumers only share topic names, so a recorder or dashboard can join without changing anything.
ConceptMeaning
Topica named stream of typed messages, many-to-many
Servicerequest and response, like a function call
Actiona long task with progress feedback and cancel, such as "drive to the dock"
QoS (quality of service)per-topic delivery rules: reliable (retransmit) or best effort (drop late data, right for sensor streams); how many old messages to keep; whether late joiners get the last value
Domain IDROS_DOMAIN_ID separates DDS networks, so two robots on one Wi-Fi don't see each other's topics
RMW (ROS middleware layer)swaps the DDS implementation (Fast DDS, Cyclone DDS, Connext) or uses Zenoh instead, which copes better with Wi-Fi and with discovery across many robots

Swarms and MANETs

A MANET (mobile ad hoc network) is a mesh whose nodes move and where no infrastructure exists: every node is a router, and links appear and vanish as nodes travel. Drone swarms, rescue teams, military units and vehicles in convoy use them.

ProtocolKindIdea
OLSR (RFC 3626; OLSRv2, RFC 7181)proactive link-stateeach node picks a few neighbors as multipoint relays that alone rebroadcast topology updates, which cuts flooding
B.A.T.M.A.N. (batman-adv, in the Linux kernel)proactive, layer 2nodes don't learn the whole map, only which neighbor is the best next hop toward each destination; the mesh looks like one big Ethernet switch; used by community networks such as Freifunk
AODV (RFC 3561)on demandflood a route request when needed, cache the answer
Babel (RFC 8966)distance vectorloop-avoiding, works on wired and wireless links
802.11sWi-Fi mesh standardmesh routing built into Wi-Fi

A swarm adds coordination on top: members broadcast their position and intent several times a second and agree on who leads, so the network must deliver small, frequent, time-sensitive messages while its shape keeps changing.

Delay-tolerant networking

Ordinary internet protocols assume an end-to-end path exists right now. A Mars rover, a sensor buoy or a village visited by a bus once a day breaks that assumption. Delay-tolerant networking (DTN) uses store-and-forward: each node keeps a message, called a bundle, until it can pass it to the next node, possibly hours later.

PieceRole
Bundle Protocol (version 7, RFC 9171, 2022)the store-and-forward layer above whatever links exist
Custody transfera node that accepts custody of a bundle keeps it until the next node accepts it, so the sender can free its storage
LTP (Licklider Transmission Protocol, RFC 5326)reliable delivery over links with very long delays, where TCP's back-and-forth would stall
Contact planswhen links are predictable (orbits, bus schedules), routes are computed from the timetable of future contacts
Data mulesa vehicle, person or drone that physically carries bundles between disconnected places

Space is the classic case: light takes about 3 to 22 minutes each way between Earth and Mars, and rovers send most data by relaying through orbiters as they pass over. NASA has tested DTN on the International Space Station.

Industrial networks

Factories need determinism: a motor controller must get its command every millisecond, every time. Industrial networks trade openness for bounded delay and decades-long lifetimes.

NetworkWhat it is
Fieldbuses (PROFIBUS, CANopen, DeviceNet)older serial buses connecting controllers to sensors and drives
Modbus (1979)the simplest: a client reads and writes numbered registers and coils; Modbus RTU runs over serial RS-485, Modbus TCP over Ethernet on port 502. No authentication at all
PROFINET, EtherNet/IPindustrial protocols over standard Ethernet, with real-time classes for tighter timing
EtherCATone Ethernet frame passes through every device in a line, and each reads and writes its part on the fly, giving cycle times down to around 100 µs
TSN (Time-Sensitive Networking, IEEE 802.1)standard Ethernet features for determinism: shared precise time (802.1AS), scheduled time slots for critical traffic (802.1Qbv), duplicate frames over two paths (802.1CB)
OPC UAa vendor-neutral information model and secure messaging for machines and software
Industrial wirelessWirelessHART and ISA100.11a (both on 802.15.4), private 4G/5G

The PLC (programmable logic controller) is the computer at the center of most of these. The plant network is usually called OT (operational technology), kept separate from office IT, with the IEC 62443 standards describing how to divide it into zones guarded by firewalls.

IoT security

IoT devices are cheap, numerous, rarely updated and often reachable from the internet, which makes them easy targets. The Mirai botnet (2016) took over hundreds of thousands of cameras and routers by trying factory-default passwords over Telnet, then used them to flood the DNS provider Dyn and knock major websites offline.

ProblemFix
Default or shared passwordsunique credentials per device, set at the factory or during setup
No updatessigned over-the-air updates, a published support period, and a plan for when it ends
Flat home or office networkput IoT devices on their own network segment (VLAN or guest SSID), block inbound connections, allow only the outbound traffic they need
Weak radio securityuse current modes: Zigbee 3.0 install codes, Z-Wave S2, LoRaWAN over-the-air activation, Bluetooth LE Secure Connections
Exposed servicesdisable Telnet, UPnP port forwarding and debug services; scan your own network with nmap
Physical accesslock debug ports (JTAG, UART), use secure boot and store keys in a secure element
Cloud dependenceprefer local control (Matter, Thread, Zigbee hubs) so the device keeps working, and leaks less, if a vendor's servers go away

Rules are catching up. The UK's product security law (PSTI) has banned universal default passwords and required a vulnerability contact and a stated support period since April 2024. The EU's Cyber Resilience Act has required manufacturers to report actively exploited vulnerabilities since 11 September 2026, with most of its other requirements applying from 11 December 2027. ETSI EN 303 645 is the common baseline checklist for consumer devices.

Try it

  • A CAN bus on your laptop: Linux has virtual CAN interfaces and the can-utils tools (apt install can-utils). Send frames from one terminal and watch them in another:
sudo modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0
candump vcan0 &
cansend vcan0 12C#DEADBEEF  # ID 0x12C, 4 data bytes
cansend vcan0 130#0102
cangen vcan0 -g 10 -n 5     # 5 random frames, 10 ms apart
  • ROS 2 publish/subscribe: with ROS 2 installed, run a publisher and a subscriber in two terminals, then inspect the topic and its QoS:
ros2 run demo_nodes_cpp talker
ros2 run demo_nodes_py listener
ros2 topic list
ros2 topic echo /chatter
ros2 topic info /chatter --verbose
  • LoRa airtime and duty cycle: Semtech's formula for how long a packet occupies the channel, and how long the 1% EU rule then makes you wait:
airtime.py
import math
 
def lora_airtime_ms(payload: int, sf: int,
                    bw: int = 125_000, preamble: int = 8,
                    cr: int = 1) -> float:
    """Semtech's formula: explicit header, CRC on."""
    t_sym = 2**sf / bw * 1000  # ms
    de = 1 if t_sym > 16 else 0  # low data rate optimize
    n = 8 * payload - 4 * sf + 28 + 16
    sym = 8 + max(math.ceil(n / (4 * (sf - 2 * de)))
                  * (cr + 4), 0)
    return (preamble + 4.25 + sym) * t_sym
 
for sf in (7, 9, 12):
    ms = lora_airtime_ms(20, sf)
    print(f"SF{sf}: {ms:.1f} ms on air, "
          f"then wait {ms * 99 / 1000:.0f} s at 1% duty")
# SF7: 56.6 ms ... 6 s; SF9: 185.3 ms ... 18 s
# SF12: 1318.9 ms ... 131 s
  • Watch a smart-home mesh: an 802.15.4 USB dongle running sniffer firmware lets Wireshark show Zigbee and Thread frames, including the hops and acknowledgments described above.

References