Eastron SDM72D-M Modbus register map

DIN rail three phase four wire energy meter with an RS485 Modbus RTU port, pulse output and resettable energy counters. This map follows the SDM72D-M-2 Modbus protocol section, which lists voltage, current, power, power factor, frequency, import, export and resettable energy as 32-bit floats. The older SDM72D-M and SDM72D-M-1 manuals list only a subset of these registers.

Protocol
Modbus RTU
Defaults
Per the manual: node address 1 (range 1 to 247), 9600 baud, no parity, one stop bit. Baud rates 1200, 2400, 4800, 9600 and 19200 bps. Input registers are read with function code 04, holding registers with 03 and written with 10. A request is limited to 30 parameters.
Addresses in the manual
Modicon style numbers (for example 40001 is holding register 0)
32 and 64-bit values
Not stated in the manual
Registers listed
56
Checked against
Eastron SDM72D-M-2 User Manual V1.1.1 2023, Zhejiang Eastron Electronic Co., Ltd. in distribution of B+G e-tech GmbH. Copy hosted by a third party; vendor-hosted copy of this version could not be fetched. Eastron's own download page hosts the SDM72D-M-1 User Manual V1.4, whose Part 3 lists a subset of the same registers, and a 2026 SDM72D-M User Manual V1.1 that has no Modbus register table.

Address base. The tables print 5 digit Modicon style numbers (3xxxx for input registers, 4xxxx for holding registers) next to the hex start address used on the wire, for example 30053 is 0x0034 and 40021 is 0x0014 (pp. 13 to 16). The three 6 digit holding numbers 461457, 464513 and 464515 map to 0xF010, 0xFC00 and 0xFC02, and 464645 to 0xFC84 (pp. 16 and 17). The manual's own example reads Amps 1 at start address 0006, which matches 30007. For example 30001 in the manual (Phase 1 line to neutral voltage) is address 0 on the wire.

Word order. Each value is held in two consecutive 16 bit registers as a float. The manual says the Modbus word order (Hi/Lo byte order) is set automatically to normal or reverse and cannot be configured from the set-up menu, and it gives no worked value example. Read a known value such as voltage and check the register order on the device.

Modbus Poll and the Modbus protocol itself count from 0. The "Wire address" column is the number to type into Modbus Poll.

Downloads

The register table has every column on this page. The blocks file imports into Modbus Poll. The template JSON holds the same blocks plus unit, scale and access for scripts.

Registers

56 registers
Manual Wire Register Type Regs Unit Scale Access Area
30001 0 Phase 1 line to neutral voltageVoltage_L1N float32 2 V 1 R Input (FC04)
30003 2 Phase 2 line to neutral voltageVoltage_L2N · The table does not list a register for phase 3 line to neutral volts (30005 is absent), so none is given here. float32 2 V 1 R Input (FC04)
30007 6 Phase 1 currentCurrent_L1 float32 2 A 1 R Input (FC04)
30009 8 Phase 2 currentCurrent_L2 float32 2 A 1 R Input (FC04)
30011 10 Phase 3 currentCurrent_L3 float32 2 A 1 R Input (FC04)
30013 12 Phase 1 active powerActivePower_L1 float32 2 W 1 R Input (FC04)
30015 14 Phase 2 active powerActivePower_L2 float32 2 W 1 R Input (FC04)
30017 16 Phase 3 active powerActivePower_L3 float32 2 W 1 R Input (FC04)
30019 18 Phase 1 apparent powerApparentPower_L1 float32 2 VA 1 R Input (FC04)
30021 20 Phase 2 apparent powerApparentPower_L2 float32 2 VA 1 R Input (FC04)
30023 22 Phase 3 apparent powerApparentPower_L3 float32 2 VA 1 R Input (FC04)
30025 24 Phase 1 reactive powerReactivePower_L1 float32 2 VAr 1 R Input (FC04)
30027 26 Phase 2 reactive powerReactivePower_L2 float32 2 VAr 1 R Input (FC04)
30029 28 Phase 3 reactive powerReactivePower_L3 float32 2 VAr 1 R Input (FC04)
30031 30 Phase 1 power factorPowerFactor_L1 · Sign follows the current direction: positive for forward current, negative for reverse current (manual instruction 1 under the input register table). float32 2 1 R Input (FC04)
30033 32 Phase 2 power factorPowerFactor_L2 · Sign follows the current direction: positive for forward current, negative for reverse current (manual instruction 1 under the input register table). float32 2 1 R Input (FC04)
30035 34 Phase 3 power factorPowerFactor_L3 · Sign follows the current direction: positive for forward current, negative for reverse current (manual instruction 1 under the input register table). float32 2 1 R Input (FC04)
30043 42 Average line to neutral voltageVoltage_LN_Avg float32 2 V 1 R Input (FC04)
30047 46 Average line currentCurrent_Avg float32 2 A 1 R Input (FC04)
30049 48 Sum of line currentsCurrent_Sum float32 2 A 1 R Input (FC04)
30053 52 Total system active powerActivePower_Total float32 2 W 1 R Input (FC04)
30057 56 Total system apparent powerApparentPower_Total float32 2 VA 1 R Input (FC04)
30061 60 Total system reactive powerReactivePower_Total float32 2 VAr 1 R Input (FC04)
30063 62 Total system power factorPowerFactor_Total · Sign follows the current direction: positive for forward current, negative for reverse current (manual instruction 1 under the input register table). float32 2 1 R Input (FC04)
30071 70 Frequency of supply voltagesFrequency float32 2 Hz 1 R Input (FC04)
30073 72 Import active energyEnergy_Import_Active float32 2 kWh 1 R Input (FC04)
30075 74 Export active energyEnergy_Export_Active float32 2 kWh 1 R Input (FC04)
30201 200 Line 1 to line 2 voltageVoltage_L1L2 float32 2 V 1 R Input (FC04)
30203 202 Line 2 to line 3 voltageVoltage_L2L3 float32 2 V 1 R Input (FC04)
30205 204 Line 3 to line 1 voltageVoltage_L3L1 float32 2 V 1 R Input (FC04)
30207 206 Average line to line voltageVoltage_LL_Avg float32 2 V 1 R Input (FC04)
30225 224 Neutral currentCurrent_Neutral float32 2 A 1 R Input (FC04)
30343 342 Total active energyEnergy_Total_Active · Equals import plus export (manual instruction 2). float32 2 kWh 1 R Input (FC04)
30345 344 Total reactive energyEnergy_Total_Reactive float32 2 kVArh 1 R Input (FC04)
30385 384 Resettable total active energyResettable_Energy_Total_Active · Cleared by writing 00 03 to register 461457. float32 2 kWh 1 R Input (FC04)
30387 386 Resettable total reactive energyResettable_Energy_Total_Reactive · Cleared by writing 00 03 to register 461457. float32 2 kVArh 1 R Input (FC04)
30389 388 Resettable import active energyResettable_Energy_Import_Active · Cleared by writing 00 03 to register 461457. float32 2 kWh 1 R Input (FC04)
30391 390 Resettable export active energyResettable_Energy_Export_Active · Cleared by writing 00 03 to register 461457. float32 2 kWh 1 R Input (FC04)
30397 396 Net energy, import minus exportEnergy_Net_Active float32 2 kWh 1 R Input (FC04)
31281 1280 Total import active powerActivePower_Import_Total float32 2 W 1 R Input (FC04)
31283 1282 Total export active powerActivePower_Export_Total float32 2 W 1 R Input (FC04)
40011 10 System typeSystem_Type · Written as a float. 1 = 1P2W, 3 = 3P4W (default). float32 2 1 RW Holding (FC03)
40013 12 Pulse output widthPulse_Width · Float, range 60, 100 or 200, default 100. If the pulse constant is 1000 imp/kWh the width is fixed at 35 ms and cannot be changed. The manual marks this row with '(KPPA is asked)'. float32 2 ms 1 RW Holding (FC03)
40015 14 Key parameter programming authorization (KPPA)Key_Parameter_Authorization · Read returns 0 = not authorized, 1 = authorized. Writing the correct password grants authorization to program key parameters. Float. float32 2 1 RW Holding (FC03)
40019 18 Network port parity and stop bitsParity_Stop_Bits · Float. 0 = one stop bit and no parity (default), 1 = one stop bit and even parity, 2 = one stop bit and odd parity, 3 = two stop bits and no parity. float32 2 1 RW Holding (FC03)
40021 20 Modbus node addressModbus_Address · Float, 1 to 247, default 1. float32 2 1 RW Holding (FC03)
40023 22 Pulse constantPulse_Constant · Float, 0 to 3, default 0. 0 = 1000 imp/kWh, 1 = 100 imp/kWh, 2 = 10 imp/kWh, 3 = 1 imp/kWh. At 1000 imp/kWh the pulse width is fixed at 35 ms. float32 2 1 RW Holding (FC03)
40025 24 Meter passwordPassword · Float. Read returns the meter password and write programs a new one. Default 1000. float32 2 1 RW Holding (FC03)
40029 28 Network port baud rateBaud_Rate · Float. 0 = 2400, 1 = 4800, 2 = 9600 (default), 3 = 19200, 5 = 1200 baud. The older SDM72D-M-1 manual V1.4 lists 0, 1, 2 and 5 only. float32 2 1 RW Holding (FC03)
40059 58 Automatic scroll display timeScroll_Display_Time · Float, range 0 to 60. The register table gives default 0 while the set-up menu section of the same manual gives default 5 and says 0 means do not scroll. The older SDM72D-M-1 manual V1.4 gives range 0 to 30. float32 2 s 1 RW Holding (FC03)
40061 60 Backlight timeBacklit_Time · Float, range 0 to 121, default 60. 0 means the backlight is always on and 121 means always off. The older SDM72D-M-1 manual V1.4 gives range 0 to 120 and says only that 0 means the backlight is always on. float32 2 min 1 RW Holding (FC03)
40087 86 Pulse 1 energy typePulse1_Energy_Type · Float. 1 = import active energy, 2 = total active energy (default), 4 = export active energy. float32 2 1 RW Holding (FC03)
461457 61456 Reset historical energy dataReset_Energy · Write-only, 2 bytes in hex. Writing 00 03 resets the energy information. The SDM72D-M-1 manual V1.4 calls it the reset of the resettable energy. uint16 1 1 W Holding (FC03)
464513 64512 Serial numberSerial_Number · Unsigned 32 bit integer, read only. The printed address is a 6 digit holding number (wire address 0xFC00). uint32 2 1 R Holding (FC03)
464515 64514 Meter codeMeter_Code · 2 bytes in hex, read only. The manual gives SDM72D-M-2 = 00 89 (the SDM72D-M-1 manual V1.4 gives SDM72D-M-1 = 00 84). uint16 1 1 R Holding (FC03)
464645 64644 Software versionSoftware_Version · 2 bytes in hex, read only. The version shown on the display as XX.YY, XX is the first byte and YY the second byte. uint16 1 1 R Holding (FC03)

Scale is the number to multiply the raw value by to get the unit. Types with more than one register (32 and 64-bit) follow the word order above.

Open in Modbus Poll

  1. Download the Modbus Poll blocks file.
  2. Open Modbus Poll, connect to the device and set its unit ID. The manual does not state the word order for 32-bit values. Check one known value (a voltage or a counter) and switch the setting if it reads wrong.
  3. In the blocks panel on the right, click Import CSV and pick the file. CSV import is a Pro feature. Without Pro, Modbus Poll polls the first 20 values of your blocks.
  4. The wire addresses are already in the file, so there is no 0-based or 1-based conversion to do.

Once the values look right, export the tag list to Ignition, Kepware, Node-RED, Home Assistant or Voltrus SCADA.

Source and accuracy

Manufacturer document: Eastron SDM72D-M-2 User Manual V1.1.1 2023 (Part 3 Modbus Protocol) (irp.cdn-website.com)

Eastron SDM72D-M-2 User Manual V1.1.1 2023, Zhejiang Eastron Electronic Co., Ltd. in distribution of B+G e-tech GmbH. Copy hosted by a third party; vendor-hosted copy of this version could not be fetched. Eastron's own download page hosts the SDM72D-M-1 User Manual V1.4, whose Part 3 lists a subset of the same registers, and a 2026 SDM72D-M User Manual V1.1 that has no Modbus register table., PDF pp. 13 to 17 (Part 3 Modbus Protocol); PDF pp. 3 and 9 for the communication settings. Read on 2026-10-24.

Also used: Eastron SDM72D-M-1 User Manual V1.4 (vendor-hosted, Part 3 Modbus Protocol pp. 10 to 13) (www.eastrongroup.com)

Also used: Eastron SDM72D-M User Manual 2026 V1.1 (vendor-hosted, 22 pages, no Modbus register table) (www.eastrongroup.com)

Also used: Eastron SDM72D-M Modbus P V1.1 (two page register list, distributor-hosted copy) (www.controlin.com)

Also used: Eastron Group download center (www.eastrongroup.com)

Addresses, types, units and scale are taken from the document above. Names and descriptions are written by Voltrus. Firmware versions can differ, so confirm a value on your own device before you rely on it.

Found a mistake? Report it by email with the register address and the manual page.

More from Eastron

All Eastron register maps

Other energy meters

All register maps · Modbus addressing explained