meta data for this page
LamaPLC: Eastron SDM 230 with Modbus Communication
The Eastron SDM230 Modbus MID 1-phase kWh meter is ideal for the precise monitoring of, for example, a solar panel system, a charging station, a heat pump, or another 1-phase group of your choice. On the illuminated LCD screen, you can immediately see how many kWh the respective system consumes or produces, and it is used for official registration and billing of the measurement data. For example, if you want to bill a tenant for the electricity consumption of a specific room.
Key Features
- Measurement: Measures various parameters, including active energy (kWh), reactive energy (kVArh), power (kW, kVAr, kVA), voltage, current, frequency, and power factor.
- Bi-directional Energy: Supports bi-directional energy measurement (import and export), making it suitable for solar PV and battery storage applications.
- Direct Connection: Designed for a maximum 100A direct connection, eliminating the need for external current transformers (CTs).
- Display: Features a blue-backlit LCD screen for easy reading of data.
- Communication: Includes two pulse outputs and a communication port (RS485 Modbus or M-Bus, depending on the model) for remote monitoring and integration with building management systems (BMS) or SCADA systems. Some models also offer Wi-Fi or LoRaWAN communication options.
- Certification: Many variants are MID-certified (Class B EN50470-3), making them suitable for billing applications.
- Design: Compact design (two modules wide, 36mm) for DIN rail mounting.
Technical Specifications
According to Eastron Europe and Camax.co.uk, the general specifications are as follows:
| Specification | Detail |
|---|---|
| Nominal Voltage (Un) | 230V AC (range 176~276V AC) |
| Base Current (Ib) | 10A |
| Max. Current (Imax) | 100A |
| Frequency | 50/60 Hz (±10%) |
| Accuracy | Active Energy: Class 1 (IEC62053-21) / Class B (EN50470-3) |
| Power Consumption | <2W/10VA |
| Operating Temperature | -25°C to +55°C |
| Mounting | 35mm DIN rail |
| IP Rating | IP51 (indoor) |
Eastron SDM 230 Versions
The differences between versions of the Eastron SDM230 primarily involve physical wiring updates, communication defaults, and enhanced firmware features relating to energy measurement.
| Feature | SDM230 V1 | SDM230 V2 & V3 |
|---|---|---|
| Physical Wiring Layout | Non-standard. Live In/Out at the top; Neutral In/Out at the bottom. | Standard. Live and Neutral In at the top; Live and Neutral Out at the bottom. |
| Energy Calculation | Basic energy measurement mode. | Enhanced “Net-counting” (better for solar/bidirectional energy). |
| Exported Energy | Limited export recording capability. | Separate and reliable measurement of exported energy (kWh). |
| Default Baud Rate | Often defaults to 2400 bps. | Often defaults to 9600 bps (configurable). |
| Resettable Energy | Single total energy counter. | Includes a second, user-resettable total energy counter. |
| Certifications | Older certifications | Updated MID certification options available |
| Firmware Date | Older builds | Recent builds (typically post-2018 for V2/V3) |
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.
Arduino & Eastron SDM 230
To use the Eastron SDM230 with an Arduino, you need an RS-485-to-TTL converter module and a library such as the SDM_Energy_Meter library by reaper7, since the meter uses Modbus RTU over RS-485.
Required Hardware
- Arduino Board: e.g., Uno, Nano, or ESP32.
- RS485 Converter Module: A module based on the MAX485 or similar chip.
- Eastron SDM230: Ensure its Modbus ID (address) and Baud Rate are noted (defaults are typically Address 1 and 2400 bps or 9600 bps; check your model's manual).
Wiring Schematic (MAX485 module)
| MAX485 Pin | Function | Arduino Pin |
|---|---|---|
| VCC | Power | 5V |
| GND | Ground | GND |
| DI | Driver Input (TX) | Pin 4 (SoftwareSerial TX) |
| RO | Receiver Output (RX) | Pin 3 (SoftwareSerial RX) |
| DE & RE | Driver/Receiver Enable | Pin 2 (Connect these two pins together) |
| A | RS485+ | SDM230 Terminal A |
| B | RS485- | SDM230 Terminal B |
Arduino Example Code
This example uses the SDM_Energy_Meter library. First, install the library via the Arduino Library Manager.
#include <SoftwareSerial.h> #include <SDM.h> // Pins for SoftwareSerial communication (RX, TX) SoftwareSerial sdmSerial(3, 4); // Pin used to control the DE/RE pins of the MAX485 converter #define RS485_EN 2 // Create an SDM object (SoftwareSerial instance, Enable Pin, Slave ID) // Default address is 1 (0x01) SDM sdm(&sdmSerial, RS485_EN, 0x01); void setup() { Serial.begin(115200); // Serial monitor output to PC sdmSerial.begin(9600); // SDM230 default baud rate (Check your meter, may be 2400bps) Serial.println("\nEastron SDM230 Reader Initialized"); } void loop() { // Read Voltage (Register 0x0000) float voltage = sdm.readVal(SDM_PHASE_1_VOLTAGE); if (!isnan(voltage)) { Serial.print("Voltage: "); Serial.print(voltage); Serial.println(" V"); } else { Serial.println("Failed to read Voltage"); } // Read Total Power (Register 0x000C) float power = sdm.readVal(SDM_PHASE_1_POWER); if (!isnan(power)) { Serial.print("Power: "); Serial.print(power); Serial.println(" W"); } else { Serial.println("Failed to read Power"); } // Read Total Active Energy (Register 0x0156 or 0x0048 for Import) float energy = sdm.readVal(SDM_TOTAL_ACTIVE_ENERGY); if (!isnan(energy)) { Serial.print("Total 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: 1
