BMS I/O Modules Explained: Point Types, Protocols and How to Choose
An I/O module connects hard-wired sensors and actuators to a BMS controller over BACnet or Modbus. Here is how point types work and how to pick the right module.
Every building management system eventually has to touch the real world: a temperature sensor, a pump status contact, a valve actuator, a fan start relay. Where those signals do not come from a packaged controller, they arrive through I/O modules. This guide explains the point types (UI, DI, AO, DO and more), what designations like 8UI, 8DI and 4DO mean, how remote I/O modules connect to Niagara and other controllers, and how to choose and size them.
What is an I/O module?
An I/O (input/output) module is a DIN-rail device with terminals for field wiring and a communication port. It converts physical signals into data the BMS controller can read, and data from the controller into physical outputs. Unlike a plant controller, a pure I/O module usually runs no control logic of its own; the logic lives in the supervisory controller (such as a JACE or IONA).
Many modern modules blur the line: they include built-in HVAC applications, hand/off/auto override switches or local logic that keeps outputs safe if communication is lost.
I/O point types explained
| Abbreviation | Name | What it handles | Examples |
|---|---|---|---|
| UI | Universal input | Analogue or digital: 0–10 V, 4–20 mA, thermistors/RTDs, dry contacts, sometimes pulses | Temperatures, pressures, humidity, CO2, status |
| AI | Analogue input | Analogue signals only | Transmitters, sensors |
| DI | Digital input | On/off dry contacts, often pulse counting | Run status, alarms, filter switches, meter pulses |
| AO | Analogue output | 0–10 V (sometimes 4–20 mA) | Valve and damper actuators, VSD speed |
| DO | Digital output | Relay or transistor on/off | Fan and pump enables, lighting, two-position valves |
| TO | Triac output | AC switching, often for thermal actuators (sometimes PWM) | Fan coil and underfloor heating valves |
| UO | Universal output | Configurable as analogue or digital | Flexible plant control |
Designations such as 8UI, 8DI, 4DO, 6AO or 12DI simply mean "8 universal inputs", "8 digital inputs" and so on, and are widely used as shorthand for module types.
Why universal inputs matter
Universal inputs give the most flexibility: you can decide at commissioning whether each one reads a thermistor, a 0–10 V sensor or a status contact. They cost a little more per point than dedicated inputs, so a common strategy is to use dedicated DIs for status signals and keep UIs for analogue sensors.
Relay ratings
Check digital output ratings carefully. Module relays range from about 3 A to 16 A. Relays should normally switch control circuits and contactor coils, not motors directly. Hand/off/auto (HOA) switches on outputs let maintenance staff run plant manually if the BMS is down.
Local vs remote I/O
- Local I/O sits on the controller itself or on a dedicated bus beside it, for example the IONA controller's 24 onboard points and its eBMS/IO expansion bus, or Tridium NRIO modules on a JACE.
- Remote (distributed) I/O is placed near the plant and connected back to the controller over RS-485 or Ethernet, saving long multicore cable runs.
Remote I/O is often cheaper overall: a short data cable replaces dozens of long field wires, and modules can sit in small local panels near plant spread across a building.
BACnet, Modbus or proprietary bus?
| Module type | Connects via | Pros | Cons |
|---|---|---|---|
| BACnet MS/TP or Modbus RTU (RS-485) | Daisy-chained serial bus | Low cost, long distances, works with any open controller | Bandwidth limited; needs correct RS-485 wiring |
| BACnet/IP or Modbus TCP | Ethernet | Fast; uses network infrastructure; often includes an RS-485 gateway | Needs network ports and IP planning |
| Manufacturer I/O bus (NRIO, eBMS/IO) | Dedicated port on the controller | Simple integration with that controller | Tied to that controller family |
| LoRaWAN I/O | Wireless | No cabling | Not suitable for fast control loops |
Many iSMA CONTROLLI modules support both BACnet and Modbus on the same hardware, selected at commissioning. See BACnet vs Modbus and RS-485 wiring and termination.
Find a module by point count
A quick reference to common modules stocked by Tyrrell Products:
| Module | Points | Protocol / connection |
|---|---|---|
| iSMA-B-8U | 8 UI | BACnet MS/TP, Modbus RTU/ASCII (RS-485) |
| iSMA-B-8U-IP | 8 UI | BACnet/IP, Modbus TCP |
| iSMA-B-8I | 8 DI with 100 Hz pulse counting | BACnet MS/TP, Modbus RTU/ASCII |
| iSMA-B-8I-IP | 8 DI with pulse counting | BACnet/IP, Modbus TCP |
| iSMA-B-24I-H | 24 DI | BACnet MS/TP, Modbus RTU/ASCII |
| iSMA-B-12O-H | 12 relay DO (230 V, 3 A) | BACnet MS/TP, Modbus RTU |
| iSMA-B-4O-H | 4 relay DO (8 A) with HOA | BACnet, Modbus |
| iSMA-B-4I4O-H | 4 DI, 4 relay DO | BACnet MS/TP, Modbus RTU |
| iSMA-B-4U4O-H | 4 UI, 4 relay DO | BACnet MS/TP, Modbus RTU |
| iSMA-B-4U4A-H | 4 UI, 4 AO | BACnet MS/TP, Modbus RTU/ASCII |
| iSMA-B-4TO-H | 4 triac outputs | BACnet MS/TP, Modbus RTU/ASCII |
| iSMA-B-MIX18 | 5 UI, 5 DI, 4 AO, 4 DO (18 points) | BACnet MS/TP, Modbus RTU |
| iSMA-B-MIX18-IP | 5 UI, 5 DI, 4 AO, 4 DO | BACnet/IP, Modbus TCP |
| iSMA-B-MIX38 | 8 UI, 12 DI, 6 AO, 12 DO (38 points) | BACnet MS/TP, Modbus RTU |
| iSMA-B-MIX38-IP | 8 UI, 12 DI, 6 AO, 12 DO | BACnet/IP, Modbus TCP |
| eBMS IO Multi IO | 6 UI, 4 DI, 2 AO, 6 DO | Modbus (eBMS/IO bus) |
| eBMS/IO 12DI 6DOH | 12 DI, 6 relay DO with HOA | Modbus RS-485 |
| eBMS/IO 4AO 3DO | 4 AO with override, 3 relay DO | Modbus RS-485 |
| eBMS/IO 4DO | 4 relay DO (16 A) | Modbus RS-485/TCP |
| JACE NRIO modules | IO-R-16: 8 UI, 4 DO; IO-R-34: 16 UI, 10 DO | Tridium NRIO bus on JACE |
Browse the full I/O modules range, BACnet I/O and Modbus I/O.
How to size I/O for a plant
- Write the point schedule. List every signal with its type: e.g. "AHU1 supply temp – UI – NTC 10k".
- Count by type. Total UI, DI, AO, DO and TO separately.
- Add spare capacity, around 20% per type.
- Group by location. Plant in different rooms usually means separate modules near each, rather than one large module and long cables.
- Pick modules whose mix matches the counts. Mixed modules like the MIX18 and MIX38 suit typical AHUs and plant rooms; single-type modules (8U, 8I, 12O) fill specific gaps cheaply.
- Check the network. Count modules per RS-485 trunk, set addresses and baud rates, and confirm the controller has the ports and licence capacity.
Example: a heating plant room
| Signal | Type | Count |
|---|---|---|
| Flow, return, outside, calorifier temperatures | UI (thermistor) | 6 |
| Boiler and pump run/fault status | DI | 8 |
| Gas and heat meter pulses | DI (pulse) | 2 |
| Boiler and pump enables | DO | 6 |
| Mixing valves | AO | 2 |
| Total | 24 |
With 20% spare this suits one MIX38 (8 UI, 12 DI, 6 AO, 12 DO) with room to grow, or an IONA controller's onboard 6 UI, 6 DI, 4 DO and 8 AO plus a small DI/DO module for the remaining points.
Input signal types in detail
Temperature sensors
Most BMS temperature sensors are passive resistive sensors read by universal inputs:
- NTC thermistors (such as 10k type 2 or type 3, 20k) change resistance sharply with temperature. They are cheap and sensitive, but each type has its own curve, so the input must be configured for the exact sensor.
- PT1000 and PT100 RTDs are platinum sensors with a near-linear, standardised curve, preferred for accuracy and on long cable runs. PT100 sensors are sensitive to lead resistance, so they need careful wiring or a transmitter.
A mismatched curve is the most common cause of temperatures that are consistently a few degrees wrong.
Voltage and current signals
- 0–10 V is common for active sensors (humidity, CO2, pressure) and is easy to measure, but long runs pick up noise and voltage drop.
- 4–20 mA current loops are robust over long distances and show a broken wire clearly (0 mA instead of the 4 mA minimum), which is why they dominate in plant rooms.
Digital and pulse inputs
Volt-free contacts from auxiliary contacts, switches and relays are read as DIs. Pulse inputs count meter pulses; check the maximum pulse rate the input supports (for example 100 Hz on iSMA's DI modules) and debounce settings for mechanical contacts.
Outputs and fail-safe behaviour
Every output must have a defined behaviour when communication with the controller is lost:
- Hold last value: fine for many modulating outputs, risky if the last value was "full heat".
- Go to a safe default: for example heating valves open for frost protection, fans off, dampers closed.
- Local override: modules with hand/off/auto switches let operators run plant manually.
Configure these defaults deliberately for each output, test them by disconnecting the bus during commissioning, and record them in the O&M manual.
Open vs closed protocol I/O
Open protocol I/O (BACnet, Modbus) works with any controller that speaks the protocol. If you change supervisory controller or integrator, the modules stay. Closed or proprietary I/O only works with its manufacturer's controllers, which can be simpler to configure but ties the building to that family.
For long-lived buildings, open protocol modules are usually the safer choice. Modules that support both BACnet and Modbus give you the most flexibility.
Integrating I/O modules in Niagara 4
- BACnet modules: add them under the BACnet network, discover them, and add their objects as points.
- Modbus modules: add them under a Modbus async or TCP network with the correct unit ID, then add points from the register map (see What is Modbus?).
- NRIO modules: use the NRIO driver on a JACE.
- IONA onboard and eBMS/IO points: configured as points under the IONA's I/O (see IONA I/O and expansion).
Each I/O point integrated counts against the controller's licence capacity (see Global Capacity points). Tune polling so busy trunks stay responsive (poll scheduler).
Common I/O mistakes
- No spare points, so every change needs a new module.
- Wrong thermistor curve, giving temperatures that are consistently wrong.
- Relays switching loads above their rating instead of driving a contactor.
- Mixing BACnet and Modbus modules on one RS-485 trunk.
- Duplicate addresses on a trunk.
- Forgetting fail-safe behaviour: decide what each output should do if communication is lost.
Frequently asked questions
What is an I/O module in a BMS?
A DIN-rail device that connects hard-wired sensors and actuators to a BMS controller, converting physical signals into data over BACnet, Modbus or a dedicated bus.
What does 8UI mean?
8UI means eight universal inputs: inputs that can each be configured for analogue signals (0–10 V, 4–20 mA, thermistors) or digital contacts.
What is the difference between UI and DI?
A universal input (UI) accepts analogue and digital signals; a digital input (DI) accepts only on/off contacts and often pulse counts.
What is remote I/O?
I/O modules placed near the plant and connected to the controller over a network cable, instead of wiring every signal back to the controller.
Can I use Modbus I/O modules with a JACE?
Yes. A JACE or IONA reads Modbus RTU or TCP I/O modules through Niagara's Modbus drivers, and BACnet modules through its BACnet driver.
What is the difference between a MIX18 and a MIX38?
The iSMA-B-MIX18 has 18 points (5 UI, 5 DI, 4 AO, 4 DO); the MIX38 has 38 (8 UI, 12 DI, 6 AO, 12 DO). Both come in RS-485 (BACnet MS/TP and Modbus RTU) and IP (BACnet/IP and Modbus TCP) versions.
Do I/O modules have hand/off/auto switches?
Some do. Modules with an "H" in the iSMA range and the eBMS/IO "DOH" modules include manual override switches on outputs, useful on plant that operators may need to run by hand.
How many I/O modules can go on one RS-485 bus?
It depends on the modules' unit loads, baud rate and how fast you need values updated. Many modules allow large numbers per bus electrically, but for responsive control keep trunks to a few dozen devices and split large systems across ports.
What is an open protocol I/O module?
A module that communicates with an open protocol such as BACnet or Modbus, so it works with any compatible controller rather than one manufacturer's system.