RS232 Modbus RTU Slave Module
The IS4310-232M5 is an RS232 Modbus RTU Slave Module that integrates a Modbus RTU stack chip (IS4310), an RS232 transceiver and a female DB9 (DE-9) connector. It connects to the Modbus master with a standard straight-through (not crossed) DB9 cable.
By integrating this module into your project, you instantly get a working Modbus RS232 interface. Just read from or write to the IS4310’s I2C memory registers, which directly map to the Modbus Holding Registers.
This solution minimizes the design effort required to integrate a Modbus RTU Slave with an RS232 physical layer. Optionally, you can integrate the IS4310 chip in your own design to minimize costs and customize the connector. Example schematics can be found in the IS4310 datasheet.
The IS4310 is a chip that integrates a Modbus RTU Slave stack. It features an internal memory of 500 Holding Registers, accessible by both a microcontroller (via I2C) and a Modbus Master device (e.g., PLC, HMI, computer, etc.).
You can use the IS4310 in three modes:
- As a Sensor: your microcontroller writes data to the chip via I2C.
- As an Actuator: your microcontroller reads data from the chip via I2C.
- Mixed: your microcontroller reads and writes data to the chip via I2C.
Just read/write the registers you need. No protocol stack required.
The goal of the IS4310 is to eliminate the engineering effort typically required to implement and validate Modbus RTU communication. It offers a reliable, ready-to-use solution that helps reduce development time and speed up your time-to-market (TTM).
How Does the RS232 Modbus Module Work?
This RS232 Modbus RTU Slave Module provides two interfaces:
- A castellated hole I2C interface for your microcontroller, FPGA, Arduino, Raspberry Pi, etc. This is where your system reads and writes Modbus data.
- An RS232 DB9 connector, which connects the module to the Modbus master (a PC, PLC, HMI or any device with an RS232 port).
The internal memory is composed of 504 registers:
- 500 Holding Registers for user data.
- 4 Configuration Registers for communication settings: Modbus Slave ID, Baud Rate, Parity, Stop Bits.
The 500 Holding Registers are the key: whatever you write to them via I2C can be read by the RS232 master device. And vice versa: whatever the RS232 master device writes to them can be read by your microcontroller via I2C.
RS232 is a point-to-point link: one master and one slave. If you need several slaves on the same bus, use an RS485 module such as the IS4310-ISO485M6.
IS4310-232M5 Pinout
The module has six castellated pads, so you can solder it directly onto your PCB or use it with pin headers.
| Pad | Function |
|---|---|
| 3.3V | Power supply input (3.3 V). |
| GND | Ground. |
| SDA | I2C data. Open drain, 3.3 V (5 V tolerant). Needs a pull-up resistor. |
| SCL | I2C clock. Open drain, 3.3 V (5 V tolerant). Needs a pull-up resistor. |
| I2CSPD | I2C speed selection (see below). Never connect it to 5 V. |
| DNC | Do not connect. Leave it floating. |
DB9 connector (female): pin 2 = TxD, pin 3 = RxD, pin 5 = GND.
Default Module Settings
Default Modbus Settings:
- Modbus Slave ID:
1 - Modbus Baud Rate:
19200 bps - Modbus Parity:
Even - Modbus Stop Bits:
1
Default I2C Settings:
- I2C Slave Address:
0x11(fixed) - I2C Speed: depends on the I2CSPD pin:
100 kHz(pin to GND),400 kHz(pin to 3.3V/2),1 MHz(pin to 3.3V)
Check the Examples tab for a super simple RS232 Modbus sensor built with a Raspberry Pi.























