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
| 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
- Download the Modbus Poll blocks file.
- 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.
- 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.
- 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.