Skip to main content

DTSU666 3‑Phase + mbpoll Command Reference


🔌 Standard Communication Settings (DTSU666)

Most DTSU666 meters use:

Protocol : Modbus RTU
Baud Rate : 9600
Data Bits : 8
Parity : None
Stop Bits : 2
Mode : Big‑endian
Table : Input Registers (FC04)

Base communication block used in all commands:

-m rtu -b 9600 -P none -s 2


🧠 Critical Flags (Important)

Flag Meaning Required?
-t 3 Input Registers (Function 04) ✅ Yes
:float 32‑bit floating point ✅ Yes
-B Big‑endian word order ✅ Yes
-0 Zero‑based addressing ✅ Yes
-a <id> Slave address ✅ Yes
-1 Poll once Optional
-l 5000 Poll every 5 seconds Optional


🔹 Phase‑to‑Neutral Voltages (L1‑N, L2‑N, L3‑N)

Register: 0x2006

mbpoll -m rtu -b 9600 -P none -s 2 \
-t 3:float -B -0 \
-r 0x2006 -c 3 \
/dev/ttyUSB0 -a 1 -1


🔹 Line‑to‑Line Voltages (L1‑L2, L2‑L3, L3‑L1)

Register: 0x2000

mbpoll -m rtu -b 9600 -P none -s 2 \
-t 3:float -B -0 \
-r 0x2000 -c 3 \
/dev/ttyUSB0 -a 1 -1


🔹 Phase Currents (L1, L2, L3)

Register: 0x200C

mbpoll -m rtu -b 9600 -P none -s 2 \
-t 3:float -B -0 \
-r 0x200C -c 3 \
/dev/ttyUSB0 -a 1 -1


🔹 Total Active Power (kW)

Register: 0x2012

mbpoll -m rtu -b 9600 -P none -s 2 \
-t 3:float -B -0 \
-r 0x2012 -c 1 \
/dev/ttyUSB0 -a 1 -1


🔹 Frequency (Hz)

Register: 0x2044

mbpoll -m rtu -b 9600 -P none -s 2 \
-t 3:float -B -0 \
-r 0x2044 -c 1 \
/dev/ttyUSB0 -a 1 -1


🔹 Total Active Energy (kWh)

Register: 0x4000

mbpoll -m rtu -b 9600 -P none -s 2 \
-t 3:float -B -0 \
-r 0x4000 -c 1 \
/dev/ttyUSB0 -a 1 -1


🔁 Continuous Polling Example (Every 5 Seconds)

mbpoll -m rtu -b 9600 -P none -s 2 \
-t 3:float -B -0 \
-r 0x2006 -c 1 \
-l 5000 \
/dev/ttyUSB0 -a 1


🔢 Change Slave Address (Only One Meter Connected)

⚠ Use Holding Registers (Function 03) for configuration.

Register: 0x0006

mbpoll -m rtu -b 9600 -P none -s 2 \
-t 4:int16 -0 \
-r 0x0006 \
/dev/ttyUSB0 -a 1 -W -- 5

Changes slave ID from 1 → 5.


🧪 Quick Communication Test

Fastest health check:

mbpoll -m rtu -b 9600 -P none -s 2 \
-t 3:float -B -0 \
-r 0x2006 -c 1 \
/dev/ttyUSB0 -a 1 -1

If you see ~230V → communication confirmed.


🚨 Troubleshooting Quick Guide

Symptom Likely Cause
Timeout Wrong address or wiring
4200+ volts Reading wrong register
-8192 values Wrong data type
Nonsense numbers Missing -B
No /dev/ttyUSB0 USB‑RS485 not detected