Modbus TCP/IP Server Chip for Your Microcontroller
The IS4350 is a Modbus TCP/IP server chip that implements the complete Modbus TCP/IP server stack. Your microcontroller reads and writes its 65,500 Holding Registers over I2C. At the same time, any Modbus client on the network reads and writes the same registers over Ethernet. The chip connects to the network through an external LAN8742A Ethernet PHY.
Implementing Ethernet and Modbus TCP/IP usually takes a lot of engineering and validation time. As a result, this Modbus TCP/IP server chip lets you skip that work and release your product sooner. In addition, it needs no specialized libraries: standard I2C reads and writes are enough.
Main Advantages
- No TCP/IP or Modbus stack to develop, test or maintain.
- Simple integration: standard I2C reads and writes, no libraries required.
- Lower microcontroller load: no Ethernet interrupts, timers or stack memory.
- Only two microcontroller pins: SDA and SCL.
Applications
- Sensors and transmitters: make temperature, pressure, flow or level readings available to a PLC or SCADA system.
- Actuator and motor controllers: receive set-points and commands from a PLC over Ethernet.
- Remote I/O modules: map digital and analog inputs and outputs to Holding Registers.
- Energy meters and power monitors: publish voltage, current, power and energy values.
- Building automation and HVAC controllers: connect your controllers to the building management system.
- Data acquisition and test equipment: share your measurements with any PC or HMI on the network.
How the Modbus TCP/IP Server Chip Works
The IS4350 has two communication interfaces: an I2C interface for your microcontroller and an RMII for the LAN8742A Ethernet PHY. Essentially, it works as an I2C memory with a built-in Ethernet and Modbus TCP/IP stack. Its memory map therefore appears on the network as Holding Registers.
The Holding Registers act as a shared memory between the Modbus client and your microcontroller. In a motor controller, for example, the PLC writes the desired motor speed to one Holding Register. Your microcontroller reads it over I2C and writes the measured power consumption to another register, which the PLC then reads.
- I2C (host interface): 16-bit register addresses and 16-bit registers, sent most significant byte first. In addition, your microcontroller must support I2C clock stretching.
- RMII: connects the IS4350 to an external LAN8742A 10/100 Ethernet PHY.
- INT pin (optional): sends a pulse of about 100 ms whenever a Modbus client writes a register. Your firmware can then react without polling.
- MAC_SCL and MAC_SDA (optional): read a unique EUI-48 MAC address from an AT24MAC402 EEPROM.
Starting the Modbus Server
At power-up, the Modbus server stays offline until your firmware starts it. First, write valid data to your Holding Registers. Then, write 1 to the GO_ONLINE register (address 65513) and wait until the STATUS register (address 65514) reports 5: the server is ready and listening on port 502.
By default, the IS4350 uses DHCP and a MAC address generated from its serial number. Consequently, no network configuration is needed. You can also set a static IP address, subnet mask and gateway over I2C or Modbus.
Safety Features
The Modbus TCP/IP server chip also includes several safety mechanisms for industrial products:
- I2C CRC protection (I2C-CRC): when you tie the I2C_CRC pin to 3.3 V, a CRC-16/Modbus checksum protects every I2C read and write. The chip then discards any write with a wrong CRC.
- I2C watchdog timer (I2C-WDT): start the server by writing 2 instead of 1 to GO_ONLINE. If your microcontroller stops refreshing it for 500 ms, the chip stops the Modbus server. As a result, clients never read stale data.
- Fail-safe power-up: the server never comes online by itself. It cannot publish data while your microcontroller is starting up or has failed.
- Network recovery: if a wrong setting makes your device unreachable, hold the DEF pin high for 3 seconds. The chip then restores the default network configuration.
- Firmware updates: keep the IS4350 up to date with security patches and new releases through the provisioning UART (PROV_RX and PROV_TX pins).
Hardware Design
The IS4350 is simple to integrate, because only the Ethernet section needs special attention on the PCB. Keep each RMII trace shorter than 15 mm, with 50 Ī© single-ended impedance. Then, route the MDI pairs between the LAN8742A and the magnetics with 100 Ī© differential impedance. The datasheet includes a complete schematic example with the IS4350, the LAN8742A, the magnetics and the RJ45 connector.
Key Features
- Modbus TCP/IP server: 65,500 Holding Registers, function codes 03, 06 and 16, port 502, one client connection.
- Ethernet: 10/100 Mbps, through an external LAN8742A PHY (RMII).
- Network: DHCP (default) or static IP.
- MAC address: locally administered (fixed, manual or random) or universally administered from an AT24MAC402 EEPROM.
- I2C interface: 100 kHz, 400 kHz and 1 MHz, slave addresses 24, 25 and 26, pull-ups to 3.3 V or 5 V.
- Safety: optional I2C CRC protection, I2C watchdog timer and fail-safe power-up.
- Performance: about 216 to 270 Modbus requests per second in INACKS tests.
- Single power supply: 3.3 V.
- Package: LQFP64 (10 Ć 10 mm).
- Industrial temperature range: ā40 °C to +85 °C.
Quick Start with the Modbus TCP/IP Server Chip
- Design your board from the schematic example in the datasheet. Tie SPD and ADR to VSS to select 100 kHz and the I2C address 24.
- Connect SCL and SDA to your microcontroller. Add pull-up resistors to 3.3 V or 5 V (4.7 kΩ at 100 kHz).
- Read the CHIP_ID register (address 65522). It always returns 150, which confirms that the I2C communication works.
- Write your initial data to the Holding Registers. Then, write 1 to GO_ONLINE (address 65513) and wait until STATUS (address 65514) reports 5.
- Finally, read the IP address from registers 65501 to 65504. Then, connect any Modbus TCP client to that IP address on port 502.
Do you prefer not to design the Ethernet hardware? The IS4350-M1 module includes the IS4350, the LAN8742A PHY, the magnetics and an RJ45 connector, pre-designed and tested. It uses the same registers and the same I2C protocol, so your firmware works with both.
For the memory map, the I2C protocol, the schematic example and an Arduino example, see the IS4350 datasheet (ISDOC139).
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.
(This product includes the IS4350 chip. The LAN8742A Ethernet PHY and the other external components are not included.)


























