Modbus TCP
Modbus TCP is a widely used communication protocol for industrial and IoT devices. It enables communication between a master (usually a computer or controller) and one or more slave devices (such as sensors or controllers) over a TCP/IP network.
What is Modbus TCP?
Modbus TCP is an Ethernet-based version of the Modbus protocol.
It uses a client-server architecture.
Communication occurs over port 502.
It supports reading and writing to data areas called:
Holding Registers (HR) – for configuration and text fields
Input Registers (IR) – for sensor readings
Discrete Inputs (DI) – for digital status flags
Decoding Text in Holding Registers
Holding Registers store ASCII strings as 16-bit values. Each 16-bit register (2 bytes) stores two ASCII characters:
High byte → First character
Low byte → Second character
When decoding:
Convert each 16-bit register into two 8-bit bytes.
Strip padding bytes like 0x00 (null characters).
Example:
Uint16Array.from([0x4865, 0x6C6C, 0x6F00])
Index Hex High Byte Low Byte Characters0 0x4865 0x48 = 'H' 0x65 = 'e' He
1 0x6C6C 0x6C = 'l' 0x6C = 'l' ll
2 0x6F00 0x6F = 'o' 0x00 = \0 o
Holding Registers
Input Registers
Property | Start Address | Size | Description | Friendly Notation | Legacy Address |
Temp1 (×10) | 0 | 1 | Temperature Probe 1 | IR[0] | 30001 |
Temp2 (×10) | 1 | 1 | Temperature Probe 2 | IR[1] | 30002 |
Discrete Inputs
Property | Start Address | Size | Description | Friendly Notation | Legacy Address |
Door1Open | 0 | 1 | Door 1 status | DI[0] | 10001 |
Reserved | 1–7 | 7 | Unused | DI[1–7] | 10002–10008 |
LightRelay | 8 | 1 | Light Relay | DI[8] | 10009 |
Reserved | 9 | 1 | Unused | DI[9] | 10010 |
HeaterDoor1 | 10 | 1 | Heater Door 1 | DI[10] | 10011 |
Reserved | 11–13 | 3 | Unused | DI[11–13] | 10012–10014 |
ExternalAlarm | 14 | 1 | External Alarm | DI[14] | 10015 |
Reserved | 15–16 | 2 | Unused | DI[15–16] | 10016–10017 |
PowerFail | 17 | 1 | Power Fail | DI[17] | 10018 |
Panic | 18 | 1 | Panic | DI[18] | 10019 |
Door1Opened | 19 | 1 | Door 1 Opened Alarm | DI[19] | 10020 |
Reserved | 20 | 1 | Unused | DI[20] | 10021 |
Room1Installed | 21 | 1 | Room 1 Installed | DI[21] | 10022 |
Room2Installed | 22 | 1 | Room 2 Installed | DI[22] | 10023 |
Reserved | 23 | 1 | Unused | DI[23] | 10024 |
TempProbe1NotGood | 24 | 1 | Temp Probe 1 Not Good | DI[24] | 10025 |
HighTempProbe1 | 25 | 1 | High Temp Probe 1 Alarm | DI[25] | 10026 |
LowTempProbe1 | 26 | 1 | Low Temp Probe 1 Alarm | DI[26] | 10027 |
TempProbe2NotGood | 27 | 1 | Temp Probe 2 Not Good | DI[27] | 10028 |
HighTempProbe2 | 28 | 1 | High Temp Probe 2 Alarm | DI[28] | 10029 |
LowTempProbe2 | 29 | 1 | Low Temp Probe 2 Alarm | DI[29] | 10030 |
Reserved | 30–45 | 16 | Unused | DI[30–45] | 10031–10046 |
Wifi | 46 | 1 | WiFi Status | DI[46] | 10047 |
Reserved | 47 | 1 | Unused | DI[47] | 10048 |
Server | 48 | 1 | Server Connection | DI[48] | 10049 |
Bluetooth | 49 | 1 | Bluetooth Status | DI[49] | 10050 |
BatteryNotGood | 50 | 1 | Battery Not Good | DI[50] | 10051 |
Reserved | 51–55 | 5 | Unused | DI[51–55] | 10052–10056 |
Access ModBus – Cloud Configuration
- Log in to your account

2. Click on device you want to configure

3. Click on “Modbus” button near the device card, under “Program” button

4. A configuration window will appear, providing detailed information and settings for the Modbus client.

Recommended Software
- Windows – Mod 32/64 Based on your operating System https://www.modbustools.com/download.html
- MAC – QModMaster/ModPoll – https://www.modbusdriver.com/modpoll.html
- Web – Node.js + jsmodbus or modbus-serial