Wiznet makers

viktor

Published December 30, 2025 ©

122 UCC

20 WCC

46 VAR

0 Contests

0 Followers

0 Following

Original Link

Modbus/TCP firmware for Cytron IRIV IO using Rust

Modbus/TCP firmware for Cytron IRIV IO using Rust

COMPONENTS Hardware components

WIZnet - W5500

x 1


PROJECT DESCRIPTION

Introduction

Cytron IRIV IO Controller - IR4.0 Industrial I/O Controller — DMX Pro Sales

iriv-io-modbus-tcp is an open-source firmware project that aims to run a Modbus/TCP server on the Cytron IRIV IO Controller—a compact industrial I/O device with isolated inputs/outputs and Ethernet. The project is written in Rust using Embassy (async embedded framework) and is currently described as “partial feature parity, in development.” 

Note: This is a community project and not created by WIZnet.

Author introduction

The repository is maintained by andergisomon (Ander). From their GitHub profile, they’re an Electrical & Electronics Engineering undergrad (Universiti Teknologi PETRONAS) with interests spanning embedded systems and related areas.

Project description (what it does)

At a high level, this project is targeting:

  • Modbus/TCP over Ethernet on IRIV IO (typical Modbus TCP port is 502). 
  • A Rust + Embassy architecture (good fit for responsive, non-blocking networking + I/O). 
  • Active development status: there’s an open issue to “debug and complete all current modbus request impls,” which suggests ongoing work to finish/validate function handling.
  • Licensing: the repo is published under GPL-3.0

Repository also includes helper/test artifacts (for example, a Python client script filename appears in the repo root)

About IRIV IO (hardware context)

IRIV IO-Controller Interface - Electronics-Lab

Cytron IRIV IO Controller is an Industry 4.0–style I/O controller built around the Raspberry Pi RP2350 and includes a 10/100 Ethernet port implemented via the WIZnet W5500. It’s designed for lightweight automation and “I/O expander / data gatherer / gateway” style roles. 

Common industrial-facing capabilities include:

  • 11× isolated digital inputs (up to 50V) and 4× isolated digital outputs (up to 50V)
  • 2× analog inputs (voltage or current selectable)
  • Industrial-friendly packaging like a DIN-rail mountable metal enclosure (per product ecosystem descriptions)

Why WIZnet is used (in this stack)

IRIV IO Controller - IR4.0 Industrial I/O Controller

IRIV IO’s Ethernet is based on the WIZnet W5500, which provides a hardwired TCP/IP stack plus integrated MAC+PHY—so the MCU/firmware can focus on application logic (Modbus register mapping, I/O control, scheduling) rather than running a full software TCP/IP stack.

This is especially relevant for Modbus/TCP devices where you want:

  • stable socket behavior,
  • predictable memory use,
  • and simpler embedded networking integration

How it can benefit 

  • Real industrial use case visibility: Modbus/TCP I/O modules are a classic industrial Ethernet workload, and this project is explicitly positioned in that space on W5500-based hardware. 
  • Rust ecosystem pull: A Rust/Embassy-based networking firmware on W5500 hardware is a nice “modern embedded” story and can attract developers who don’t want to start from C examples. 
Documents
Comments Write