---
title: "How Does a W5500 on the Cytron IRIV Turn a Wilcoxon 883M Vibration Sensor into a PLC-Ready Node?"
url: "https://maker.wiznet.io/ElenaLee/projects/how-does-a-w5500-on-the-cytron-iriv-turn-a-wilcoxon-883m-vibration-sensor-into-a-plc-ready-node/"
markdown_url: "https://maker.wiznet.io/ElenaLee/projects/how-does-a-w5500-on-the-cytron-iriv-turn-a-wilcoxon-883m-vibration-sensor-into-a-plc-ready-node/md"
type: "UCC: User Created Content"
author: "ElenaLee"
author_url: "https://maker.wiznet.io/ElenaLee/"
original_author: "Dineshpal Singh"
original_url: "https://github.com/dineshpalsingh1989/Wilcoxon-883M_RTU-to-TCP-and-MQTT"
license: "MIT license (MIT)"
published: "2026-10-24"
language: "en"
tags: ["W5500", "Modbus", "MQTT", "PLC", "Sensors"]
hardware: ["WIZnet W5500"]
likes: 0
views: 6
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# How Does a W5500 on the Cytron IRIV Turn a Wilcoxon 883M Vibration Sensor into a PLC-Ready Node?

> Open-source gateway reads an Amphenol Wilcoxon 883M vibration sensor over RS-485 and serves a PLC, MQTT and a web dashboard through the IRIV's W5500 Ethernet.

Original author: Dineshpal Singh (source: https://github.com/dineshpalsingh1989/Wilcoxon-883M_RTU-to-TCP-and-MQTT)

## Components

- **WIZnet W5500** x 1: Built into the Cytron IRIV IO Controller; the gateway's only network port (SPI0, W5500lwIP driver) ([docs](https://docs.wiznet.io/Product/Chip/Ethernet/W5500))

WIZnet parts: W5500 ([Datasheet](https://docs.wiznet.io/Product/Chip/Ethernet/W5500/datasheet?utm_source=maker&utm_medium=project&utm_campaign=w5500), [product hub](https://maker.wiznet.io/products/w5500/))

## Documents and links

- [Wilcoxon Sensor Gateways repository](https://github.com/dineshpalsingh1989/Wilcoxon-883M_RTU-to-TCP-and-MQTT) (code): Original source: firmware for ESP32 and IRIV IO Controller, docs, demo
- [IRIV IO Controller W5500 network code](https://github.com/dineshpalsingh1989/Wilcoxon-883M_RTU-to-TCP-and-MQTT/blob/main/IRIV%20IOC/src/platform/platform.cpp) (code): Wiznet5500lwIP setup, DHCP with 192.168.4.1 fallback
- [Releases](https://github.com/dineshpalsingh1989/Wilcoxon-883M_RTU-to-TCP-and-MQTT/releases) (code): Firmware images including the IRIV .uf2, with checksums
- [Wiring guide](https://github.com/dineshpalsingh1989/Wilcoxon-883M_RTU-to-TCP-and-MQTT/blob/main/docs/wiring.md): 883M RS-485 wiring for ESP32 boards and the IRIV
- [Amphenol Wilcoxon 883M (Mouser)](https://www.mouser.co.uk/amphenol-883m-mems-accelerometer): Sensor specifications: triaxial MEMS, RS-485 Modbus RTU
- [Cytron IRIV IO Controller (CNX Software)](https://www.cnx-software.com/2024/09/13/raspberry-pi-rp2350-industrial-io-controller/): Controller overview: RP2350A, W5500 Ethernet, isolated RS-485
- [WIZnet W5500](https://wiznet.io/products/ethernet-chips/w5500): WIZnet chip page

## Article

## 📌 Overview

**Wilcoxon Sensor Gateways** is an open-source firmware project by **Dineshpal Singh**, a developer based in Malaysia, first published in January 2026 and updated almost daily in October 2026. It turns an industrial RS-485 vibration sensor, the Amphenol **Wilcoxon 883M**, into a network device that a PLC, an MQTT broker and a web browser can all read at the same time.

The project started on ESP32 boards over Wi-Fi. On October 21, 2026 the author added a third target, the **Cytron IRIV IO Controller**, a DIN-rail industrial controller built around a Raspberry Pi RP2350A and a **WIZnet W5500**. The IRIV has no Wi-Fi, so on this build the W5500 is the gateway's only network port: every PLC read, dashboard page, MQTT message and firmware upload goes through it.

![From sensor to dashboard, PLC and MQTT: the two gateway options](https://maker.wiznet.io/upload/ckeditor5/ecda506d153141bb879ba23bbed6c942.png) *System overview from the project docs: the 883M talks Modbus RTU to either an ESP32 board or the IRIV IO Controller, which serves a web dashboard, PLC/SCADA and an MQTT broker. Image: Dineshpal Singh, MIT License.*

> **Key takeaway:** this is a working pattern for condition monitoring on the factory floor: a field sensor on RS-485, a DIN-rail controller in the cabinet, and a W5500 Ethernet port that hands the data to existing PLC and MQTT systems.

## Background: What the Wilcoxon 883M Measures

The **883M** is a triaxial MEMS vibration sensor from Wilcoxon, a brand of Amphenol. It measures vibration on three axes (X, Y and Z) plus temperature, and it computes the numbers maintenance teams use to judge machine health: acceleration, velocity and displacement in standard frequency bands, true peak, and crest factor. It can also capture a one-second **time waveform** (13,333 samples) and an **FFT spectrum** (6,145 lines up to 5 kHz). An FFT spectrum splits a vibration signal into its frequencies, which is how bearing wear, imbalance or misalignment show up as specific peaks.

The sensor speaks **Modbus RTU** over **RS-485**. Modbus RTU is a simple request-and-response protocol that runs on a twisted-pair serial bus, common in factories. It works well for one controller asking one sensor for values, but a plant usually wants the same data in a PLC, a dashboard and a cloud or historian at once. That is the gap this gateway fills.

## How the Gateway Works

The firmware reads the sensor with the author's own **Wilcoxon883MRTU** library, which handles Modbus RTU frames, CRC checks, timeouts and device identity. It stores the latest values and finished captures in gateway memory, then serves them through three outputs:

- **Modbus TCP server on port 502** for up to 8 PLC or SCADA clients, with metrics at fixed holding registers (for example, X velocity RMS at register 4 and temperature at register 60) and waveform and spectrum buffers at registers 1000 and 20000.

- **MQTT client** that publishes scalar metrics, a health status, and waveform and spectrum data split into chunks of up to 200 points, and accepts commands such as `trigger_capture`.

- **Web dashboard** with live X/Y/Z metrics, trends, capture tools and CSV export.

A PLC never waits on the slow RS-485 bus: Modbus TCP requests are answered from gateway memory, and waveform and spectrum registers are only copied in after a capture finishes. A PLC can also start a capture by writing to register 92 or 93 and watch registers 90 and 91 to see when the data is ready.

![Gateway data flow: Modbus RTU client, gateway memory and Modbus TCP server](https://maker.wiznet.io/upload/ckeditor5/0bef51ba4a6142079ec72994b58e6386.png) *Gateway data flow from the project docs. The diagram is labelled for the ESP32-S3 build; the IRIV build runs the same library and register map over Ethernet. Image: Dineshpal Singh, MIT License.*

## ⚙️ Role of the WIZnet W5500

On the IRIV IO Controller, the W5500 sits on the RP2350A's SPI0 bus (GP18 to GP23, with interrupt and reset lines). The firmware uses the Arduino-Pico **W5500lwIP** driver: the RP2350A runs the lwIP TCP/IP stack in software, and the W5500 acts as the Ethernet controller that puts frames on the cable. At startup the gateway asks for an address by DHCP. If no DHCP server answers within 10 seconds, it falls back to the fixed address 192.168.4.1, and holding the USER button for 5 seconds forces that fallback, which helps when a laptop is plugged straight into the controller during commissioning.

![Where the W5500 sits in the IRIV build](https://maker.wiznet.io/upload/ckeditor5/bb3dd3a8fd0f408b9b3f971fc9ebeedc.png) *Generated technical diagram: the 883M on the isolated RS-485 port, the RP2350A running the gateway firmware, and the W5500 as the only path to PLC, dashboard and MQTT.*

Wired Ethernet is the reason this target exists. The ESP32 builds need Wi-Fi, which is often unreliable or not allowed inside metal control cabinets. The IRIV build gives the same gateway a cabinet-ready form: an isolated RS-485 port with automatic direction control and switchable termination, 10 to 30 V DC input, a DIN-rail case, and an RJ45 port driven by the W5500.

![Cytron IRIV IO Controller front panel and the terminals the gateway uses](https://maker.wiznet.io/upload/ckeditor5/19ce1fca595c42f29e32fe51a71279cc.png) *IRIV IO Controller drawing from the project docs: the gateway uses RS-485 A/B/G, the V+/V- supply, Ethernet, USB-C, the USER button and the status LED. The 11 digital inputs, 4 digital outputs and 2 analog inputs are planned for a later release. Image: Dineshpal Singh, MIT License.*

> **WIZnet role in one line:** the RP2350A talks to the sensor, and the W5500 connects the result to the plant network.

## Engineering Notes: Bringing TLS to the RP2350

The commit history from October 21, 2026 shows a clear engineering trade-off. The ESP32 builds support MQTT over TLS (port 8883). On the IRIV, the TLS handshake runs in BearSSL on the RP2350A and can take several seconds. Over five releases in one day the author raised the hardware watchdog from 8 to 16 seconds, then found that DNS, TCP, the TLS handshake and the MQTT CONNACK wait could still add up to more than 16 seconds, and added a supervisor task that gives the background work a 60-second budget. An experiment that moved all networking into `loop()`, following an Arduino-Pico threading rule, still hung during the handshake.

The released answer is plain MQTT on port 1883 for the IRIV, with the TLS switch disabled in the web UI and a note in the README. The README recommends a trusted network or a local broker for this board, and an ESP32 board when a broker only accepts TLS.

![One day of IRIV bring-up, October 21, 2026](https://maker.wiznet.io/upload/ckeditor5/313663c026d148e7b024b57b593e19a9.png) *Generated summary of the IRIV commits: port, watchdog and TLS changes, the loop() experiment, and the plain-MQTT decision shipped in v4.11.5 beta.*

## Dashboard and Commissioning

The firmware serves its own web pages, so no extra software is needed on site. The dashboard shows live velocity per axis, temperature, sensor health (read attempts, failures and timeouts), trends and capture history. ESP32 boards install from a browser-based installer; the IRIV installs by copying a `.uf2` file to the RP2350 USB drive.

![Vibration dashboard rendered by the hardware-free demo](https://maker.wiznet.io/upload/ckeditor5/78effe8cf6544483ac164d7140ef359c.png) *Vibration dashboard from the project's hardware-free demo with simulated readings. Image: Dineshpal Singh, MIT License.*

## Where It Fits and Current Limits

Typical uses are motors, pumps, fans, compressors, gearboxes and CNC machines, where a plant wants vibration trends in its PLC or SCADA and a copy in an MQTT historian. The design keeps the sensor's full capability, including raw waveforms and spectra, instead of only alarm thresholds.

The IRIV build is very new: IRIV support arrived in v4.11.0 on October 21, 2026 and was tested on an IRIV IO Controller, while the 883M Modbus library is still versioned as a beta. Web, OTA and Modbus TCP endpoints have no authentication, so the gateway belongs on a trusted plant network. A second sensor, the Wilcoxon ILA210, has a public test build for the IRIV with physical acceptance tests still pending.

## Related WIZnet Maker Projects

If you want a simpler starting point on the same hardware, [IRIV IO Controller Series: RS-485 (Modbus) to Ethernet to Cloud](https://maker.wiznet.io/irina/projects/iriv-io-controller-series-rs-485-modbus--ethernet--cloud-blynk-thingspeak-mqtt-agricult/) walks through a general Modbus RTU sensor path on the IRIV and its W5500 port to cloud services.

For a different firmware approach on the same controller, [Modbus/TCP firmware for Cytron IRIV IO using Rust](https://maker.wiznet.io/viktor/projects/modbus-tcp-firmware-for-cytron-iriv-io-using-rust/) exposes the IRIV's own I/O over Modbus TCP, the same feature this gateway lists as coming soon.

For the analysis side of vibration monitoring, [STM32 Industrial Fault Detection with FFT and Modbus RTU](https://maker.wiznet.io/josephsr/projects/stm32-industrial-fault-detection-with-fft-and-modbus-rtu/) computes the FFT on the microcontroller itself, while the Wilcoxon gateway receives a spectrum already computed by the sensor.

## ❓ FAQ

**What does the W5500 do in this project?** On the IRIV IO Controller it is the Ethernet controller and the gateway's only network connection. PLC Modbus TCP traffic, MQTT, the web dashboard and firmware updates all pass through it.

**Do I need the IRIV, or can I use an ESP32?** Both work. The ESP32 builds (Adafruit Feather ESP32-S3 and Cytron Maker ESP32) use Wi-Fi and support MQTT over TLS; the IRIV build uses wired Ethernet and plain MQTT, and adds an isolated RS-485 port and a DIN-rail case.

**How does a PLC read the vibration data?** Through Modbus TCP on port 502. Metrics sit at fixed holding registers, waveforms start at register 1000 and spectra at register 20000, and a PLC can trigger a capture by writing to register 92 or 93.

**Can I get the raw waveform and FFT spectrum, not just overall values?** Yes. The gateway downloads the sensor's 13,333-sample waveform and 6,145-line spectrum, serves them over Modbus TCP, publishes them over MQTT in chunks, and exports them as CSV from the dashboard.

**Is it safe to put on the internet?** No. The web, OTA and Modbus TCP endpoints have no authentication, so the gateway should stay on a trusted plant network or behind a local broker.

---

Source: https://maker.wiznet.io/ElenaLee/projects/how-does-a-w5500-on-the-cytron-iriv-turn-a-wilcoxon-883m-vibration-sensor-into-a-plc-ready-node/
