The IS4320 is an integrated circuit with a built-in Modbus RTU Master Stack, providing a complete standalone Modbus Master solution with an I2C-Serial interface for easy integration into customer applications.
The IS4320 enables any I2C Master device to communicate with Modbus RTU slave devices, allowing data to be read using Function Codes 1, 2, 3, and 4, or written using Function Codes 15 and 16. Its simplicity of use through the I2C-Serial Interface drastically reduces firmware development time while providing a robust Modbus solution.
The IS4320 features two communication buses: a TTL UART for Modbus and an I2C-Serial Interface for the microcontroller. The Modbus UART can connect to various transceivers such as RS485, RS422, RS232, fiber, or radio, with RS485 being the most common. The I2C-Serial Interface connects to any I2C Master device, including microcontrollers, microprocessors, single-board computers like the Raspberry Pi, or development boards such as Arduino.
The I2C interface supports:
The Modbus interface supports:
The IS4320 operates at 3.3V, and its Modbus UART and I2C pins are 5V tolerant, allowing the chip to connect with a wide variety of RS485 transceivers and microcontrollers.
It is available in Industrial (-40ºC to +85ºC) and Extended Temperature Range (-40º to +125ºC).
The supported Function Codes are:
The IS4320 offers a ready-to-use Modbus stack solution that helps reduce development time and speed up your time-to-market, while fully complying with strict T1.5 and T3.5 protocol timing requirements.
Essentially, you write the desired Modbus request into the IS4320 Memory Map and it will be sent to the Slave, then read back the Memory Map to get the received response.
The IS4320 operates very simply via I2C in three steps. All operations are performed using I2C Word Write and I2C Word Read operations. These commands are the same ones typically used to access I2C EEPROMs and are already implemented in most microcontroller IDEs, such as STM32CubeIDE or Arduino.
1. Configure the IS4320 Modbus communications: Set the baud rate, parity, and stop bits to match the Modbus Slave device configuration by writing to the following registers: CFGMBBDR, CFG_MBPAR, and CFG_MBSTP.
2. Configure and execute the Modbus Request: Set the Slave ID, the Function Code, the Starting Address for the read or write operation, and the Quantity of registers. If performing a write operation, also set the data to be written. Finally, trigger the Request. This is done using the following registers: REQ_SLAVE, REQ_FC, REQ_STARTING, REQ_QTY and REQ_EXECUTE. Use also REQ_DATAx for a write operation.
3. Read the Modbus Response: After executing the Request, you can check the result of the operation by reading the RES_STATUS register. If you Requested to read some data, retrieve also the data by reading the RES_DATAx registers.
Default Modbus Settings:
Modbus Baud Rate: 19200 bps
Modbus Parity: Even
Modbus Stop Bits: 1
Default I2C Settings:
I2C Slave Address: 0x14
I2C Speed: Depends on pin 7: 100 kHz
(pin 7 to GND), 400 kHz
(pin 7 to 3.3V/2), 1 MHz
(pin 7 to 3.3V)
🛠️ Forget about Modbus RTU protocol handling: No need to deal with frame parsing, T1.5 and T3.5 timings, CRC or UART and Timer interrupts
❌ No libraries needed: Just use standard I2C functions
⚡ Perfect for heavily loaded CPUs or ISR-heavy microcontrollers
📝 Arduino, STM32, and Raspberry Pi examples available
🧪 Evaluation board available to make some tests in Arduino/Nucleo and Raspberry Pi form factor
⏱️ Save firmware engineering time
🔌 Save pins on your microcontroller: No need to sacrifice any UART pins as it uses I2C, a shared interface
🧘 Reduce the CPU load of your microcontroller
💾 Reduce Flash and RAM memory footprint
⚙️ Save microcontroller resources (UART, Timers, etc.)
🗂️ Schematic design examples available for RS485, RS485-ISOLATED, RS232
🔄 Great for non-deterministic systems (like Raspberry Pi and single-board computers)
💡 Compatible with 5V I2C serial interfaces
🔋 Compatible with 5V RS485 transceivers
🏎️ Supports I2C speeds: 100kHz, 400kHz, and 1MHz
🖥️ Ideal for FPGA designs
🧷 Easy-to-solder SO8N package
📦 Reels available for pick-and-place machines
🚀 Speeds up development
⚙️ Faster prototyping
🏁 Shorter time-to-market
For Arduino and STM32 Nucleo Boards: Kappa4320Ard is an Arduino-form-factor evaluation board that lets you prototype and experiment with the Modbus chip IS4320 over RS485.
For Raspberry Pi and other single board computers: The Kappa4320Rasp is a Raspberry Pi-form-factor evaluation board that lets you prototype and experiment with the Modbus chip IS4320 over RS485. The IS4320 time deterministic stack allows a correct management of the T15 and T35 critical timings, that's specially relevant on non-deterministic systems like computers.
For more information about the Evaluation Board you can also check: www.inacks.com/is4320
📦 Reels available at lower prices for high-volume orders. Contact us.
💬 Contact us anytime for support.
This company and the products provided herein are developed independently and are not affiliated with, endorsed by, or associated with any official protocol or standardization entity. All trademarks, names, and references to specific protocols remain the property of their respective owners.
No additional links provided for this product.
We ship all products from Barcelona via Correos within 1 to 3 business days, with a tracking number.
Delivery usually takes a few days to a week within Europe, and around one week for the rest of the world.