How do I read an Eastron SDM power meter over Modbus?
Updated 18 September 2026
Eastron's SDM range — the SDM120, SDM220, SDM630 and their relatives — is one of the most common Modbus devices in the field, and it is refreshingly consistent: every measurement is a 32-bit IEEE-754 float, read with function code 4 (input registers), in big-endian (ABCD) word order. Default serial settings are usually 9600 baud, 8N1, unit ID 1 (some ship at 2400). Get those right and the whole meter falls open.
The settings that matter
| Setting | Eastron SDM default |
|---|---|
| Function code | 04 — read input registers |
| Data type | 32-bit IEEE-754 float (every value; two registers each) |
| Word order | ABCD (big-endian, high word first) |
| Baud rate | 9600 (SDM630); some models/older units default to 2400 |
| Framing | 8N1 (parity is configurable on the meter) |
| Unit ID | 1 |
The single most useful fact: because everything is a float, you never wonder about the data type. If a value reads as wild nonsense, it is the word order, not the type — and ABCD is the answer for Eastron. See why your value looks wrong.
Commonly documented SDM630 registers
These are the landmark measurements most people want. Addresses are for the SDM630; the SDM120 and SDM220 use the same float/FC04/ABCD encoding but expose a subset. Confirm the exact list against your model's datasheet — Eastron publishes a register map per model.
| Measurement | Register (3x) | Type |
|---|---|---|
| Phase 1 voltage | 30001 | Float, V |
| Phase 1 current | 30007 | Float, A |
| Phase 1 active power | 30013 | Float, W |
| Total system power | 30053 | Float, W |
| Frequency | 30071 | Float, Hz |
| Import active energy | 30073 | Float, kWh |
| Export active energy | 30075 | Float, kWh |
Remember the addressing convention: 30001 is the first input
register, which is protocol address 0 on the wire. If every value is one slot out,
that is why — see Modbus address off
by one.
Reading one from a phone
If the meter is on a network (native Ethernet, or RS-485 behind a gateway), Easy Modbus reads it directly. Point it at the meter, read the input-register block, and its Analyzer confirms each pair as a float in ABCD order — so you are not trusting the numbers above blind, you are watching the app decode the live value and match it to what the meter's own display shows. Name each register once, and the map is saved and exportable as a CSV. To trend energy or power over time, see log Modbus data to CSV on your phone.
If the meter is straight RS-485 with no gateway, you will read it with a Windows master and a USB adapter instead — the encoding above is identical, only the transport differs. And a stuck 2400-vs-9600 mismatch is the usual reason a known-good SDM stays silent; see finding an unknown baud rate.