meta data for this page
LamaPLC: Eastron SDM 630 Energy Meter with Modbus communication
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:
| Parameter | Specification |
|---|---|
| Nominal Voltage (Un) | 3×230/400 V AC |
| Maximum Current (Imax) | 100 A (direct measurement) |
| Accuracy Class | Class 1 (IEC 62053-21) / Class B (EN50470-3) |
| Frequency Range | 50 or 60 Hz |
| Communication | RS485 Modbus RTU, two pulsed outputs |
| Display | Backlit LCD |
| Mounting | 35mm DIN rail |
| Protection Degree | IP51 (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
| Feature | SDM630 V1 | SDM630 V2 | SDM630 V3 |
|---|---|---|---|
| Energy Calculation | Basic Import/Export | Net-counting (Total = Import - Export) | Net-counting, often with separate registers |
| Resettable Energy | Limited options | Includes second resettable total energy counter | Same as V2, possibly enhanced options |
| Firmware Date | Older builds | Typically prior to 2022 | Typically 2022 or later |
| Modbus Registers | Limited set | More extensive, with added registers | Largely consistent with V2 core registers |
| Certifications | Standard | Standard, and MID options | Standard 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:
32-bit (2 words) input registers
The registers are read-only. All values are 4-byte IEEE 754 float type.
| Register Nr | 32 bit address | Description | Unit | Type SDM… |
|---|---|---|---|---|
| 30001 | 1 | Phase 1 Line to Neutral Volts | V | 72, 230, 630 |
| 30003 | 2 | Phase 2 Line to Neutral Volts | V | 72, 630 |
| 30005 | 3 | Phase 3 Line to Neutral Volts | V | 72, 630 |
| 30007 | 4 | Phase 1 Current | A | 72, 230, 630 |
| 30009 | 5 | Phase 2 Current | A | 72, 630 |
| 30011 | 6 | Phase 3 Current | A | 72, 630 |
| 30013 | 7 | Active Power Phase 1 | W | 72, 230, 630 |
| 30015 | 8 | Active Power Phase 2 | W | 72, 630 |
| 30017 | 9 | Active Power Phase 3 | W | 72, 630 |
| 30019 | 10 | Apparent Power Phase 1 | VA | 72, 230, 630 |
| 30021 | 11 | Apparent Power Phase 2 | VA | 72, 630 |
| 30023 | 12 | Apparent Power Phase 3 | VA | 72, 630 |
| 30025 | 13 | Reactive Power Phase 1 | VAr | 72, 230, 630 |
| 30027 | 14 | Reactive Power Phase 2 | VAr | 72, 630 |
| 30029 | 15 | Reactive Power Phase 3 | VAr | 72, 630 |
| 30031 | 16 | Power Factor Phase 1 (pos: forward Current, neg: reverse Current) | - | 72, 230, 630 |
| 30033 | 17 | Power Factor Phase 2 (pos: forward Current, neg: reverse Current) | - | 72, 630 |
| 30035 | 18 | Power Factor Phase 3 (pos: forward Current, neg: reverse Current) | - | 72, 630 |
| 30037 | 19 | Phase 1 Phase angle | Degrees | 230, 630 |
| 30039 | 20 | Phase 2 Phase angle | Degrees | 630 |
| 30041 | 21 | Phase 3 Phase angle | Degrees | 630 |
| 30043 | 22 | Average Line to Neutral Volts | V | 72, 630 |
| 30047 | 24 | Average Line Current | A | 72, 630 |
| 30049 | 25 | Summary of Line Currents | A | 72, 630 |
| 30053 | 27 | Total System Power | W | 72, 630 |
| 30057 | 29 | Total System Apparent Power | VA | 72, 630 |
| 30061 | 31 | Total System Reactive Power | VAr | 72, 630 |
| 30063 | 32 | Total System Power factor (pos: forward Current, neg: reverse Current) | - | 72, 630 |
| 30067 | 34 | Total System Phase angle | Degrees | 630 |
| 30071 | 36 | Frequency of Supply Voltages | Hz | 72, 230, 630 |
| 30073 | 37 | Total Import Energy | kWh | 72, 230, 630 |
| 30075 | 38 | Total Export Energy | kWh | 72, 230, 630 |
| 30077 | 39 | Total Import Reactive Energy | kVArh | 230, 630 |
| 30079 | 40 | Total Export Reactive Energy | kVArh | 230, 630 |
| 30081 | 41 | Total Power | kVAh | 630 |
| 30083 | 42 | Current Hour | Ah | 630 |
| 30085 | 43 | Total System Power Demand (Power sum Demand calculation is for Import – Export) | W | 230, 630 |
| 30087 | 44 | Maximum total System Power Demand (Power sum Demand calculation is for Import – Export) | VA | 230, 630 |
| 30089 | 45 | Current System positive Power Demand | W | 230, 630 |
| 30091 | 46 | Maximum System positive Power Demand | W | 230, 630 |
| 30093 | 47 | Current System reverse Power Demand | W | 230, 630 |
| 30095 | 48 | Maximum System reverse Power Demand | W | 230, 630 |
| 30101 | 51 | Total System Apparent Power Demand | VA | 630 |
| 30103 | 52 | Maximum Total System Apparent Power Demand | VA | 630 |
| 30105 | 53 | Neutral Current Demand | A | 630 |
| 30107 | 54 | Maximum Neutral Current Demand | A | 630 |
| 30201 | 101 | Line 1 to Line 2 Volts | V | 72, 630 |
| 30203 | 102 | Line 2 to Line 3 Volts | V | 72, 630 |
| 30205 | 103 | Line 3 to Line 1 Volts | V | 72, 630 |
| 30207 | 104 | Average Line to Line Volts | V | 72, 630 |
| 30225 | 113 | Neutral Current | A | 72, 630 |
| 30235 | 118 | Phase 1 L/N Volts THD | % | 630 |
| 30237 | 119 | Phase 2 L/N Volts THD | % | 630 |
| 30239 | 120 | Phase 3 L/N Volts THD | % | 630 |
| 30241 | 121 | Phase 1 Current THD | % | 630 |
| 30243 | 122 | Phase 2 Current THD | % | 630 |
| 30245 | 123 | Phase 3 Current THD | % | 630 |
| 30249 | 125 | Average Line to Neutral Volts THD | % | 630 |
| 30251 | 126 | Average Line Current THD | % | 630 |
| 30259 | 130 | Phase 1 Current Demand | A | 230, 630 |
| 30261 | 131 | Phase 2 Current Demand | A | 630 |
| 30263 | 132 | Phase 3 Current Demand | A | 630 |
| 30265 | 133 | Maximum Phase 1 Current Demand | A | 230, 630 |
| 30267 | 134 | Maximum Phase 2 Current Demand | A | 630 |
| 30269 | 135 | Maximum Phase 3 Current Demand | A | 630 |
| 30335 | 168 | Line 1 to Line 2 Volts THD | % | 630 |
| 30337 | 169 | Line 2 to Line 3 Volts THD | % | 630 |
| 30339 | 170 | Line 3 to Line 1 Volts THD | % | 630 |
| 30341 | 171 | Average Line to Line Volts THD | % | 630 |
| 30343 | 172 | Total Active Energy (total kWh / kVarh equals Import + Export) | kWh | 72, 230, 630 |
| 30345 | 173 | Total Reactive Energy (total kWh / kVarh equals Import + Export) | kvarh | 72, 230, 630 |
| 30347 | 174 | L1 Import Active Energy | kWh | 630 |
| 30349 | 175 | L2 Import Active Energy | kWh | 630 |
| 30351 | 176 | L3 Import Active Energy | kWh | 630 |
| 30353 | 177 | L1 Export Active Energy | kWh | 630 |
| 30355 | 178 | L2 Export Active Energy | kWh | 630 |
| 30357 | 179 | L3 Export Active Energy | kWh | 630 |
| 30359 | 180 | L1 total Active Energy (total kWh / kVarh equals Import + Export) | kWh | 630 |
| 30361 | 181 | L2 total Active Energy (total kWh / kVarh equals Import + Export) | kWh | 630 |
| 30363 | 182 | L3 total Active Energy (total kWh / kVarh equals Import + Export) | kWh | 630 |
| 30365 | 183 | L1 Import Reactive Energy | kvarh | 630 |
| 30367 | 184 | L2 Import Reactive Energy | kvarh | 630 |
| 30369 | 185 | L3 Import Reactive Energy | kvarh | 630 |
| 30371 | 186 | L1 Export Reactive Energy | kvarh | 630 |
| 30373 | 187 | L2 Export Reactive Energy | kvarh | 630 |
| 30375 | 188 | L3 Export Reactive Energy | kvarh | 630 |
| 30377 | 189 | L1 total Reactive Energy (total kWh / kVarh equals Import + Export) | kvarh | 630 |
| 30379 | 190 | L2 total Reactive Energy (total kWh / kVarh equals Import + Export) | kvarh | 630 |
| 30381 | 191 | L3 total Reactive Energy (total kWh / kVarh equals Import + Export) | kvarh | 630 |
| 30385 | 193 | Current Resettable Total Active Energy | kWh | 72, 230, 630 |
| 30387 | 194 | Current Resettable Total Reactive Energy | kvarh | 72, 230, 630 |
| 30389 | 389 | Resettable Import Active Energy | kWh | 72 |
| 30391 | 391 | Resettable Export Active Energy | kWh | 72 |
| 30397 | 397 | Netto Energy (Import - Export) | kWh | 72 |
| 31281 | 1281 | Total Import Active Power | W | 72 |
| 31283 | 1283 | Total Export Active Power | W | 72 |
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
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.
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 Nr | 32 bit address | Parameter | Valid range | type | Type SDM… |
|---|---|---|---|---|---|
| 40003 | 3 | Demand period | Specify 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 |
| 40011 | 11 | System type | Write system type: 3p4w = 3, 3p3w = 2, and 1p2w= 1. Requires password, see parameter “password”. | Length: 4 byte Data Format: Float Mode:rw | 72, 630 |
| 40013 | 13 | Pulse 1 width | Specify pulse1 duration in milliseconds: 60, 100, or 200, with 100 as the default. | Length: 4 byte Data Format: Float Mode:rw | 230, 630 |
| 40015 | 15 | Password lock | Enter 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 |
| 40019 | 19 | Network Parity Stop | Specify 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 |
| 40021 | 21 | Network Node | Write 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 |
| 40023 | 23 | Pulse1 Divisor1 | Write 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 |
| 40025 | 25 | Password | Enter the password to access protected registers. Default: 0000. | Length: 4 byte Data Format: Float Mode:rw | 630 |
| 40029 | 29 | Network Baud Rate | Write 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 |
| 40063 | 63 | Current Transformer ratio | Configurable scale from 1 to 2000, example: 200A:5A → 200 divided by 5 → Set value: 40 | Length: 4 byte Data Format: Float Mode:rw | 630 |
| 40087 | 87 | Pulse 1 Energy Type | Write 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 | - | reset | 00 00 :reset the Maximum demand | Length: 2 byte Data Format: Hex Mode:w | 630 |
| 462721 | - | Demand Interval | Slide 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 Power | Default 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 Mode | Data 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 Mode | Data 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 number | Serial number | Length: 4 byte Data Format: unsigned int32 Mode:r | 630 |
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
