Modbus RTU Baud Rate & Timing Calculator

Calculate character timing, inter-frame silence intervals, throughput, recommended timeouts, and maximum poll rates for any Modbus RTU serial configuration.

Serial Configuration
Presets:

TO Timeout Calculator

PR Poll Rate Calculator

Automatic Timing

Need to configure real devices? Download ModBus Pro — free 7-day trial

Auto-detects baud rate, calculates optimal timeouts, and lets you poll multiple slaves from an intuitive dashboard. Built for industrial engineers.

Download Free Trial

Understanding Modbus RTU Timing and Baud Rate Configuration

Modbus RTU is a binary serial communication protocol that relies heavily on precise timing to delimit message frames. Unlike Modbus ASCII, which uses explicit start and end characters (colon and CR/LF), RTU mode uses silent intervals on the bus to mark the beginning and end of each frame. Getting these timing parameters right is fundamental to reliable communication. A misconfigured baud rate, incorrect silence interval, or too-aggressive poll rate can cause chronic timeout errors, frame corruption, and intermittent drops that are notoriously difficult to diagnose in the field.

Character Time and Bits Per Character

Every character transmitted on a Modbus RTU serial line consists of several bit periods: a start bit, the data bits (7 or 8), an optional parity bit, and one or two stop bits. The total number of bits per character determines the character time, which is the duration required to send a single byte at a given baud rate. For the most common configuration of 8 data bits, no parity, and 2 stop bits (8-N-2), each character is 11 bits long. At 9600 baud, each bit takes approximately 104.17 microseconds, making the full character time about 1.146 milliseconds. This character time is the building block for all other Modbus RTU timing calculations.

The 1.5T and 3.5T Silence Intervals

The Modbus RTU specification defines two critical silence intervals measured in character times. The 1.5 character time (1.5T) silence is the maximum allowable gap between characters within a single frame. If a gap exceeding 1.5T occurs in the middle of a frame, the receiver must discard the incomplete frame and treat the next byte as the start of a new message. The 3.5 character time (3.5T) silence marks the boundary between frames. After a complete frame is transmitted, the bus must remain silent for at least 3.5T before the next frame can begin. This silent interval tells all devices on the bus that the previous frame is complete and the next frame is starting.

Fixed Timing Above 19200 Baud

An important nuance in the Modbus specification is that for baud rates greater than 19200, the 1.5T and 3.5T intervals are fixed at 750 microseconds and 1750 microseconds (1.75 ms) respectively, rather than being calculated from the actual character time. This was specified because at higher baud rates, the calculated silence intervals become so short that typical UART hardware and operating system schedulers cannot reliably measure or enforce them. The fixed values provide a practical minimum that most hardware can handle. This calculator automatically applies these fixed values when you select a baud rate above 19200.

Frame Size and Transmission Time

A Modbus RTU frame consists of the slave address (1 byte), function code (1 byte), data field (variable length), and CRC-16 checksum (2 bytes). The minimum frame is 4 bytes (an exception response), while a maximum frame carrying 125 registers in an FC03 response is 255 bytes. The total time to transmit a frame is the number of bytes multiplied by the character time, plus the 3.5T silence interval at each end. For a typical read of 10 holding registers, the request is 8 bytes and the response is 25 bytes, totaling 33 bytes per transaction. At 9600 baud with 8-N-2, this takes about 37.8 ms for the bytes alone, plus the silence intervals.

Throughput and Effective Data Rate

The effective throughput of a Modbus RTU link is always lower than the raw baud rate because of protocol overhead. Each 16-bit register value requires 2 bytes of payload, but the full transaction includes the request frame, response frame, inter-frame gaps, and slave processing time. At 9600 baud, you can typically achieve around 40 to 60 register reads per second depending on how many registers you read per transaction. Batching registers into larger read requests (up to 125 per FC03 request) dramatically improves throughput because the fixed overhead of address, function code, CRC, and silence intervals is amortized over more data bytes.

Timeout Configuration

Setting the correct response timeout is one of the most common challenges in Modbus RTU deployments. Too short, and you get false timeout errors; too long, and your polling loop stalls waiting for unresponsive devices. The minimum timeout should account for the request transmission time, slave processing time (which varies by device, typically 2 to 50 ms), and the full response transmission time. A safety multiplier of 2x to 3x is standard practice to allow for OS scheduling jitter, USB-to-serial adapter latency, and occasional retransmissions. This calculator provides a recommended timeout that factors in all of these components.

Poll Rate Optimization

When polling multiple Modbus slave devices on the same serial bus, the maximum achievable poll rate depends on the baud rate, the number of registers read from each device, the number of devices, and the processing time each slave needs to prepare its response. The bus is half-duplex, meaning only one transaction can occur at a time. For a network of 10 devices each providing 20 registers at 9600 baud, a complete scan of all devices might take 1 to 2 seconds, limiting your effective refresh rate. Upgrading to 19200 or 38400 baud can cut this in half, while optimizing register maps to minimize the number of separate read requests provides even larger gains.

Common Serial Configurations

The Modbus specification recommends the default configuration of 19200 baud, 8 data bits, even parity, and 1 stop bit (19200/8-E-1). However, many legacy devices and common practice in the field use 9600/8-N-2, which maintains the same 11-bit character frame (the extra stop bit compensates for the missing parity bit). When connecting to an existing bus, always match the exact configuration of the master and all slaves: baud rate, data bits, parity, and stop bits must be identical across every device on the RS-485 segment. A single device with mismatched settings will corrupt traffic for the entire bus.