Wiren BoardDocumentation
Reference · English

WB-MDM3 Modbus register map

revision 107799

Description

Legend
RO / RW Read only / Read/Write
Shown in bold Default register value
xN Multiply the register value by this factor to obtain the value in the stated units.

If omitted, assume 1

⚡ This register supports data transmission using events in Fast Modbus.
FW Firmware version that introduced the register. Blank means it has always been available.
Error: Value on error
Grey cell Service register: purpose, format and contents may change in later firmware
Device Modbus registers
Address Register parameters Channel Description Values FW
Dec Hex Type Access Format
Output control
0 0x0000 Coil ⚡ RW bool Channel 1 Channel state (off/on) 0 or 1 (0)
1 0x0001 Channel 2
2 0x0002 Channel 3
0 0x0000 Holding ⚡ RW u16 Channel 1 Channel brightness. Writing 0 turns off the coil register 0…100 % (50)
1 0x0001 Channel 2
2 0x0002 Channel 3
4 0x0004 Holding ⚡ RW u16 Channel 1 Brightness with automatic turn-on. Writing > 0 enables the associated channel and sets brightness; writing 0 turns off the coil register 0…100 % (50) 2.12.0
5 0x0005 Channel 2
6 0x0006 Channel 3
24 0x0018 Holding ⚡ RW u16 Channel 1 Remote gradual adjustment of channel brightness 0 — stop
1 — decrease
2 — increase
3 — increase/decrease
2.12.0
25 0x0019 Channel 2
26 0x001A Channel 3
50 0x0032 Holding RW u16 Channel 1 Channel dimming curve

0 — LED or incandescent lamp, logarithmic brightness curve,
1 — linear brightness curve for a resistive load,
2 — switching mode (version 2.2.0 and later)

51 0x0033 Channel 2
52 0x0034 Channel 3
60 0x003C Holding RW u16 Channel 1 Dimming mode

0 — leading edge,
1 — trailing edge

61 0x003D Channel 2
62 0x003E Channel 3
70 0x0046 Holding RW u16 Channel 1 Lower dimming limit.
Since FW 2.3.0, cannot exceed the upper limit
µs,
0…9999 (1000)
71 0x0047 Channel 2
72 0x0048 Channel 3
80 0x0050 Holding RW u16 Channel 1 Upper dimming limit.
Since FW 2.3.0, cannot be below the lower limit
µs,
0…9999 (9999)
81 0x0051 Channel 2
82 0x0052 Channel 3
140 0x008C Holding RW u16 Channel 1 Channel brightness increase rate ms per 1%,
0…500 (10)
since 2.1.0
141 0x008D Channel 2
142 0x008E Channel 3
150 0x0096 Holding RW u16 Channel 1 Channel brightness decrease rate ms per 1%,
0…500 (10)
151 0x0097 Channel 2
152 0x0098 Channel 3
Button/switch event configuration
416 0x01A0 Holding RW u16 Input 1 Input operating mode
Before firmware 2.8.0 this register is absent and all inputs operate in Button mode
0 — button
1 — latching switch
2.8.0
417 0x01A1 Input 2
418 0x01A2 Input 3
419 0x01A3 Input 4
420 0x01A4 Input 5
421 0x01A5 Input 6
768 0x0300 Holding RW u16 Input 1 Output affected by a short press

0 — ignore event
1 — act on output 1
2 — act on output 2
3 — act on output 3
100 — act on all outputs simultaneously

2.7.0
769 0x0301 Input 2
770 0x0302 Input 3
771 0x0303 Input 4
772 0x0304 Input 5
773 0x0305 Input 6
784 0x0310 Holding RW u16 Input 1 Output affected by a long press 2.7.0
785 0x0311 Input 2
786 0x0312 Input 3
787 0x0313 Input 4
788 0x0314 Input 5
789 0x0315 Input 6
800 0x0320 Holding RW u16 Input 1 Output affected by a double press 2.7.0
801 0x0321 Input 2
802 0x0322 Input 3
803 0x0323 Input 4
804 0x0324 Input 5
805 0x0325 Input 6
816 0x0330 Holding RW u16 Input 1 Output affected by a short followed by a long press 2.7.0
817 0x0331 Input 2
818 0x0332 Input 3
819 0x0333 Input 4
820 0x0334 Input 5
821 0x0335 Input 6
704 0x02C0 Holding RW u16 Input 1 Output affected in the Off position
Select Latching switch input mode
2.8.0
705 0x02C1 Input 2
706 0x02C2 Input 3
707 0x02C3 Input 4
708 0x02C4 Input 5
709 0x02C5 Input 6
720 0x02D0 Holding RW u16 Input 1 Output affected in the On position
Select Latching switch input mode
2.8.0
721 0x02D1 Input 2
722 0x02D2 Input 3
723 0x02D3 Input 4
724 0x02D4 Input 5
725 0x02D5 Input 6
832 0x0340 Holding RW u16 Input 1 Short-press action 0 — turn output off
1 — turn output on
2 — toggle output
3 — decrease level
4 — increase level
5 — increase/decrease level (by 1%; for a continuous action, at the rate set by Continuous action repeat period)
2.7.0
833 0x0341 Input 2
834 0x0342 Input 3
835 0x0343 Input 4
836 0x0344 Input 5
837 0x0345 Input 6
848 0x0350 Holding RW u16 Input 1 Long-press action 2.7.0
849 0x0351 Input 2
850 0x0352 Input 3
851 0x0353 Input 4
852 0x0354 Input 5
853 0x0355 Input 6
864 0x0360 Holding RW u16 Input 1 Double-press action 2.7.0
865 0x0361 Input 2
866 0x0362 Input 3
867 0x0363 Input 4
868 0x0364 Input 5
869 0x0365 Input 6
880 0x0370 Holding RW u16 Input 1 Short-then-long-press action 2.7.0
881 0x0371 Input 2
882 0x0372 Input 3
883 0x0373 Input 4
884 0x0374 Input 5
885 0x0375 Input 6
736 0x02E0 Holding RW u16 Input 1 Action in the Off position
Select Latching switch input mode
2.8.0
737 0x02E1 Input 2
738 0x02E2 Input 3
739 0x02E3 Input 4
740 0x02E4 Input 5
741 0x02E5 Input 6
752 0x02F0 Holding RW u16 Input 1 Action in the On position
Select Latching switch input mode
2.8.0
753 0x02F1 Input 2
754 0x02F2 Input 3
755 0x02F3 Input 4
756 0x02F4 Input 5
757 0x02F5 Input 6
896 0x0380 Holding RW u16 Output 1 Continuous action repeat period 5…500 (20) 2.7.0
897 0x0381 Output 2
898 0x0372 Output 3
Input states and press counters
0 0x0000 Discrete Input ⚡ RO bool Input 1 State

0 — open,
1 — closed

1 0x0001 Input 2
2 0x0002 Input 3
3 0x0003 Input 4
4 0x0004 Input 5
5 0x0005 Input 6
32 0x0020 Input ⚡ RO u16 Input 1 Contact closure counter 0…65535
with wraparound
33 0x0021 Input 2
34 0x0022 Input 3
35 0x0023 Input 4
36 0x0024 Input 5
37 0x0025 Input 6
464 0x01D0 Input ⚡ RO u16 Input 1 Short press counter 0…65535
with wraparound
2.7.0
465 0x01D1 Input 2
466 0x01D2 Input 3
467 0x01D3 Input 4
468 0x01D4 Input 5
469 0x01D5 Input 6
480 0x01E0 Input ⚡ RO u16 Input 1 Long press counter 0…65535
with wraparound
2.7.0
481 0x01E1 Input 2
482 0x01E2 Input 3
483 0x01E3 Input 4
484 0x01E4 Input 5
485 0x01E5 Input 6
496 0x01F0 Input ⚡ RO u16 Input 1 Double press counter 0…65535
with wraparound
2.7.0
497 0x01F1 Input 2
498 0x01F2 Input 3
499 0x01F3 Input 4
500 0x01F4 Input 5
501 0x01F5 Input 6
512 0x0200 Input ⚡ RO u16 Input 1 Short-then-long press counter 0…65535
with wraparound
2.7.0
513 0x0201 Input 2
514 0x0202 Input 3
515 0x0203 Input 4
516 0x0204 Input 5
517 0x0205 Input 6
Short-press dimming step
1200 0x04B0 Holding RW u16 Input 1 Brightness step for a single short press. Applies to Increase level and Decrease level actions %
1…100 (1)
2.12.0
1201 0x04B1 Input 2
1202 0x04B2 Input 3
1203 0x04B3 Input 4
1204 0x04B4 Input 5
1205 0x04B5 Input 6
1220 0x04C4 Holding RW u16 Input 1 Brightness step for a double press. Applies to Increase level and Decrease level actions %
1…100 (1)
2.12.0
1221 0x04C5 Input 2
1222 0x04C6 Input 3
1223 0x04C7 Input 4
1224 0x04C8 Input 5
1225 0x04C9 Input 6
Press type detection
1100 0x044C Holding RW u16 Input 1 Long press time

A press longer than this interval is treated as a long press

ms
500…5000 (1000)
2.7.0
1101 0x044D Input 2
1102 0x044E Input 3
1103 0x044F Input 4
1104 0x0450 Input 5
1105 0x0451 Input 6
1140 0x0474 Holding RW u16 Input 1 Second press waiting time

If no second press occurs within this interval, the press is treated as single. 0 disables all press types except short and long

ms
0…2000 (300)
2.7.0
1141 0x0475 Input 2
1142 0x0476 Input 3
1143 0x0477 Input 4
1144 0x0478 Input 5
1145 0x0479 Input 6
1160 0x0488 Holding RW u16 Input 1 Debounce time

Set 5–10 times shorter than the second-press waiting time. If double presses are disabled, any value is allowed. For an encoder, 2–5 ms is recommended.

ms
0…2000 (50)
2.7.0
1161 0x0489 Input 2
1162 0x048A Input 3
1163 0x048B Input 4
1164 0x048C Input 5
1165 0x048D Input 6
Input operating mode (backward compatibility with firmware < 2.7.0)
16 0x0010 Holding RW u16 Channel 1 Input operating modes

Since firmware 2.7.0, input/output mapping is freely configurable in Custom mode.
These mode-selection registers remain for backward compatibility when upgrading older firmware.
Their use in new projects is not recommended.

0 — control disabled,

1 — one-button mode,
2 — two-button mode,
3 — custom mode

17 0x0011 Channel 2
18 0x0012 Channel 3
Safety Mode
8 0x0008 Holding RW u16 Communication loss timeout before entering safe mode s
1…65534 (10)
2.8.0
640 0x0280 Holding RW u16 Input 1 Input control in Safety Mode

0 — do not block
1 — block in Safety Mode
2 — allow only in Safety Mode

2.8.0
641 0x0281 Input 2
642 0x0282 Input 3
643 0x0283 Input 4
644 0x0284 Input 5
645 0x0285 Input 6
648 0x0288 Holding RW u16 Channel 1 Channel action on entering Safety Mode

0 — do nothing
1 — turn off
2 — turn on
3 — set brightness

2.8.0
649 0x0289 Channel 2
650 0x028A Channel 3
656 0x0290 Holding RW u16 Channel 1 Channel brightness on entering Safety Mode (only for action 3). Since FW 2.11.0, 0% brightness can be set, meaning the channel is off. Brightness > 0% turns the channel on %
0…100 (50)
2.8.0
657 0x0291 Channel 2
658 0x0292 Channel 3
Dimmer power-on behaviour
664 0x0298 Holding RW u16 Channel 1 Channel action at dimmer power-on

0 — turn off
1 — restore previous state
2 — turn on
3 — set brightness

2.8.0
665 0x0299 Channel 2
666 0x029A Channel 3
672 0x02A0 Holding RW u16 Channel 1 Channel brightness at dimmer power-on (only for action 3). Since FW 2.11.0, 0% brightness can be set, meaning the channel is off. Brightness > 0% turns the channel on %
0…100 (50)
2.8.0
673 0x02A1 Channel 2
674 0x02A2 Channel 3
Encoder support
364 0x016C Input ⚡ RO u16 Encoder 1 Encoder step counter, accounting for the Pulses per step parameter 0…65535 2.12.0
365 0x016D Encoder 2
366 0x016E Encoder 3
368 0x0170 Holding RW s32 Encoder 1 Encoder position in pulses. Writable to set an initial value −2147483648…2147483647 (0)
370 0x0172 Encoder 2
372 0x0174 Encoder 3
376 0x0178 Holding RW u16 Encoder 1 Encoder connection type.

For an encoder, reduce input debounce time (registers 1160–1165) to 2–5 ms

0 — unused
1 — AB type
377 0x0179 Encoder 2
378 0x017A Encoder 3
384 0x0180 Holding RW u16 Encoder 1 Pulses per logical encoder step 1…65535 (4)
385 0x0181 Encoder 2
386 0x0182 Encoder 3
388 0x0184 Holding RW u16 Encoder 1 Controlled channel 0 — control disabled
1 — channel 1
2 — channel 2
3 — channel 3
389 0x0185 Encoder 2
390 0x0186 Encoder 3
392 0x0188 Holding RW u16 Encoder 1 Controlled channel level step %
1…100 (1)
393 0x0189 Encoder 2
394 0x018A Encoder 3
396 0x018C Holding RW u16 Encoder 1 Behaviour below minimum level 0 — turn channel off
1 — retain minimum level
397 0x018D Encoder 2
398 0x018E Encoder 3
Diagnostic registers
90 0x005A Holding RW u16 Channel 1 Service register. Desired duty cycle of power-transistor control signal 0…9999
91 0x005B Channel 2
92 0x005C Channel 3
97 0x0061 Input RO u16 Service register. AC voltage present at L–N terminals 0 — no voltage
1 — voltage stable
2 — voltage unstable (since firmware 2.5.0)
98 0x0062 Input RO u16 Service register zero-cross_offset
99 0x0063 Input RO u16 AC voltage period at L–N µs,
Last value while voltage was present
100 0x0064 Input RO u16 Hardware overcurrent protection state 0 or 1 (1 — protection tripped).
Available since hardware revision v2.6
since 2.4.0
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)
Device model and firmware version
200-205 0x00C8 - 0x00CD Input RO string Device model
206-219 0x00CE - 0x00DB Input RO string Device model extension. Read 20 registers (200–219) to obtain the device model Only in firmware supporting Fast Modbus
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 Only in firmware supporting Fast Modbus
321 0x0141 MINOR
322 0x0142 PATCH
323 0x0143 s16 SUFFIX
324-325 0x0144 - 0x0145 Input RO u32 Firmware version in numeric format Only in firmware supporting Fast Modbus
326-327 0x0146 - 0x0147 Input RO u32 Firmware version in big-endian format Only in firmware supporting Fast Modbus
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
113 0x0071 Holding RW u16 Delay before replying to a Modbus request ms
0…254 (0)
Only in firmware supporting Fast Modbus
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.7.1
114 0x0072 Holding RW u16 Continuous reading across register gaps 0 — disabled
1 — enabled
2 — enabled persistently across reboots
Only in firmware supporting Fast Modbus
121 0x0079 Input RO u16 Current supply voltage mV
122 0x007A Input RO u16 Minimum supply voltage since boot, without averaging mV
125 0x007D Input RO u16 Current supply 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.10.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.9.2
64256-64383 0xFB00-0xFB7F Input RO u16 FlashFS: free space per page bytes Since firmware 2.10.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.10.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.10.0
65509 0xFFE5 Input RO u32 Firmware update counter Since firmware 2.10.0