How to Test a Modbus RTU Device: 4 Steps From a Laptop

November 10, 2026
8
min read
Written by
Tadej Muršič
Co-Founder & COO
how to test a Modbus RTU device

If you are wondering how to test a Modbus RTU device, the short answer is four steps from a laptop. Wire A, B and GND through a USB-to-RS-485 adapter and pick the serial port. Match baud rate, parity, stop bits and slave ID to the device. Read one known holding register with function code 03 and check the raw frames. Only then write a register, deliberately. The procedure works with any Modbus master; this guide shows it in ModbusMate, a free browser tool made by Alledio.

Modbus RTURS-485How-toWeb SerialFree ToolCommissioning

ModbusMate is an online Modbus tester that runs in Chrome, Edge or Opera on a desktop, so there is nothing to install on the bench PC. You get a five-minute guest session straight away and a free profile after that. Below, each step lists what to set, what a good answer looks like and what to do when the device stays silent.

Open ModbusMate, free

Watch: ModbusMate in action

What you need to test a Modbus RTU device

Four things sit on the desk before the first request goes out. None of them is expensive, and the manual matters most.

  • A USB-to-RS-485 adapter that your operating system shows as a serial port, such as FTDI, CP210x or CH340-based types, with its driver installed.
  • The device manual or register map, with the default baud rate, parity, slave ID and at least one register whose value you can predict.
  • A power supply for the device, and a short twisted-pair lead with a ground wire.
  • A desktop Chromium browser: Chrome, Edge or Opera on Windows, macOS, Linux or ChromeOS. Firefox, Safari, phones and tablets do not implement Web Serial.

Three terms come up in every step. RS-485 is the two-wire differential bus that most Modbus RTU devices use. Web Serial is the browser interface that lets a web page open a serial port only after you select it. Each Modbus request carries a PDU, the function code plus its data, wrapped with the slave ID and a CRC, a 16-bit checksum the receiver uses to reject corrupted frames.

Step 1: wire A, B and GND and pick the serial port

Connect the adapter's A terminal to the device's A, B to B, and the adapter ground to the device's signal ground or 0 V. Vendors do not agree on which line is A and which is B, so if a correct setup gets no answer later, swap A and B before anything else. On a one-metre bench lead, termination resistors are rarely needed; on a real trunk, fit 120 Ω at both ends.

Power the device, plug in the adapter and open the app. In the Connection panel, set Mode to Web Serial and press Connect. The browser lists the serial ports it can see; choose your adapter. If the list is empty, the driver is missing or, on Linux, your user may need permission to open serial ports.

How to test a Modbus RTU device in ModbusMate: workspace with poll window, chart and traffic log

The workspace above is what you see after connecting: the Connection panel on the left, a poll window with the register grid in the middle, and the traffic log and chart below. The status bar at the bottom counts what happens on the wire.

Step 2: match serial settings and slave ID

A Modbus RTU slave answers only when every serial setting matches and the request carries its address. One wrong value means silence, not an error, which is why this step deserves a checklist.

SettingWhat to enterWhere to find it
ModeWeb Serial for a real device; Demo slave for a dry runConnection panel
PortYour USB-to-RS-485 adapterBrowser port picker after Connect
Baud rateOften 9600 or 19200; must match the device exactlyDevice manual or its display menu
Parity and stop bits8E1 is the Modbus default; 8N1 and 8N2 are commonDevice manual
FramingRTU for almost all field devices; ASCII only if the manual says soConnection panel
Slave ID1–247, unique on the busDevice manual, DIP switches or display menu
Timeout1000 ms is a safe start for a bench testConnection panel

The Modbus specification makes even parity the default, and a device without parity should use two stop bits. Many devices ship with 8N1 instead, so trust the manual over the standard. If the device has a display menu, read the live settings there; field units are often reconfigured after delivery.

Step 3: read a known holding register (FC03) and check the traffic log

Pick a register whose value you can predict: a firmware version, a device type code or a setpoint you can also read on the device's display. Reading something you already know proves the whole chain, from wiring to byte order, in one go.

In the poll window, set Slave to your device ID, FC to 03 Holding, Addr to the register address and Qty to 1–10. Check Base. A manual that says 40001 usually means protocol address 0, so choose 1-based if the manual counts from 1. Press Start, or F5, and watch the grid. When the value matches the display, the device is talking.

ModbusMate poll window with slave 1, function code 03, address 0 and quantity 10

Then read the traffic log once, because it shows what the grid hides. A request to read ten registers from slave 1 looks like this on the wire:

BytesMeaning
01Slave ID 1
03Function code 03, Read Holding Registers
00 00Start address 0
00 0AQuantity: 10 registers
C5 CDCRC, low byte first

A healthy answer starts with the same slave ID and function code, then a byte count, the data and its own CRC. With the built-in demo slave the reply is 01 03 14 12 34 09 C4 01 90 …: 20 data bytes, where register 0 holds 0x1234 (4660), register 1 holds 2500 and register 2 holds 400. If a 32-bit value looks absurd, change Format to Float32 or Int32 and try another word order such as CDAB.

Now check the status bar. TX and RX should climb together, ERR and CRC should stay at zero, and RTT shows the round-trip time for each request. A rising CRC counter points to wiring or noise, not to the device firmware.

ModbusMate traffic log with request and response frames and the status bar counters

Step 4: write a register safely

Writing is where a test can change a live system, so treat it as a deliberate decision. On a commissioned plant, start with writes switched off: untick Writes allowed in the Connection panel and the session runs in monitoring-only mode, which blocks every write request.

When you do need to write, choose a register the manual marks as writable and harmless, such as a test setpoint. Note the current value first. Double-click the value in the grid, enter the new one and confirm, and ModbusMate writes it to that register. Read it back, check the device reacts as expected, then restore the original value. For multi-register writes, use the Test Center, which builds a raw PDU with presets per function code.

If the device replies with an exception instead of data, the function code in the reply has its top bit set, 0x83 instead of 0x03, followed by an exception code. Code 02 usually means the address is wrong or not mapped; code 03 means the value is out of range.

If nothing comes back: three quick checks

A timeout with RX stuck at zero is the most common first result. Before digging deeper, run three quick checks in this order.

  1. Swap A and B. It costs ten seconds and fixes a large share of silent buses.
  2. Confirm baud rate, parity and slave ID on the device itself, not only in the manual. Then try slave ID 1 and the 9600 or 19200 defaults.
  3. Check that TX climbs and that the adapter's transmit LED blinks. If not, the port or driver is the problem. If your adapter switches direction on RTS, turn on the RTS toggle.

If all three pass and the device still stays silent, work through power, grounding, termination and exception codes one at a time. The Scan function can also sweep slave IDs when nobody knows the address a unit was given.

Building HVAC equipment around Modbus? The Alledio Room Controller, Room Unit and Multi-Sensor speak Modbus RTU on RS-485 and are available as samples with demo or test firmware, so your team can run these four steps on day one. Series supply is OEM only, with an MOQ of 1,000 pcs that is negotiable; see OEM for branding options and Modbus RTU wall user interface for register maps on a wall device.

FAQ

Which register should I read first?
One whose value you can predict, such as a firmware version, a device type code or a setpoint shown on the device's display. A known value proves wiring, serial settings, addressing and byte order in one read.

Do I need termination on the bench?
Usually not. On a short bench lead with one device, the bus works without 120 Ω resistors. On a real trunk of tens or hundreds of metres, fit termination at both ends and nowhere else.

Can I test without the device?
Yes. Set Mode to Demo slave (loopback) and the app answers as unit 1, with holding register 0 at 0x1234 and register 1 at 2500. It is a safe way to rehearse the four steps and learn the traffic log before you touch real hardware.

Does ModbusMate support Modbus TCP?
Modbus TCP is coming soon. Today ModbusMate tests Modbus RTU and Modbus ASCII devices over serial, which covers RS-485 field devices and the serial side of TCP-to-RTU gateways.

Is ModbusMate free?
Yes. There is no licence fee and no paid tier. You start with a five-minute guest session; a free profile with your name and email keeps your workspaces and removes the time limit.

How is this different from a full comparison of Modbus masters?
This guide is a test procedure that works with any master. If you are choosing a tool, read the ModbusMate and Modbus Poll comparison or the ModbusMate launch post.

What to do next

Open the app, run the four steps against the demo slave, then plug in your adapter and repeat them on a real device. Save the session as a workspace, and the next test of the same device model takes under a minute.

Open ModbusMate, free

Share

Keep reading

building pilot projects eu - office building with sensors connected to the Better Buildings mini BMS
Events
Nov 6, 2026

Pilot Buildings Wanted in the EU: Test the Better Buildings Mini BMS for Free

Pilot buildings wanted in the EU: test the Better Buildings mini BMS free with Alledio Multi-Sensors, energy and ESG reporting. Apply by 20 December 2026.
Read the article
Room Unit vs Room Controller for OEMs
Hardware Development
Nov 5, 2026

Room Unit vs Room Controller for OEMs

Room Unit vs Room Controller for OEMs: branded UI on your host or universal I/O and control loops in the wall. Power, I/O, Modbus, MOQ and NRE compared.
Read the article