LamaPLC: Eastron SDM 630 Energy Meter with Modbus communication

Eastron SDM 630 Energy Meter The Eastron SDM630 is a series of three-phase, multifunctional DIN-rail-mounted energy meters used to measure and monitor electrical parameters in industrial, commercial, and residential applications. It is known for its high accuracy, compact design, and communication interfaces.

Key Features

  • Multifunctional Measurement: The meter measures a wide range of parameters, including active energy (kWh), reactive energy (kVArh), active power (W), apparent power (VA), voltage (V), current (A), power factor (PF), frequency (Hz), and total harmonic distortion (THD) for all phases.
  • Direct Connection: Most models support direct connection for loads up to 100 A, eliminating the need for external current transformers (CTs) for many applications. Other variants, such as the SDM630MCT, are designed to operate with external CTs for higher-current applications.
  • Communication: It features built-in interfaces, including RS485 Modbus RTU and dual pulse outputs, for remote monitoring and integration into Building Management Systems (BMS), energy management systems, or solar inverters (e.g., Deye, Growatt).
  • Display and Usability: The meter has a clear, backlit LCD and user-friendly, password-protected menu navigation via touch-sensitive buttons on the front panel.
  • Certification: Many models, such as the SDM630-Modbus-MID V2, are MID-certified, making them suitable for legally compliant billing.
  • Versatility: It is compatible with single-phase two-wire, three-phase three-wire, and three-phase four-wire network configurations.

Technical Specifications

According to Eastron Europe datasheets and user manuals, the specifications for the standard SDM630 models are as follows:

ParameterSpecification
Nominal Voltage (Un)3×230/400 V AC
Maximum Current (Imax)100 A (direct measurement)
Accuracy ClassClass 1 (IEC 62053-21) / Class B (EN50470-3)
Frequency Range50 or 60 Hz
CommunicationRS485 Modbus RTU, two pulsed outputs
DisplayBacklit LCD
Mounting35mm DIN rail
Protection DegreeIP51 (indoor use)
Operating Temperature-25°C to +55°C

Eastron SDM630 Version V1, V2, and V3

The primary difference among the Eastron SDM630 V1, V2, and V3 versions lies in the firmware and specific energy calculation methods, particularly how the meters handle imported and exported energy.

Key Differences Summary

  • V1 (Legacy): The initial version with basic functionality and limited register addresses. It is supported only by certain software configurations at baud rates of 9600 or higher.
  • V2 (Standard/Net-Counting): Introduced “net-counting” calculation, meaning the total energy measurement combines (Import minus Export) values. It added features such as a second resettable total energy counter and had slightly different default Modbus settings and options in its menus.
  • V3 (Enhanced Functionality/MID): The latest version is often certified for commercial billing (MID certification). Functionally, it is very similar to V2 but ensures compliance with newer standards, includes updated firmware (typically post-2022 build dates), and may have slightly different default configurations in some supplier-specific models.

Detailed Comparison Points

FeatureSDM630 V1SDM630 V2SDM630 V3
Energy CalculationBasic Import/ExportNet-counting (Total = Import - Export)Net-counting, often with separate registers
Resettable EnergyLimited optionsIncludes second resettable total energy counterSame as V2, possibly enhanced options
Firmware DateOlder buildsTypically prior to 2022Typically 2022 or later
Modbus RegistersLimited setMore extensive, with added registersLargely consistent with V2 core registers
CertificationsStandardStandard, and MID optionsStandard and MID options, focus on recent compliance

Modbus Protocol Consistency

Crucially, the core Modbus register addresses for real-time measurements (voltage, current, power, frequency) are largely identical across all versions. The main differences users encounter typically relate to the interpretation of the total energy registers and minor menu/configuration variations.

The default Modbus communication settings (Address 1, 9600 baud, 8N1) are generally consistent across all three versions, though supplier customizations exist.

Modbus communication

Read Limits: Do not attempt to read more than 40 parameters (80 registers) in a single Modbus request to avoid exception errors.

RS485 communication interface, MODBUS RTU protocol:

  • Baudrate: 9600 Baud (default, can be set)
  • Parity: Even
  • Databits: 8
  • Stopbits: 1
  • Default slave ID: 1 (SMD72D), 45 (SDM72CTM)
  • Number of Drivers and Receivers: 32 Drivers, 32 Receivers (without repeater)
  • Maximum Cable Length: 1200 m
  • Maximum Data Rate: 10 Mbaud
  • Maximum Common Mode Voltage: 12 V .. –7 V
  • Minimum Driver Output Levels (Loaded): +/– 1.5 V
  • Minimum Driver Output Levels (Unloaded): +/– 6 V
  • Drive Load: Minimum 60 ohms
  • Driver Output Short Circuit Current Limit: 150 mA to Gnd, 250 mA to 12 V, 250 mA to -7 V
  • Minimum Receiver Input Resistance: 12 kΩ
  • Receiver Sensitivity: +/- 200 mV

Convert word array to real array

The Input registers are in a word format and must be converted into real numbers in pairs. This conversion involves straightforward bit-level merging, which can be implemented in LabView, for example, as shown below:

Convert word array (input registers) to real array in labView

32-bit (2 words) input registers

The registers are read-only. All values are 4-byte IEEE 754 float type.

Register Nr32 bit addressDescriptionUnitType SDM…
300011Phase 1 Line to Neutral VoltsV72, 230, 630
300032Phase 2 Line to Neutral VoltsV72, 630
300053Phase 3 Line to Neutral VoltsV72, 630
300074Phase 1 CurrentA72, 230, 630
300095Phase 2 CurrentA72, 630
300116Phase 3 CurrentA72, 630
300137Active Power Phase 1W72, 230, 630
300158Active Power Phase 2W72, 630
300179Active Power Phase 3W72, 630
3001910Apparent Power Phase 1VA72, 230, 630
3002111Apparent Power Phase 2VA72, 630
3002312Apparent Power Phase 3VA72, 630
3002513Reactive Power Phase 1VAr72, 230, 630
3002714Reactive Power Phase 2VAr72, 630
3002915Reactive Power Phase 3VAr72, 630
3003116Power Factor Phase 1
(pos: forward Current, neg: reverse Current)
-72, 230, 630
3003317Power Factor Phase 2
(pos: forward Current, neg: reverse Current)
-72, 630
3003518Power Factor Phase 3
(pos: forward Current, neg: reverse Current)
-72, 630
3003719Phase 1 Phase angleDegrees230, 630
3003920Phase 2 Phase angleDegrees630
3004121Phase 3 Phase angleDegrees630
3004322Average Line to Neutral VoltsV72, 630
3004724Average Line CurrentA72, 630
3004925Summary of Line CurrentsA72, 630
3005327Total System PowerW72, 630
3005729Total System Apparent PowerVA72, 630
3006131Total System Reactive PowerVAr72, 630
3006332Total System Power factor
(pos: forward Current, neg: reverse Current)
-72, 630
3006734Total System Phase angleDegrees630
3007136Frequency of Supply VoltagesHz72, 230, 630
3007337Total Import EnergykWh72, 230, 630
3007538Total Export EnergykWh72, 230, 630
3007739Total Import Reactive EnergykVArh230, 630
3007940Total Export Reactive EnergykVArh230, 630
3008141Total PowerkVAh630
3008342Current HourAh630
3008543Total System Power Demand
(Power sum Demand calculation is for Import – Export)
W230, 630
3008744Maximum total System Power Demand
(Power sum Demand calculation is for Import – Export)
VA230, 630
3008945Current System positive Power DemandW230, 630
3009146Maximum System positive Power DemandW230, 630
3009347Current System reverse Power DemandW230, 630
3009548Maximum System reverse Power DemandW230, 630
3010151Total System Apparent Power DemandVA630
3010352Maximum Total System Apparent Power DemandVA630
3010553Neutral Current DemandA630
3010754Maximum Neutral Current DemandA630
30201101Line 1 to Line 2 VoltsV72, 630
30203102Line 2 to Line 3 VoltsV72, 630
30205103Line 3 to Line 1 VoltsV72, 630
30207104Average Line to Line VoltsV72, 630
30225113Neutral CurrentA72, 630
30235118Phase 1 L/N Volts THD%630
30237119Phase 2 L/N Volts THD%630
30239120Phase 3 L/N Volts THD%630
30241121Phase 1 Current THD%630
30243122Phase 2 Current THD%630
30245123Phase 3 Current THD%630
30249125Average Line to Neutral Volts THD%630
30251126Average Line Current THD%630
30259130Phase 1 Current DemandA230, 630
30261131Phase 2 Current DemandA630
30263132Phase 3 Current DemandA630
30265133Maximum Phase 1 Current DemandA230, 630
30267134Maximum Phase 2 Current DemandA630
30269135Maximum Phase 3 Current DemandA630
30335168Line 1 to Line 2 Volts THD%630
30337169Line 2 to Line 3 Volts THD%630
30339170Line 3 to Line 1 Volts THD%630
30341171Average Line to Line Volts THD%630
30343172Total Active Energy
(total kWh / kVarh equals Import + Export)
kWh72, 230, 630
30345173Total Reactive Energy
(total kWh / kVarh equals Import + Export)
kvarh72, 230, 630
30347174L1 Import Active EnergykWh630
30349175L2 Import Active EnergykWh630
30351176L3 Import Active EnergykWh630
30353177L1 Export Active EnergykWh630
30355178L2 Export Active EnergykWh630
30357179L3 Export Active EnergykWh630
30359180L1 total Active Energy
(total kWh / kVarh equals Import + Export)
kWh630
30361181L2 total Active Energy
(total kWh / kVarh equals Import + Export)
kWh630
30363182L3 total Active Energy
(total kWh / kVarh equals Import + Export)
kWh630
30365183L1 Import Reactive Energykvarh630
30367184L2 Import Reactive Energykvarh630
30369185L3 Import Reactive Energykvarh630
30371186L1 Export Reactive Energykvarh630
30373187L2 Export Reactive Energykvarh630
30375188L3 Export Reactive Energykvarh630
30377189L1 total Reactive Energy
(total kWh / kVarh equals Import + Export)
kvarh630
30379190L2 total Reactive Energy
(total kWh / kVarh equals Import + Export)
kvarh630
30381191L3 total Reactive Energy
(total kWh / kVarh equals Import + Export)
kvarh630
30385193Current Resettable Total Active EnergykWh72, 230, 630
30387194Current Resettable Total Reactive Energykvarh72, 230, 630
30389389Resettable Import Active EnergykWh72
30391391Resettable Export Active EnergykWh72
30397397Netto Energy (Import - Export)kWh72
312811281Total Import Active PowerW72
312831283Total Export Active PowerW72

The additional energy meters with Easton-type Modbus communication: SDM72, SDM230, SDM630

Source: https://www.eastroneurope.com/images/uploads/products/protocol/SDM630_MODBUS_Protocol.pdf

SDM630/SDM230 Modbus Import registers in .csv file-format

If you'd like to support the development of the site with the price of a coffee — or a few — please do so here.

Here's a handy tip: you can quickly save this page as a PDF by clicking “export to PDF” in the menu on the right side of the screen.

2026/02/14 23:38

32-bit (2 words) holding registers

Registers are classified as read-only (r), read/write (rw), or write-only (w). All values are 4-byte IEEE 754 floating-point numbers.

Register Nr32 bit addressParameterValid rangetypeType SDM…
400033Demand periodSpecify demand periods as 0, 5, 8, 10, 15, 20, 30, or 60 minutes, with 60 as the default. Setting the period to 0 displays the current parameter value for demand, while demand max shows the highest parameter value since the last reset.Length: 4 byte
Data Format: Float
Mode:rw
630
4001111System typeWrite system type: 3p4w = 3, 3p3w = 2, and 1p2w= 1.
Requires password, see parameter “password”.
Length: 4 byte
Data Format: Float
Mode:rw
72, 630
4001313Pulse 1 widthSpecify pulse1 duration in milliseconds: 60, 100, or 200, with 100 as the default.Length: 4 byte
Data Format: Float
Mode:rw
230, 630
4001515Password lockEnter any value to access password lock-protected registers.
To check the lock status: 0 indicates locked, 1 indicates unlocked.
Reading this status will also reset the password timeout to one minute.
Length: 4 byte
Data Format: Float
Mode:rw
630
4001919Network Parity StopSpecify the network port parity and stop bits for the MODBUS Protocol as follows:
0 = One stop bit, no parity (default).
1 = One stop bit, even parity.
2 = One stop bit, odd parity.
3 = Two stop bits, no parity.
A restart is required for changes to take effect.
Length: 4 byte
Data Format: Float
Mode:rw
72, 230, 630
4002121Network NodeWrite the network port node address: 1 to 247 for MODBUS Protocol, default 1. Requires a restart to become effective.Length: 4 byte
Data Format: Float
Mode:rw
72, 230
4002323Pulse1 Divisor1Write pulse divisor index: n = 0 to 5
0: 0.0025 kWh(kVArh)/imp
1: 0.01 kWh(kVArh)/imp
2: 0.1 kWh(kVArh)/imp
3: 1 kWh(kVArh)/imp
4: 10 kWh(kVArh)/imp
5: 100 kWh(kVArh)/imp
Length: 4 byte
Data Format: Float
Mode:rw
630
4002525PasswordEnter the password to access protected registers. Default: 0000.Length: 4 byte
Data Format: Float
Mode:rw
630
4002929Network Baud RateWrite the network port baud rate for MODBUS Protocol, where:
0: 2400 baud
1: 4800 baud
2: 9600 baud, default
3: 19200 baud
4: 38400 baud
Requires a restart to become effective
Length: 4 byte
Data Format: Float
Mode:rw
72, 230, 630
4006363Current Transformer ratioConfigurable scale from 1 to 2000, example: 200A:5A → 200 divided by 5 → Set value: 40Length: 4 byte
Data Format: Float
Mode:rw
630
4008787Pulse 1 Energy TypeWrite MODBUS Protocol input parameter for pulse output 1:
1: import active energy
2: total active energy
4: export active energy, default
5: import reactive energy
6: total reactive energy
8: export reactive energy
Length: 4 byte
Data Format: Float
Mode:rw
630
461457-reset00 00 :reset the Maximum demandLength: 2 byte
Data Format: Hex
Mode:w
630
462721-Demand IntervalSlide Time, Automatic Scroll Display Interval (Scroll Time), Backlight Time
Scroll Time=0: the display does not scroll automatically
Backlight Time=0: Backlight is Always On.
Length: 4 byte
Data Format: BCD “min-min-s-min”
Mode:rw
230
463761-System PowerDefault Format: Hex
0000: 0.001kWh (kVArh) /imp (default)
0001: 0.01kWh (kVArh) /imp
0002: 0.1kWh (kVArh) /imp
0003: 1kWh (kVArh) /imp
Length: 4 byte
Data Format: Float
Mode:rw
230
463776-Measurement ModeData Format: Hex
0001: Mode 1 (Total = Import)
0002: Mode 2 (Total = Import + Export)
0003: Mode 3 (Total = Import - Export)
Length: 4 byte
Data Format: Float
Mode:rw
230
463792-Pulse Output & LED Indicator ModeData Format: Hex
0000: Import & Export Energy, LED flashes for Import & Export Energy
0001: Import Energy, LED flashes for Import Energy only
0002: Export Energy, LED flashes for Export Energy only
Length: 4 byte
Data Format: Float
Mode:rw
230
464513-Serial numberSerial numberLength: 4 byte
Data Format: unsigned int32
Mode:r
630
2026/06/05 15:50

Arduino & Eastron SDM 630

The Eastron SDM630 communicates via Modbus RTU over an RS-485 interface, requiring an RS-485 converter module and a dedicated library to read data on an Arduino. The SDM_Energy_Meter library simplifies this process.

Hardware Required

  • Arduino Board: Any compatible board (Uno, Nano, Mega, ESP32).
  • RS485 to TTL Converter: A module using chips like MAX485, MAX3485, or SN75176 to convert RS485 signals to Arduino's 5V/3.3V logic levels. These typically have Data Enable (DE) and Receive Enable (RE) pins that need to be controlled by the Arduino.
  • Eastron SDM630: Configured with default settings: Modbus address 1, baud rate 9600, 8 data bits, no parity, 1 stop bit (8N1).

Wiring Schematic (MAX485 Module)

  • MAX485 VCC → Arduino 5V
  • MAX485 GND → Arduino GND
  • MAX485 DI (Driver Input) → Arduino Pin 4 (TX for SoftwareSerial)
  • MAX485 RO (Receiver Output) → Arduino Pin 3 (RX for SoftwareSerial)
  • MAX485 DE (Driver Enable) → Arduino Pin 2 (Control pin)
  • MAX485 RE (Receiver Enable) → Arduino Pin 2 (Connect DE and RE together as you only need one-way communication at a time)
  • MAX485 A (RS485+ / Data+) → SDM630 A terminal
  • MAX485 B (RS485- / Data-) → SDM630 B terminal

Arduino Example Code

This example uses the SDM_Energy_Meter library by reaper7 and the standard SoftwareSerial library.

#include <SoftwareSerial.h>
#include <SDM.h>
 
// Pins for the SoftwareSerial communication
// RX pin: 3, TX pin: 4
SoftwareSerial sdmSerial(3, 4); 
 
// Pin 2 is used to control the DE/RE pins of the MAX485 converter
#define RS485_EN    2 
 
// Create an SDM object (SoftwareSerial instance, Enable Pin)
SDM sdm(&sdmSerial, RS485_EN);
 
void setup() {
  Serial.begin(115200);   // Serial monitor output
  sdmSerial.begin(9600);  // SDM630 default baud rate
 
  Serial.println("\nEastron SDM630 Reader");
}
 
void loop() {
  // Read Voltage (Register 0x0000)
  float voltage = sdm.readVal(SDM_PHASE_1_VOLTAGE);
  if (!isnan(voltage)) {
    Serial.print("Voltage L1: ");
    Serial.print(voltage);
    Serial.println(" V");
  } else {
    Serial.println("Failed to read Voltage");
  }
 
  // Read Total System Power (Register 0x0034 or 0x0052 depending on V1/V2/V3 meter version)
  // Check documentation for the specific register address
  float power = sdm.readVal(SDM_TOTAL_SYSTEM_POWER); 
  if (!isnan(power)) {
    Serial.print("Total Power: ");
    Serial.print(power);
    Serial.println(" W");
  } else {
    Serial.println("Failed to read Power");
  }
 
  // Read Total Import Energy (Register 0x0048 or 0x0072 depending on version)
  float energy = sdm.readVal(SDM_TOTAL_IMPORT_ENERGY);
  if (!isnan(energy)) {
    Serial.print("Import Energy: ");
    Serial.print(energy);
    Serial.println(" kWh");
  } else {
    Serial.println("Failed to read Energy");
  }
 
  delay(3000); // Wait 3 seconds before next read
}


This page has been accessed for: Today: 1, Until now: 80