XStore

NORVI X-UARTIO UART Deep-Dive | NORVI

Updated on October 2, 2026

3 min read

Overview #

The NORVI X-UARTIO is a communication expansion module built for the NORVI X controller platform. It gives a single NORVI X CPU access to three industrial serial standards – RS485, RS232, and UART – so it can connect directly to Modbus RTU devices, PLCs, meters, sensors, and older RS232 equipment, without needing separate external converters for each one.

Rather than dedicating a fixed MCU pin to every port, the module shares a small set of MCU I/O lines across all ports and switches between them under firmware control (GPIO and chip-select-controlled routing). This keeps host pin usage low while still exposing four independent physical interface types.

Key Features #

  • Three independent physical interface types
  • Firmware-controlled interface routing
  • Shared MCU I/O architecture
  • GPIO- and chip-select-controlled switching
  • Multiple serial communication options
  • Reduced host MCU pin requirements
  • Designed for NORVI expansion systems

Interface Types #

The UART-IO module provides four physical interface types:

RS485 ports – half-duplex, differential, ideal for Modbus RTURS232 ports – full-duplex, legacy device connectivityUART Ports – Serial communication with multiplexed routing for direct MCU connectivity.
Typical applicationsTypical applicationsTypical applications
● PLCs and industrial controllers
● Modbus RTU devices
● Remote I/O modules
● Industrial sensors and instruments
● HMI and control panels
● Industrial instruments
● HMIs
● Controllers
● PCs and serial equipment
● Legacy automation equipment
● MCU-to-MCU communication
● Embedded peripherals
● Serial sensors
● Custom serial devices
● Debug and configuration interfaces

Technical specifications #

ParameterValue
Supply Voltage24V DC
Current Consumption40mA @ 24V DC
Operating Temperature–40 … +85° C
Dimensions / Mounting DIN RAIL

System Architecture #

The UART-IO module uses a shared-I/O architecture rather than dedicating a separate MCU interface to every physical port.

The host MCU communicates with the module through a common set of I/O lines. Firmware controls the routing circuitry using Enable signals to connect the MCU interface to the required physical port.

Architecture Flow

This approach reduces the number of MCU pins required while allowing multiple physical communication interfaces to be available on the same expansion module.

Multiplexed Interface Operation #

The X-UARTIO uses two independent 4:2 multiplexers.

Each multiplexer provides a separate routing path between the shared MCU communication lines and two physical interfaces.

MUX 1 #

MUX 1 selects between:

  • RS-485
  • UART 1

MUX 2 #

MUX 2 selects between:

  • RS-232
  • UART 2

This architecture allows the host MCU to access the required physical interface without requiring a dedicated MCU interface for every port.

MUX1MUX2Enabled Channel
0RS485 (default)
1UART_1
0RS232 (default)
1UART_2

RS-485 Interface #

The RS-485 interface uses differential signaling for reliable serial communication.

Interface Signals

SignalFunction
ADifferential communication line
BDifferential communication line
GNDGround

Typical Connection

X-UARTIO ExpansionRS-485 Device
AA
BB
GNDGND

The actual wiring and termination requirements should follow the RS-485 network design and the module’s electrical specification.

GPIO Utilization

  • RX: IO5
  • TX: IO6

RS-232 Interface #

The RS-232 interface provides full-duplex serial communication.

Interface Signals

SignalFunction
TXTransmit Data
RXReceive Data
GNDGround

Typical Connection

X-UARTIO ExpansionRS-232 Device
TXRX
RXTX
GNDGND

GPIO Utilization

  • RX: IO7
  • TX: IO10

UART Interface #

UART provides a serial TX/RX interface through MUX 1 or 2.

Interface Signals

SignalFunction
TXTransmit Data
RXReceive Data
GNDGround

UART 1 shares the first multiplexed communication path with RS-485.

UART 2 shares the second multiplexed communication path with RS-232.

GPIO Utilization

UART – 1 #

  • RX: IO5
  • TX: IO6

UART – 2 #

  • RX: IO7
  • TX: IO10

MUX Selection and Firmware Control #

The multiplexed design reduces the number of host MCU pins required for the available interfaces.

Instead of using dedicated MCU communication lines for every physical port, the module shares communication signals through the multiplexers.

The firmware controls which physical interface is connected to the shared MCU communication lines.

General Operation #

  1. Configure the MUX selection GPIO.
  2. Select the required interface.
  3. Configure the communication peripheral.
  4. Start communication.
  5. Transmit and receive data.
  6. Change the MUX selection when another interface is required.

Interface Switching

Because the physical interfaces share communication resources, firmware must select the required interface before communication.

For example:

RS-485 to UART 1 Switching Procedure

  • RS-485 is the default interface when MUX 1 is set to 0.
  • Stop or complete the current RS-485 communication.
  • Change MUX 1 Select from 0 to 1 through firmware.
  • Configure the UART 1 communication parameters.
  • Start UART 1 communication.

Note: Only one interface per multiplexed path can be active at a time – switch the MUX before starting the new interface, not while the previous one is still communicating.

Wiring and Connection #

Provide separate wiring diagrams for:

  • RS-485 connection
  • RS-232 connection
  • UART 1 connection
  • UART 2 connection
  • Host CPU to X-UARTIO connection

Programming Example #

Recommended Examples #

Example 1 – RS-485 Communication

  • Connect the RS-485 device.
  • Set MUX 1 Select to 0.
  • Initialize the serial interface.
  • Send data.
  • Receive response.

Example 2 – UART A Communication

  • Connect the UART device.
  • Set MUX 1 Select to 1.
  • Initialize the serial interface.
  • Send and receive data.

Example 3 – RS-232 Communication

  • Connect the RS-232 device.
  • Set MUX 2 Select to 0.
  • Initialize the serial interface.
  • Send and receive data.

Example 4 – UART B Communication

  • Connect the UART device.
  • Set MUX 2 Select to 1.
  • Initialize the serial interface.
  • Send and receive data.

References and Supporting Documentation #

The following resources provide additional information for hardware configuration, interface selection, wiring, programming, and device operation.

Datasheet #

NORVI X-UARTIO Datasheet
Provides electrical specifications, interface details, pin assignments, and hardware configuration information.

User Guide #

NORVI X-UARTIO User Guide
Provides installation, wiring, configuration, interface selection, and operating procedures.

Arduino Example Code #

NORVI X-UARTIO Arduino Test Code
Provides a reference implementation for interface selection, MUX control, UART configuration, and serial communication.

The example code is available in the NORVI X-UARTIO GitHub repository.