Modbus RTU is an industrial serial protocol for reading and writing device registers over RS-485 or UART. Each device has a unique address (1–247). Registers hold 16-bit values. Function codes define operations: 0x03 (read holding registers), 0x06 (write single register), 0x10 (write multiple registers).
| Layer | RS-485 / UART |
| Addressing | 1 – 247 devices |
| Register size | 16-bit unsigned |
| Max registers | 65535 |
| Baud rates | 9600 – 115200 |
| CRC | 16-bit CRC-16/IBM |
Master sends a frame: [Address][Function][Data][CRC]. Slaves respond only when addressed. RTU mode uses binary encoding with 3.5 character silent gap as frame delimiter. CRC-16 detects transmission errors. Half-duplex RS-485 requires direction control (DE/RE pins).
Half-duplex only — one talker at a time. No native encryption or authentication. Timing sensitive — inter-frame gap must be exact. Master-slave only — no peer-to-peer. Maximum 247 devices per segment.