Industrial IoT 8 min read Published 16 June 2026

OPC-UA vs Modbus vs MQTT: industrial protocols explained

By Frank Guo · Technology & Product Leadership, addanode

TL;DR — These three aren't competitors so much as tools for different jobs in the same pipeline. Modbus is the old, simple, near-universal workhorse for reading registers off PLCs and meters — minimal and ubiquitous, but with no built-in security in its classic form, and no rich data structure. OPC-UA is the modern industrial standard: structured, self-describing data with built-in security, ideal for getting meaningful information out of modern PLCs and between systems. MQTT is a lightweight publish/subscribe messaging protocol built for shipping data efficiently over unreliable or low-bandwidth networks to a platform or cloud — perfect for IoT and remote sites. A typical addaNet deployment uses all three: Modbus or OPC-UA to read the equipment at the edge, then MQTT to carry it onward. You don't pick one; you use each where it fits.

Why you keep hearing all three

On any real Industrial IoT project these three acronyms come up, and they're often presented as an either/or choice. They're not. They sit at different points in the journey data takes from a machine to your dashboard: reading the device, structuring the data, and transporting it. Understanding which does what makes integration decisions obvious instead of confusing.

The mental model: Modbus and OPC-UA are mainly about reading the equipment (south-bound, at the edge). MQTT is mainly about moving the data onward (north-bound, to the platform/cloud). Most deployments use one of the first two and MQTT together.

Modbus — the universal workhorse

Modbus is decades old, dead simple, and supported by almost everything — PLCs, meters, drives, sensors. It reads and writes numeric registers over serial (RTU) or Ethernet (TCP). Its strengths are exactly that ubiquity and simplicity: if a device is older or basic, it almost certainly speaks Modbus. Its limits are that it carries raw numbers with no description (you need to know register 40001 means "tank level"), and classic Modbus has no built-in security or modern data model (a TLS-secured Modbus/TCP variant exists but is rarely found on legacy equipment). For getting numbers off legacy and simple equipment, though, it's unbeatable — and a big reason you rarely need to replace old kit to connect it.

OPC-UA — the modern industrial standard

OPC-UA (Unified Architecture) is the modern, vendor-neutral standard for industrial interoperability. Unlike Modbus, its data is structured and self-describing — a value comes with its name, units, type and context — and it has security built in (authentication, encryption). It's the right choice for pulling rich, meaningful data out of modern PLCs and for system-to-system integration (e.g. into MES/SCADA). It's heavier than Modbus, so it suits capable modern equipment rather than the smallest sensors.

MQTT — built for moving data

MQTT is a lightweight publish/subscribe messaging protocol. Devices "publish" data to a broker and systems "subscribe" to what they need. It was designed for constrained, unreliable networks — exactly the remote-site, low-bandwidth, intermittent-connectivity reality of South African deployments — and it's very efficient on data and battery. It excels at transporting data from many edge devices to a platform or cloud, and it pairs naturally with edge buffering. It isn't how you read a PLC's registers; it's how you ship what you read.

Side by side

ModbusOPC-UAMQTT
Main jobRead registers off devicesStructured device/system dataTransport data to a platform
Data modelRaw numbers, no contextSelf-describing, richAny payload (often JSON)
SecurityNone built inBuilt in (auth, encryption)TLS + auth (transport-level)
Best forLegacy & simple equipmentModern PLCs, system integrationRemote / low-bandwidth / many devices
Where it sitsEdge (south-bound)Edge / system (south-bound)Edge → platform (north-bound)

How they work together

A typical deployment looks like this: an edge gateway reads your equipment using Modbus (for older meters and PLCs) and OPC-UA (for modern controllers), normalises and buffers the data locally, then publishes it onward over MQTT to the platform — surviving load shedding and flaky links because the edge holds data until the network returns. So the "vs" framing dissolves: you read with Modbus/OPC-UA and transport with MQTT. The job of a good platform is to speak all of them so it fits whatever you already own.

That's exactly what the in-house addaNet platform does — vendor- and PLC-agnostic, reading Modbus and OPC-UA at the edge and moving data over MQTT with edge buffering for South African connectivity. It's why connecting your plant rarely means replacing it. For the wider picture see our guide to Industrial IoT in South Africa, and on the control-vs-visibility question, SCADA vs IoT platform.

You read with two of them and transport with the third The three protocols are not competing options. Modbus and OPC-UA are how equipment is read — the first for older meters and controllers, the second for modern ones — and MQTT is how the result travels to the platform. A platform's job is to speak all three so that connecting a plant does not mean replacing any of it. The “versus” framing dissolves once you see where each one sits 1 At the equipment Older meters and PLCs are read over Modbus; modern controllers over OPC-UA. → Read, never written 2 At the edge gateway Values are normalised and buffered locally, so a dropped link is a delay rather than a hole. → Survives the outage 3 On the way out Published onward to the platform over MQTT. → Transport, not reading
You read with two of them and transport with the third Modbus and OPC-UA read the equipment; MQTT carries the result onward. Not competing options 1 At the equipment Older meters and PLCs are read over Modbus; modern controllers over OPC-UA. → Read, never written 2 At the edge gateway Values are normalised and buffered locally, so a dropped link is a delay rather than a hole. → Survives the outage 3 On the way out Published onward to the platform over MQTT. → Transport, not reading
The arrangement described above, in order. Two of the three are how equipment is read and the third is how the result travels — which is why a platform that speaks all three lets you connect a mixed-vendor plant without replacing any of it.

Frequently asked questions

Is OPC-UA better than Modbus?

Not better — different. OPC-UA offers structured, self-describing data and built-in security, ideal for modern PLCs and system integration. Modbus is simpler and near-universal, ideal for legacy and basic equipment. Many sites use both: OPC-UA where the controller supports it, Modbus to reach everything else.

Do I have to choose between Modbus, OPC-UA and MQTT?

No — they do different jobs and are usually combined. Modbus and OPC-UA read data off your equipment at the edge; MQTT transports that data onward to the platform or cloud. A typical deployment reads with Modbus/OPC-UA and ships with MQTT.

Why is MQTT good for South African sites?

MQTT is lightweight and built for unreliable, low-bandwidth networks. Its publish/subscribe model and small overhead suit remote sites, cellular or LoRaWAN links and battery devices, and it pairs naturally with edge buffering — so data survives load shedding and patchy connectivity and syncs when the link returns.

Can these protocols connect to my old equipment?

Usually yes. Most older PLCs, meters and drives speak Modbus, so an edge gateway can read them without replacement, and modern controllers add OPC-UA. That's why connecting a plant rarely needs a rip-and-replace — see our guide to measuring an old line without a new PLC.

Which is most secure?

OPC-UA has security (authentication and encryption) built into the standard, while Modbus has none natively and must be protected at the network level. MQTT secures the transport with TLS and authentication. A well-designed deployment keeps device protocols on a protected network and never exposes PLC ports directly — see our note on industrial IoT security.

Trying to connect a mixed-vendor plant?

Tell us what controllers, meters and sensors you have. We'll show you how addaNet reads them — Modbus, OPC-UA or direct — and moves the data to one dashboard without replacing what works.