Skip to main content

Interfaces and Functions

Technical reference for communication interfaces on the IRIV IO Controller.

IRIV IO Controller Block Diagram

Block diagram providing a high-level overview of system interfaces and signal flow.

RS485 (Isolated)​

The IRIV IO Controller provides a fully isolated RS485 interface for industrial serial communication.

RS485 Specifications​

ParameterValue
Maximum Baud Rate500 kbps
Isolation Voltage5000 Vrms
Direction ControlAutomatic
UART MappingUART1 (TX: GPIO24, RX: GPIO25)
Termination Resistor120Ω (switchable via DIP switch)

RS485 Wiring​

The RS485 interface is isolated from the system and other interfaces.

Terminal Connections:

  • RS485-A - Differential signal A
  • RS485-B - Differential signal B
  • RS485-GND - Signal ground

Wiring Recommendations​

RS485 typically works by connecting only the A-B differential signals. However, connecting the GND terminal is also recommended for better noise immunity in industrial environments.

Termination Resistor​

The RS485 interface includes a 120Ω termination resistor that can be switched on/off via a DIP switch located on the bottom of the enclosure.

Enable termination resistor for:

  • First device in RS485 chain
  • Last device in RS485 chain

Disable termination resistor for:

  • All intermediate devices in RS485 chain

Default Firmware​

The IRIV IO Controller ships preprogrammed as a MODBUS RTU IO Expander with counter function. The default firmware communicates via RS485 using the MODBUS RTU protocol.

Ethernet (W5500)​

The Ethernet interface is powered by the Wiznet W5500 Ethernet MAC and PHY chip.

Ethernet Specifications​

ParameterValue
ControllerWiznet W5500
Speed10BaseT / 100BaseTX
Auto-NegotiationFull and half duplex, 10 and 100-based
Interface to MCUSPI0 (up to 80MHz)
Built-in TCP/IP StackYes
Internal Memory32KB for TX/RX buffers
Maximum Sockets8 independent sockets simultaneously

W5500 SPI Mapping​

FunctionGPIO Pin
MOSIGPIO19
MISOGPIO20
SCKGPIO22
CSnGPIO21
INTGPIO18
RESETGPIO23

Supported Protocols​

Hardwired TCP/IP Protocols:

  • TCP
  • UDP
  • ICMP
  • IPv4
  • ARP
  • IGMP
  • PPPoE

OT (Operational Technology) Protocols:

  • MODBUS TCP

IT (Information Technology) Protocols:

  • MQTT
  • HTTP/HTTPS

W5500 Features​

  • 8 independent sockets simultaneously
  • Power down mode
  • Wake on LAN over UDP
  • High-speed SPI interface (MODE 0, 3)
  • Internal 32KB memory for TX/RX buffers
  • 10BaseT/100BaseTX Ethernet PHY embedded
  • Auto-negotiation (full and half duplex, 10 and 100-based)

For detailed W5500 specifications and programming information, refer to the official Wiznet website.

USB-C (Programming and Power)​

The USB-C port serves two functions: device programming and power input.

USB-C Specifications​

ParameterValue
FunctionProgramming and configuration
Power Input Voltage4.9V to 5.2V DC
Programming MethodRP2350A bootloader (UF2 files)

Programming Mode​

To enter programming mode:

  1. Press and hold the Boot button (pinhole button)
  2. While holding Boot, press the Reset button (pinhole button)
  3. Release both buttons
  4. Device appears as a mass storage drive on the computer
  5. Drag and drop UF2 firmware files to the drive
  6. Device automatically reboots after upload completes

Power Input​

The USB-C port can power the entire IRIV IO Controller at 5V. The acceptable voltage range is 4.9V to 5.2V DC.

Note: Power consumption is specified at maximum 0.7W according to the datasheet.

Additional Programmable Functions​

User Button​

  • GPIO: GPIO28
  • Type: Active low (triggered when pressed)
  • Access: Pinhole button, requires paperclip

User programmable button for custom applications.

User LED​

  • GPIO: GPIO29
  • Control: Direct GPIO control

User programmable LED indicator for custom status display.

Passive Buzzer​

  • GPIO: GPIO11
  • Type: PWM-capable
  • Function: Variable frequency tone or melody generation

The passive buzzer requires PWM signal to generate audible tones. It can play variable frequencies for alerts, notifications, or melody playback.

Real-Time Clock (RTC)​

  • Chip: PCF85063A
  • Interface: I2C (Slave Address 0x51)
  • I2C Pins: SDA = GPIO16, SCL = GPIO17
  • Battery: CR2032 coin cell (user-replaceable)

The RTC maintains accurate timekeeping when the system is powered off. Insert a CR2032 battery to enable time retention during power outages.


Source(s):

  • IRIV IO Controller Datasheet, Rev 1.0, July 2024, Sections 5.2, 5.3