M-Bus compared with Modbus RTU: two bus-powered wires versus RS485 with a register map
On this page

M-Bus (Meter-Bus) is a European fieldbus for remote reading of heat, water, gas, and electricity meters, defined in EN 13757. It is not Modbus. M-Bus runs on two wires that also power the meters, it ignores polarity, and every value arrives with its unit and multiplier. Modbus RTU runs on RS485, powers nothing, and returns bare register values whose meaning sits in the manufacturer's register map. To get an M-Bus meter into a Modbus system you use a gateway, or you order the meter with a Modbus module.

If you are an installer who wants heat and water meters in a building read remotely, that difference decides which hardware goes into the meter cabinet. Below are the signal levels, addressing, and cable lengths, and how an M-Bus meter ends up in a Modbus system.

What M-Bus is and where you find it

M-Bus is a master-slave bus built for utility meters. Horst Ziegler at the University of Paderborn developed it in 1992 with Texas Instruments and Techem, first for heat meters under EN 1434. Today EN 13757-2 covers the physical and link layer and EN 13757-3 the application layer.

You meet M-Bus where many meters share one building: apartment blocks with central heating, commercial buildings, and district heating networks. A master collects the heat meter, water meter, and sometimes gas meter readings for each flat. Each telegram names its medium: 02 is electricity, 03 gas, 04 heat, and 07 water (m-bus.com, section 8.4.1).

Modbus comes from industrial automation and was never designed for meters. That is why one plant room often has both. M-Bus reads the tenants' consumption meters. Modbus reads the electricity meters, inverters, and heat pumps that an installer or building automation system needs.

Two wires carry power and data

On M-Bus, the master and the meter use the same two wires in different ways. The master transmits with voltage: a 1 is a nominal 36 V at the bus driver, and a 0 pulls the bus down by 12 V to 24 V. The meter replies with current. At rest it draws at most 1.5 mA, and for a 0 it draws an extra 11 to 20 mA (m-bus.com, section 4.1).

1011010136 V24 V+11 to 20 mA1.5 mA
Master to meter
Voltage: a 0 pulls the bus down by 12 V.
Meter to master
Current: a 0 draws an extra 11 to 20 mA.
The master modulates voltage, the meter modulates current. Source: m-bus.com, section 4.1.

That 1.5 mA is one unit load. A meter that needs more current counts as several unit loads. Because the master powers the bus, an M-Bus meter can run without its own mains supply. An RS485 bus carries no power, so every Modbus device needs its own supply.

The meter connects through a diode bridge, so the two wires are interchangeable. The specification says it plainly: "the two bus lines can be interchanged without affecting the operation of the slaves" (m-bus.com, section 4.4). On Modbus RTU polarity matters, and swapped A and B lines are one of the first things you check when a device stays silent.

Addresses, baud rate, and cable length

An M-Bus segment in the standard configuration takes up to 250 slaves at 300 to 9600 baud. The cable is JYStY N x 2 x 0.8 mm telephone cable (m-bus.com, section 4.2). In the field, 2400 baud is the most common rate. The character format is always 8E1: eight data bits with even parity.

Cable length is often quoted wrongly. The 350 m found in many summaries is the limit between a meter and the repeater. The total cable length of a segment can reach 1000 m, which matches a cable capacitance of at most 180 nF. Lower baud rates and fewer meters allow longer runs, as long as the bus voltage in the 0 state never drops below 12 V.

Every meter has a primary address from 1 to 250. Many leave the factory at 0, and two meters on the same address collide. M-Bus therefore also has a secondary address: the eight-digit identification number, the manufacturer code, a version, and the medium (m-bus.com, section 6.3.1). The master selects a meter by that number through address 253. You avoid setting an address on site, but the readout takes longer.

M-Bus allows a line or a star layout. Modbus RTU needs a line with a termination resistor at both ends and stubs of at most 20 m (Modbus over Serial Line V1.02, sections 3.4.2 and 3.4.3). The RS485 wiring guide covers the Modbus side in detail.

An M-Bus meter states what it measures

M-Bus data describes itself; Modbus data does not. Each M-Bus data record starts with a DIF that gives length and coding, and a VIF that gives unit and multiplier (m-bus.com, sections 8.4.2 and 8.4.3). Take the record 04 06 D2 04 00 00. DIF 04 is a 32-bit integer and VIF 06 is energy in kWh. D2 04 00 00 is 1234, least significant byte first.

04DIF06VIFD20400001234 kWh04D21234 ?
M-Bus data record
DIF 04: 32-bit integer. VIF 06: energy in kWh. Value 1234.
Modbus register
Only the number 1234. Unit and multiplier are in the manufacturer's register map.
The same value, once with its unit and once without.

A Modbus register is a 16-bit word with no unit. Whether 1234 means kWh, Wh, or tenths of a kWh, and which register holds it, is in the manual. The Modbus register map guide shows how to read one.

Self-describing does not mean uniform. The M-Bus standard does not fix which values a meter sends or in what order. OMS, the Open Metering System, exists to fix that across manufacturers.

M-Bus and Modbus RTU compared

The table sets out the points you run into when you connect either bus. M-Bus values come from the m-bus.com documentation, Modbus values from Modbus over Serial Line V1.02.

M-BusModbus RTU
StandardEN 13757-2 and -3Modbus over Serial Line V1.02 (modbus.org)
Physical layerOwn two-wire bus, voltage and currentRS485, differential
Power over the busYes, the master powers the metersNo
PolarityDoes not matterA and B must be right
TopologyLine or starLine with termination resistors
Devices per segmentUp to 25032 without a repeater
AddressesPrimary 1 to 250, plus secondary address1 to 247
Baud rate300 to 9600, usually 240019 200 default, 9600 common
Cable length350 m meter to repeater, 1000 m total1000 m at 9600 baud with AWG26
DataRecords with unit and multiplier16-bit registers without unit
Typical devicesHeat, water, and gas metersElectricity meters, inverters, heat pumps, controllers

Speed rarely decides it. A meter reading changes slowly, and the specification gives an M-Bus meter up to 330 bit times plus 50 ms to reply (m-bus.com, section 5.4). That is enough for periodic reading. For control and switching, use Modbus.

Connecting an M-Bus meter to a Modbus system

An M-Bus meter reaches a Modbus system through an M-Bus to Modbus gateway. The gateway is the M-Bus master with a built-in level converter. It powers the bus, reads the meters, and places each value in holding registers for a Modbus master to read.

M-BusHeat meterWater meterElectricity meterM-Bus toModbus gatewayM-Bus ⇄ ModbusModbus RTU or TCPModbus masterM-BusRS485 or Ethernet
The gateway powers the M-Bus and maps meter values to holding registers.

The Seneca Z-KEY-MBUS is one example. It reads up to 25 M-Bus meters with 500 values between them and places them from register 40001, each 32-bit value in two registers (manual MI-00526, rev. 8, pages 5 and 24). Intesis and Carlo Gavazzi make similar gateways with a scan that finds the meters and builds the Modbus table.

Installers tend to trip over three things during setup. With an unknown address and baud rate, Seneca recommends a secondary scan at all baud rates, which can take several minutes (MI-00526, page 20). Two meters on primary address 0 collide, so read them by secondary address. Many gateways also convert a BCD meter reading to a 32-bit float, and Seneca warns that the Modbus value can then differ from the display (MI-00526, page 25).

Sometimes you need no converter at all. Some meters take a plug-in communication module. Kamstrup offers an M-Bus module and a Modbus RTU module, among others, for the MULTICAL 403, 603, and 803 (data sheets HC_003_20_21_22 and HC_003_67). With the Modbus module the heat meter sits directly on the RS485 bus. Meters with Modbus are compared in the Modbus energy meter comparison.

Wireless M-Bus and remote reading rules

Wireless M-Bus is the radio variant, defined in EN 13757-4. It uses licence-free bands: 868 MHz and 169 MHz in Europe, 433 MHz and 915 MHz elsewhere.

EU law pushes remote reading. Article 9c of Directive 2012/27/EU, as amended by Directive (EU) 2018/2002, covers heat meters and heat cost allocators. Devices installed after 25 October 2020 must be remotely readable where technically feasible and cost-effective. Existing devices must be made remotely readable or replaced by 1 January 2027, unless the Member State shows this is not cost-efficient. Germany brings that forward to 31 December 2026 in its Heating Costs Ordinance. Remotely readable does not have to mean wired M-Bus; radio counts too.

Where ModbusCloud fits

The ModbusCloud Gateway reads Modbus RTU over RS485 and Modbus TCP over Ethernet, up to 32 Modbus devices per RS485 line. You read an M-Bus meter with it through an M-Bus to Modbus gateway or through a Modbus module in the meter. If the register map of that gateway or module is not in the library, you build your own template in the portal. ModbusCloud also makes it free of charge once the register data is available.

Is M-Bus the same as Modbus?

No. M-Bus is a meter bus under EN 13757 with its own two-wire physical layer that powers the meters. Modbus RTU runs on RS485 and powers nothing. M-Bus sends values with unit and multiplier, Modbus sends bare registers. A gateway can convert M-Bus values into Modbus registers.

What is M-Bus?

M-Bus, short for Meter-Bus, is a European fieldbus for remote reading of heat, water, gas, and electricity meters. A master powers the bus and polls the meters one by one. A segment holds up to 250 meters at 300 to 9600 baud, usually 2400 baud.

How long can an M-Bus cable be?

Up to 1000 m per segment in the standard configuration, with at most 350 m between a meter and the repeater. That matches a cable capacitance of at most 180 nF. Fewer meters and a lower baud rate allow more, as long as the bus voltage never falls below 12 V.

Does M-Bus polarity matter?

No. An M-Bus meter connects through a diode bridge, so you can swap the two wires. Modbus RTU over RS485 is different: polarity matters there, and swapped A and B lines are a common reason for a device that does not reply.

Is RS-485 the same as Modbus?

No. RS485 is the electrical layer, two wires with a differential signal. Modbus RTU is the protocol that runs over it, with addresses, function codes, and registers. M-Bus does not use RS485 at all; it has its own physical layer based on voltage and current.

What are the downsides of M-Bus compared with Modbus?

Speed and device range. M-Bus runs at 300 to 9600 baud and is meant for periodic meter reading, not control. It is built for utility meters. Modbus also runs on inverters, heat pumps, and controllers, but needs the manufacturer's register map for every device type.