Wiren BoardDocumentation
Reference · English

WB-MAI6 Modbus register map

revision 106641

Modes

WB-MAI6 allows these operating modes to be configured for each input:

  • Voltage measurement — differential or single-ended.
  • Resistance measurement — differential or single-ended.
  • Current measurement — single-ended only.

Table 3 fully describes the basic operating modes used for standard sensor measurements.

The Sensor type registers (0xX400, 0xX401) Table 5 for each input accept codes from Table 3 or Table 4. For nonstandard measurements, select the input mode and measurement range manually from Table 3.

Table 3. Device operating modes
Measured signal type Input mode HEX code DEC code Description Gain Measurement range Accuracy Output data format Note
Input disabled - 0x0000 0 - - - - -
Measurement of

voltage

Single-ended 0x0001 1 Single-ended voltage measurement, figure 1 1...4 2–10 V ±0.5 % µV
10–30 V ±1 %
0–2000 mV ±(0.2% + 50 µV)
Differential 0x0101 257 Differential voltage measurement from −2 to +2 V relative to iGND, figure 6

Thermocouple voltage measurement,  Fig. 7

1...128 ±2048 mV ±(0.2% + 30 µV)
Measurement of

resistance

Single-ended 0x0002 2 Two-wire resistance measurement, Fig. 3

Connecting dry-contact sensors, Fig. 4

1 0–1 kΩ (±0.1% + 0.3 Ω) Ω × 100
1–100 kΩ ±0.2 %
100–500 kΩ ±1.5 %
Differential

(three-wire circuit)

0x0102 258 Three-wire resistance measurement, figure 8 0–5000 Ω ±(0.1% + 0.15 Ω)
Measurement of

current

Single-ended 0x0003 3 Current measurement from 0 to 20 mA, Fig. 2 1...4 0–20.48 mA ±(0.2% + 1 µA) nA
Voltage measurement with an external divider WB-VDIV Single-ended 0x0005 5 Voltage measurement from 0 to 60 V 1...4 0–60 V ±(0.2% + 20 mV) mV Since firmware 2.1.0
Differential 0x0105 261 Voltage measurement from −30 to +30 V 1...128 ±32 V ±(0.2% + 30 µV) Since firmware 2.4.0
Voltage measurement with a custom external divider Single-ended 0x0006 6 Measurement range depends on the external divider.

Divider output must be within 0–2 V for maximum WB-MAI6 accuracy, or 0–4.5 V for near-maximum accuracy.

1...4 ±(0.2% + 50 µV) + external divider error mV Since firmware 2.1.0

Supported standard sensor types

Table 4 lists supported standard sensor codes to enter in the Sensor type registers Table 5.

With standard sensors, register values 0xX40A and 0xX40B (gain) are ignored. Standard sensors have code 0x1XXX.

Table 4. Standard sensor types
Sensor code HEX Sensor code DEC Description Raw data format Converted data format Accuracy
Thermocouples

Operating mode — thermocouple voltage measurement, Fig. 7

0x1000 4096 Type K (chromel–alumel) µV °C · 10, °C · 100 ±(0.8 °C + 0.2 % · Δt)
Note: Δt is the difference between the thermocouple temperature and the WB-MAI temperature when the thermocouple connects directly to WB-MAI6 without extension wires.
Two-wire resistance temperature detectors

Operating mode — two-wire resistance measurement, Fig. 3

0x1100 4352 Pt 50 (α = 0.00385 °C -1) Ω × 100 °C · 10, °C · 100 ±1.5 °C
0x1101 4353 Pt 100 (α = 0.00385 °C -1) ±0.8 °C
0x1102 4354 Pt 500 (α = 0.00385 °C -1) ±0.2 °C
0x1103 4355 Pt 1000 (α = 0.00385 °C -1) ±0.15 °C
0x1110 4368 50P (Russian platinum designation; α = 0.00391 °C -1) ±1.5 °C
0x1111 4369 100P (Russian platinum designation; α = 0.00391 °C -1) ±0.8 °C
0x1112 4370 500P (Russian platinum designation; α = 0.00391 °C -1) ±0.2 °C
0x1113 4371 1000P (Russian platinum designation; α = 0.00391 °C -1) ±0.15 °C
0x1120 4384 50M (Russian copper designation; α = 0.00428 °C -1) ±1.4 °C
0x1121 4385 100M (Russian copper designation; α = 0.00428 °C -1) ±0.7 °C
0x1122 4386 500M (Russian copper designation; α = 0.00428 °C -1) ±0.2 °C
0x1123 4387 1000M (Russian copper designation; α = 0.00428 °C -1) ±0.14 °C
0x1130 4400 Ni 100 (α = 0.00617 °C -1) ±0.5 °C
0x1131 4401 Ni 500 (α = 0.00617 °C -1) ±0.13 °C
0x1132 4402 Ni 1000 (α = 0.00617 °C -1) ±0.1 °C
0x1701 5889 NTC 10k (B = 3988 K) Ω × 100 °C · 10, °C · 100 ±0.2 °C
0x1702 5890 NTC 10k (B = 3950 K)
0x1703 5891 NTC 100k (B = 3950 K)
0x1704 5892 NTC 10k (B = 3435 K)
0x1705 5893 NTC 10k (B = 3470 K)
0x1706 5894 NTC 5k (B = 3470 K)
0x1707 5895 NTC 1.8k (B = 3380 K)
Note: excludes wire and contact resistance
Three-wire resistance temperature detectors

Operating mode — three-wire resistance measurement,   figure 8

0x1200 4608 Pt 50 (α = 0.00385 °C -1) Ω × 100 °C · 10, °C · 100 ±0.6 °C
0x1201 4609 Pt 100 (α = 0.00385 °C -1) ±0.33 °C
0x1202 4610 Pt 500 (α = 0.00385 °C -1) ±0.14 °C
0x1203 4611 Pt 1000 (α = 0.00385 °C -1) ±0.13 °C
0x1210 4624 50P (Russian platinum designation; α = 0.00391 °C -1) ±0.6 °C
0x1211 4625 100P (Russian platinum designation; α = 0.00391 °C -1) ±0.33 °C
0x1212 4626 500P (Russian platinum designation; α = 0.00391 °C -1) ±0.14 °C
0x1213 4627 1000P (Russian platinum designation; α = 0.00391 °C -1) ±0.13 °C
0x1220 4640 50M (Russian copper designation; α = 0.00428 °C -1) ±0.6 °C
0x1221 4641 100M (Russian copper designation; α = 0.00428 °C -1) ±0.31 °C
0x1222 4642 500M (Russian copper designation; α = 0.00428 °C -1) ±0.13 °C
0x1223 4643 1000M (Russian copper designation; α = 0.00428 °C -1) ±0.12 °C
0x1230 4656 Ni 100 (α = 0.00617 °C -1) ±0.23 °C
0x1231 4657 Ni 500 (α = 0.00617 °C -1) ±0.09 °C
0x1232 4658 Ni 1000 (α = 0.00617 °C -1) ±0.08 °C
Note: Rw is the resistance of each wire. Use identical wires of equal length for terminals P and N.
Current-output sensors

Operating mode — current measurement from 0 to 20 mA, Fig. 2

0x1300 4864 0–5 mA nA 0 mA = lower limit (registers 0xX408 / 0xX409)

5 mA = upper limit (registers 0xX40A / 0xX40B)

±(0.2% + 1 µA)
0x1301 4865 0–20 mA nA 0 mA = lower limit (registers 0xX408 / 0xX409)

20 mA = upper limit (registers 0xX40A / 0xX40B)

±(0.2% + 1 µA)
0x1302 4866 4–20 mA nA 4 mA = lower limit (registers 0xX408 / 0xX409)

20 mA = upper limit (registers 0xX40A / 0xX40B)

±(0.2% + 1 µA)
Voltage-output sensors in single-ended mode

Operating mode — single-ended voltage measurement, figure 1

0x1400 5120 0–1 V µV 0 V = lower limit (registers 0xX408 / 0xX409)

1 V = upper limit (registers 0xX40A / 0xX40B)

±(0.2% + 50 µV)
0x1401 5121 0–10 V µV 0 V = lower limit (registers 0xX408 / 0xX409)

10 V = upper limit (registers 0xX40A / 0xX40B)

±(0.5% + 50 µV)
Note: WB-MAI inputs in this mode have low impedance (50 µA pull-up) to detect unconnected inputs. Contact the manufacturer to disable this.
Voltage-output sensors in differential mode

Operating mode — differential voltage measurement from −2 to +2 V, figure 6

0x1500 5376 −50 to +50 mV µV −50 mV = lower limit (registers 0xX408 / 0xX409)

50 mV = upper limit (registers 0xX40A / 0xX40B)

±(0.2% + 30 µV)
Dry-contact sensors

Operating mode — two-wire resistance measurement,  Fig. 4

0x1600 5632 Dry contact Ω × 100 0 — sensor open or absent

1 — sensor closed (resistance below 100 Ω)

Hall-effect current sensors

Operating mode — single-ended voltage measurement,  Fig. 5

0x1800 6144 Output (2.500 ± 0.625) V A × 10 2.500 V corresponds to 0 A, or the offset (registers 0xX408 / 0xX409)

(2.500 + 0.625) V corresponds to the rated value (registers 0xX40A / 0xX40B)

Registers 0xX408–0xX40B use A × 10

±(0.2% + 0.3% of current scale)

(excluding sensor error)

Register map

In Table 5, the symbol X in a register address is the input number from 1 to 6 (0x1–0x6).

Each input supports differential and single-ended operation. Sensor types for INxP and INxN are therefore set separately in registers 0xX400 and 0xX401, where X is the input number from 1 to 6 in hexadecimal.

Manual gain selection is not recommended. Only gains 1, 2 and 4 are available in single-ended mode.

If INxP is configured for differential operation, INxN configuration registers are ignored. INxN supports only single-ended operation.

Table 5. Modbus registers for measurement-channel configuration and readings
Address HEX Address DEC Type Read/write Default value Format Purpose Note
Measurement-channel configuration
0xX400 4096·X + 1024 holding RW 0 Table 3, Table 4, 0 — off Sensor type for INxP or differential INx (see Tables 3 and 4)
0xX401 4096·X + 1025 holding RW 0 Table 3, Table 4, 0 — off Sensor type for INxN (see Tables 3 and 4)
0xX402 4096·X + 1026 holding RW 20 20, 45, 90, 175, 330, 600, 1000 Data rate for INxP or differential INx, samples/s. For example, 20 gives a sampling time of 1/20 = 0.05 s.
0xX403 4096·X + 1027 holding RW 20 20, 45, 90, 175, 330, 600, 1000 Data rate for INxN, samples/s.
0xX404 4096·X + 1028 holding RW 1 1 - 50 Number of consecutive measurements for INxP or differential INx
0xX405 4096·X + 1029 holding RW 1 1 – 50 Number of consecutive measurements for INxN
0xX406 4096·X + 1030 holding RW 0 0 - 65000 Low-pass filter time constant for INxP or differential INx, ms
0xX407 4096·X + 1031 holding RW 0 0 - 65000 Low-pass filter time constant for INxN, ms
0xX408 4096·X + 1032 holding RW 0 16-bit signed int Active sensor lower measurement limit for INxP or differential INx
0xX409 4096·X + 1033 holding RW 0 16-bit signed int Active sensor lower measurement limit for INxN
0xX40A 4096·X + 1034 holding RW 10000 16-bit signed int Active sensor upper measurement limit for INxP or differential INx
0xX40B 4096·X + 1035 holding RW 10000 16-bit signed int Active sensor upper measurement limit for INxN
0xX40C 4096·X + 1036 holding RW 0 0 (automatic), 1, 2, 4, 8, 16, 32, 64, 128 Gain for INxP or differential INx
0xX40D 4096·X + 1037 holding RW 0 0 (automatic), 1, 2, 4, 8, 16, 32, 64, 128 Gain for INxN
0xX40E 4096·X + 1038 holding RW 0 1 - 10000 Custom external voltage-divider upper resistor R1 for INxP, kΩ × 10 Since firmware 2.1.0
0xX40F 4096·X + 1039 holding RW 0 1 - 10000 Custom external voltage-divider upper resistor R1 for INxN, kΩ × 10 Since firmware 2.1.0
0xX410 4096·X + 1040 holding RW 0 1 - 10000 Custom external voltage-divider lower resistor R2 for INxP, kΩ × 10 Since firmware 2.1.0
0xX411 4096·X + 1041 holding RW 0 1 - 10000 Custom external voltage-divider lower resistor R2 for INxN, kΩ × 10 Since firmware 2.1.0
Measured values
0xX500 4096·X + 1280 input R 0 32-bit signed int Measured value for INxP or differential INx Error: 0x7FFFFFFF
0xX502 4096·X + 1282 input R 0 32-bit signed int Measured value for INxN Error: 0x7FFFFFFF
0xX504 4096·X + 1284 input R 0 16-bit signed int Value converted to physical units for INxP or differential INx Error: 0x7FFF
0xX505 4096·X + 1285 input R 0 16-bit signed int Value converted to physical units for INxN Error: 0x7FFF
0xX506 4096·X + 1286 input R 1 16-bit signed int Current gain for INxP or differential INx
0xX507 4096·X + 1287 input R 1 16-bit signed int Current gain for INxN
0x0600 1536 input R 0 16-bit signed int Voltage at +5V terminals, mV
0x0601 1537 input R 0 16-bit signed int Internal device temperature, °C × 100
0x0700 - 0x070B 1792 - 1803 input R 0 32-bit signed int × 6 Measured values for IN1P–IN6P Error: 0x7FFFFFFF; since firmware 2.4.0
0x070C - 0x0717 1804 - 1815 input R 0 32-bit signed int × 6 Measured values for IN1N–IN6N Error: 0x7FFFFFFF; since firmware 2.4.0
0x0718 - 0x0723 1816 - 1827 input R 0 32-bit signed int × 6 Values converted to physical units (temperature: °C × 100) for IN1P–IN6P or differential IN1–IN6 Error: 0x7FFFFFFF; since firmware 2.4.0
0x0724 - 0x072F 1828 - 1839 input R 0 32-bit signed int × 6 Values converted to physical units for IN1N–IN6N Error: 0x7FFFFFFF; since firmware 2.4.0
Service registers
0x7400-0x740D,

0x7500-0x7507, 0x8400-0x840D, 0x8500-0x8507

Configuration and data registers for two service calibration channels. See the table above.
0x0629 1577 input R 0 16-bit signed int AVCC reference voltage, mV
0x062A 1578 input R 0 16-bit signed int Two-wire resistance offset, channels 1–3, P, mΩ
0x062B 1579 input R 0 16-bit signed int Two-wire resistance offset, channels 1–3, N, mΩ
0x062C 1580 input R 0 16-bit signed int Two-wire resistance offset, channels 4–6, P, mΩ
0x062D 1581 input R 0 16-bit signed int Two-wire resistance offset, channels 4–6, N, mΩ
0x062E 1582 input R 0 16-bit unsigned int Input scan cycle counter
0x0610 1552 input R 0 16-bit unsigned int Input scan cycle duration, ms
0x0800 - 0x80B 2048 - 2059 holding RW 16-bit signed int Factory-set calibration coefficients for high-voltage measurement dividers

Common registers

Connection settings, firmware version and other service registers
Address Register parameters Description Values Note
Dec Hex Type Access Format
Connection settings
110 0x006E Holding RW u16 RS-485 baud rate.
RS-485 connection parameter settings
×100, baud
12 — 1200 bit/s,
24 — 2400 bit/s,
48 — 4800 bit/s,
96 — 9600 bit/s,
192 — 19200 bit/s,
384 — 38400 bit/s,
576 — 57600 bit/s,
1152 — 115200 bit/s
111 0x006F Holding RW u16 RS-485 parity setting 0 — no parity (none),
1 — odd,
2 — even
112 0x0070 Holding RW u16 RS-485 stop bits
See: stop-bit tolerance
1, 2
128 0x0080 Holding RW u16 Device Modbus address (details)
200-219 0x00C8 - 0x00DB Input RO string Device model
220-244 0x00DC - 0x00F4 Input RO string Firmware build commit hash and branch name (2 characters per register)
250-265 0x00FA - 0x0109 Input RO string Firmware version
266-269 0x010A - 0x010D Input RO u64 Serial number extension
270-271 0x010E - 0x010F Input RO u32 Serial number
290-301 0x0122 - 0x012D Input RO string Firmware signature
320 0x0140 Input RO u16 Firmware version in numeric format (details) MAJOR
321 0x0141 MINOR
322 0x0142 PATCH
323 0x0143 s16 SUFFIX
324-325 0x0144 - 0x0145 Input RO u32 Firmware version in numeric format
326-327 0x0146 - 0x0147 Input RO u32 Firmware version in big-endian format
Other information
104-105 0x0068 - 0x0069 Input RO u32 Uptime since boot seconds
120 0x0078 Holding RW u16 Reboot device without saving state Any non-zero value reboots the device
129 0x0081 Holding RW u16 Enter firmware update mode for 2 minutes Any non-zero value enters firmware update mode
330-337 0x014A - 0x0151 Input RO string Bootloader version
130 0x0082 Holding RW u16 Disable Status LED 0 — enabled
1 — disabled
131 0x0083 Holding RW u16 Enter firmware update mode using the current communication settings.
To check whether the firmware and bootloader support this feature, read this register. If reading succeeds and returns 0, the feature is supported.
Writing 1 enters firmware update mode Since firmware 2.0.7
113 0x0071 Holding RW u16 Delay before replying to a Modbus request 0 - 254 ms
114 0x0072 Holding RW u16 Continuous reading across register gaps 0 - disabled
1 - enabled
2 - enabled, retained after reboot
121 0x0079 Input RO u16 Current internal 5 V rail voltage mV
122 0x007A Input RO u16 Minimum internal 5 V rail voltage since boot, without averaging mV
125 0x007D Input RO u16 Current internal 5 V rail voltage, without averaging mV
119 0x0077 Input RO u16 Minimum microcontroller supply voltage since boot, before averaging mV
123 0x007B Input RO u16 Microcontroller supply voltage mV
124 0x007C Input RO s16 Internal microcontroller temperature x0.1, °C
304-319 0x0130-0x013F Input RO string Device batch number.

Available only on devices manufactured from 21 January 2026.

Since firmware 2.3.0
65402 0xFF7A Holding RW u16 Reset device settings to defaults. Communication settings are retained.
The device reboots after the reset.
Writing 1 resets the settings Since firmware 2.1.4
64256-64383 0xFB00-0xFB7F Input RO u16 FlashFS: free space per page bytes Since firmware 2.2.0
64384-64511 0xFB80-0xFBFF Input RO u16 FlashFS: total size of current files per page bytes
64512-64639 0xFC00-0xFC7F Input RO u16 FlashFS: page fragmentation 0…100 %
0 — all data is current,
100 — no current data
64640-64767 0xFC80-0xFCFF Input RO u16 FlashFS: page erase counter
65504 0xFFE0 Input RO u16 Maximum stack usage bytes
0 — stack corrupted
Since firmware 2.2.0
65505 0xFFE1 Input RO u16 Free RAM bytes
65506 0xFFE2 Input RO u16 Used RAM bytes
65507 0xFFE3 Input RO u16 Stack size bytes
65508 0xFFE4 Input RO u16 Cause of last MCU reset 1 — LPWR,
2 — WWDG,
3 — IWDG,
4 — SFT,
5 — POR,
6 — PIN,
7 — OBL,
8 — V18PWR
Since firmware 2.2.0
65509 0xFFE5 Input RO u32 Firmware update counter Since firmware 2.2.0