// Device guide — Eastron

Eastron SDM630
Modbus Guide

Read voltage, current, power, power factor, frequency and energy from an Eastron SDM630 three-phase energy meter over Modbus RTU. This guide gives the full register map, FLOAT32 decoding, the FC04 input-register detail that trips people up, and how to get live data — and log it — with ModbusManager on Windows.

Download ModbusManager Pro (free trial) + demo workspace (.json)

Windows 10/11 · free 14-day Pro trial · open the .json workspace inside the app

// about the SDM630

The reference 3-phase meter

The SDM630 register layout is so widely used that other meters clone it — learn it once and you can read many devices.

Eastron’s SDM630 is the most widely deployed three-phase Modbus energy meter in the European prosumer and installer market — MID-certified, direct 100 A connection (or CT version), and around 100 Modbus registers covering everything from per-phase voltage to total energy. Its register map has become the de facto reference: the SDM630MCT and SDM630-TCP variants share it, and many Carlo Gavazzi and clone meters follow the same FLOAT32 layout. If you can read an SDM630, you can read most three-phase Modbus meters.

// download the demo

Ready-made SDM630 workspace

A free ModbusManager Pro workspace with the SDM630 register map already set up: Float32 tags and an energy-meter dashboard. Open it and point it at your meter.

The workspace polls input registers from 30001 (FC04) and decodes voltage, current, power, power factor and frequency as 32-bit floats — no scripting, no manual word-pairing. Every value lands on a clean dashboard ready to read. Set your meter’s slave ID and connection, and you have live data in seconds.

Open in ModbusManager Pro · 📋 Workspace → open · needs the Float32 tag type (v1.6+)

// connection settings

Modbus settings

Set these from the meter’s front panel (SET menu), then match them in ModbusManager.

SettingTypical value
ProtocolModbus RTU (2-wire RS-485)
Baud rate9600 (also 2400/4800/19200/38400)
ParityNone (1 stop bit) — default
Node address1–247 (set on meter)
Function code (measurements)04 — input registers
Function code (config)03 read / 16 write — holding registers
Data typeFLOAT32 (2 registers, big-endian)

Baud rate is not only a setup detail — it caps how often a whole line of meters can be read. At 9600 baud a 10-register read of one SDM630 costs roughly 52 ms, so twenty meters on the same pair need about a second for one full pass. See for the timing per baud rate and how to pick an interval that holds.

// register map

SDM630 measurement registers

All values are FLOAT32 (two registers each), read with function code 04. Addresses use the 1-based 30001 input-register numbering from the Eastron protocol.

RegisterMeasurementUnitType
30001Voltage L1-NVFLOAT32
30003Voltage L2-NVFLOAT32
30005Voltage L3-NVFLOAT32
30007Current L1AFLOAT32
30009Current L2AFLOAT32
30011Current L3AFLOAT32
30013Active Power L1WFLOAT32
30015Active Power L2WFLOAT32
30017Active Power L3WFLOAT32
30053Total Active PowerWFLOAT32
30071Total Power FactorFLOAT32
30077FrequencyHzFLOAT32
30073Total Import Active EnergykWhFLOAT32
30075Total Export Active EnergykWhFLOAT32
Note: in 0-based addressing, register 30001 = address 0x0000, 30007 = 0x0006, and so on. Each request must be 40 parameters or fewer, or the meter returns an exception.

The SDM630 exposes around 100 registers in total, including per-phase apparent and reactive power, per-phase power factor, THD and demand values. The full list is in the Eastron SDM630 Modbus protocol document; the registers above are the most commonly polled.

SDM630MCT — the CT-operated variant

The SDM630MCT measures through external current transformers instead of direct connection, but speaks the same Modbus: FC04, FLOAT32 pairs, and the measurement addresses above are identical. The practical differences are the CT ratio — set from the meter’s set-up menu (or the holding registers listed in the MCT protocol document) so the reported currents and powers are already scaled to primary values — and slightly different energy-resolution behaviour on some firmware. If your SDM630MCT readings look off by a constant factor, the CT ratio is the first thing to check. The free workspace on this page works with the MCT unchanged.

// how to read it

Read an SDM630 in three steps

From wiring to live values in a few minutes.

Step 1
Connect
Wire RS-485 A (+) and B (-) to the meter’s comm terminals with 120 Ω shielded twisted pair. In ModbusManager pick RTU with the meter’s baud rate (default 9600), parity and slave address.
Step 2
Poll & decode
Add a poll on input registers (FC04) starting at 30001. Set the display type to FLOAT32 so each register pair becomes a real value. Using FC03 here returns an exception — measurements are input registers.
Step 3
Visualise & log
Map the values to a dashboard for a live panel, log them to the Historian for energy studies, or set alarms on over-voltage or over-current.
// why modbusmanager

A practical tool for energy meters

ModbusManager reads any SDM630 register directly, with built-in FLOAT32 decoding so you do not combine register pairs by hand, and a serial monitor to see every frame. The Standard edition ($49) covers polling, scaling and the serial monitor. The Pro edition ($119) adds drag-and-drop Modbus HMI software, a data logging Historian with CSV export for energy and load profiling, and an alarm system — all running locally on Windows, with no SCADA server or cloud account.

// frequently asked questions

SDM630 Modbus — FAQ

What function code does the SDM630 use?+
The SDM630 measurement values are input registers, read with Modbus function code 04 (not 03). Configuration parameters use holding registers with FC03 read and FC16 write. Reading a measurement with FC03 returns an exception, so set your tool to FC04 for live values.
What format are SDM630 registers?+
Every measurement is a 32-bit IEEE 754 float spanning two consecutive registers, high word first (big-endian word order). There are no integer-with-scale-factor registers in the measurement area, so always read two registers per value and decode as FLOAT32.
What Modbus settings does the SDM630 use?+
The SDM630 is a Modbus RTU slave over 2-wire RS-485. Baud rate is selectable (2400, 4800, 9600, 19200, 38400), set from the front panel along with the node address and parity. A common default is 9600 baud, no parity, but check the meter's display.
Can I read the SDM630 register map with other meters?+
Yes. The SDM630 layout is the de facto reference for three-phase energy meters. Eastron variants (SDM630MCT, SDM630-TCP) and many Carlo Gavazzi meters follow the same FLOAT32, two-register-per-value pattern for voltage, current and power, though some addresses differ.
Can I log SDM630 energy data to a file?+
Yes. With ModbusManager Pro you can log any SDM630 register to a local Historian, view it as a trend chart and export to CSV - useful for energy studies, sub-billing and PV self-consumption analysis without a SCADA system.
// more than one meter?

Several SDM630s, one register map

One SDM630 is easy. Ten of them on the same RS-485 line, read by a PLC that has a single Modbus connection, is a different job. ModbusManager Pro can poll every meter and republish just the values you need — total active power, per-phase currents, energy counters — as one common register map the PLC reads in a single request. The FLOAT32 pairs stay floats, or get scaled into integers if that is what the PLC block expects.

Modbus gateway software →

Read your SDM630 in minutes

Download ModbusManager and connect to your meter over RTU. Free 14-day Pro trial — no credit card, no cloud.

Download free trial See pricing

Windows 10/11 · Standard $49 · Pro $119 one-time