From microsurgery to fracking to nuclear fusion, NI CompactRIO, sometimes abbreviated as cRIO, solves extreme real-time control system challenges. When off-the-shelf falls short on performance and DIY won’t scale without significant time and effort, CompactRIO provides a platform where extreme performance meets cost-effective engineering productivity. The extreme performance of the CompactRIO platform delivers real-time control, high-speed data acquisition (DAQ), and deterministic performance in harsh environments. CompactRIO consolidates functionality that would otherwise require multiple machines. Productivity is the efficiency with which you can build, deploy, and maintain systems. CompactRIO offers a platform and software stack that offers hot-swappable modular I/O that you can tailor to your exact needs. You can also scale it up or down based on your needs without significant changes in the underlying software. CompactRIO offers superior total cost of ownership compared to the alternatives when considering the cost per capability. It is a complete package that enables fast prototyping, scalability, and shorter time to market.
Selecting the optimal CompactRIO controller for a real-time automation control architecture requires a nuanced understanding of the trade-offs between computational density, FPGA fabric complexity, and peripheral connectivity. When selecting a controller, there are currently two NI families to choose from: the cRIO-904x series and the cRIO-905x series controllers. These controllers form the fshouldoundation of real-time embedded control systems, offering flexibility and performance beyond traditional PLC-based designs. When comparing the architectures of CompactRIO against PLC and other platforms, CompactRIO provides an ideal combination of tight integration of real-time processing and FPGA acceleration, ruggedness, and a small, fanless form factor.
Both NI CompactRIO families provide a deterministic execution environment via NI Linux Real-Time. This operating system is built on a standard kernel but optimized for the low-latency requirements of industrial control, supporting both NI LabVIEW Real-Time and a vast ecosystem of C/C++ and Python tools.
The cRIO-904x CompactRIO Controller is engineered for high-end applications that demand significant onboard processing and integrated human-machine interface (HMI) capabilities. The architecture is defined by the Xilinx Kintex™ 7 FPGA, which offers a higher logic cell count and more robust digital signal processing (DSP) slices compared to the Artix™ 7 found in the cRIO-905x. This FPGA makes the cRIO-904x better suited for applications involving complex control algorithms, high-speed vision integration, or massive parallel data processing.
One of the most critical differentiators for the cRIO-904x is its connectivity. It includes two integrated serial ports (supporting RS-232 and RS-485) and a USB 3.1 Type-C port equipped with DisplayPort™ Alternate Mode (DP Alt Mode). This Alt Mode allows the controller to drive an external monitor directly, enabling the “embedded UI“ feature where a local HMI can be rendered by the processor without the need for a separate industrial PC.
View the latest cRIO-904x CompactRIO Controllers.
The cRIO-905x serves as a more cost-effective alternative that does not sacrifice the ruggedness or determinism inherent to the platform. By using Xilinx Artix 7 FPGA technology, these controllers provide a balanced performance profile for standard industrial tasks like temperature monitoring, low-to-medium speed control loops, and distributed data logging.
While the cRIO-905x lacks the integrated serial ports, full-size SD card, and direct DisplayPort video output of the cRIO-904x, it introduces a microSD card slot for removable storage, which is highly advantageous for data logging applications where large volumes of data must be physically transferred. The cRIO-905x is often the preferred choice for distributed “headless“ nodes that communicate over Ethernet to a centralized server or HMI.
The integration of an FPGA into the CompactRIO architecture enables deterministic control systems and real-time motion control capabilities. This feature makes CompactRIO ideal for high-performance applications like real-time predictive control and monitoring. For example, the Kintex 7 FPGA enables complex real-time motion control and high-speed parallel processing where the FPGA acts as a programmable backplane that manages the communication between the C Series I/O modules and the real-time processor.
The choice between these two FPGA families is a primary driver of system cost and capability. The Kintex 7 is a mid-range FPGA that provides high logic density and performance per watt. Its larger logic cell count allows for more complex digital signal processing (DSP) algorithms to be implemented in hardware. For example, the Kintex 7 325T found in the cRIO-9049 contains more than 325,000 logic cells and 840 DSP slices, enabling the implementation of high-order filters, fast Fourier transforms (FFTs), and multi-axis motion control profiles that would overwhelm the CPU.
Conversely, the Artix 7 is optimized for lower power consumption and smaller footprints, making it ideal for the cRIO-905x. Despite being the “value“ option, an Artix 7 100T FPGA still possesses sufficient resources for most standard industrial control tasks, including PWM generation, quadrature encoder decoding, and custom digital triggering. The cRIO-904x generally meets tighter timing constraints, which is a second-order effect of the Kintex fabric’s superior routing and clocking architecture.
One of the most innovative features of the cRIO-904x and 905x controllers is the ability to select the programming mode on a per-slot basis between Real-Time NI-DAQmx, LabVIEW FPGA, and Real-Time Scan Mode. This “Hybrid Mode” capability allows developers to mix high-level driver ease-of-use with low-level hardware customization in a single chassis.
The introduction of NI-DAQmx to the modern CompactRIO platform has created a positive shift in developer productivity. Historically, CompactRIO required more advanced programming techniques for most tasks. In NI-DAQmx mode, a C Series module behaves as if it were in a CompactDAQ chassis even though it is being used as part of a CompactRIO system. The NI-DAQmx driver, the standard driver for all NI DAQ products, provides a familiar interface for engineers for rapid development of task configuration, timing, and triggering. This mode significantly reduces development time compared to traditional CompactRIO programming approaches.
This mode is recommended for control rates up to 5 kHz on cRIO-904x controllers and 2.5 kHz on cRIO-905x controllers. It supports hardware-timed single point acquisition, which is vital for control loops that require the latest sample to be processed with minimal latency without the overhead of buffer management. In this mode, modules appear under Program Mode > Real-Time resources items in the LabVIEW Project Explorer.
Figure 1: Using NI Measurement & Automation Explorer (MAX), individual modules can be configured in one of three different programming modes.
For applications requiring higher performance, custom timing, or sub-microsecond synchronization, the LabVIEW FPGA programming mode (using the LabVIEW FPGA Module) remains the primary choice. This mode provides direct access to the FPGA fabric. You create a LabVIEW FPGA VI, which you then compile into a hardware bitfile and deploy to the controller.
LabVIEW FPGA programming is necessary for any control rate exceeding 5 kHz or for tasks that must be executed with zero jitter, such as high-frequency PWM or custom communication protocols. To use this mode, you must install the LabVIEW FPGA Module on your development host.
The RIO Scan Interface, or Scan Mode, is designed for rapid development of slow-speed control and monitoring systems (typically <1 kHz). LabVIEW automatically programs the FPGA with a fixed bitfile that scans all modules at a user-defined rate and presents the data as I/O Variables. Although the recommended method for most modern systems is the Real-Time NI-DAQmx mode, Scan Mode can be advantageous for systems where I/O modules are frequently swapped, as it supports dynamic detection of module types.
Table 1: Comparison of programming modes for cRIO-904x and cRIO-905x.
The versatility of the CompactRIO platform is derived from the C Series module ecosystem, which enables scalable multichannel data acquisition (DAQ) across a wide range of applications employing more than 100 different modules designed for a range of signal types, environmental conditions, and applications such as high-speed and precision measurement systems.
Selecting the right analog input module involves evaluating the required resolution (bits), sample rate, and isolation. NI employs three primary architectures for C Series AI modules:
Temperature measurement is a cornerstone of monitoring systems. NI provides modules specifically for thermocouples, like the NI-9213, as well as resistance temperature detectors (RTDs), like the NI-9216. These modules include integrated cold-junction compensation (CJC) and high-resolution ADCs to handle the millivolt-level signals characteristic of temperature sensors.
For structural health or material testing, strain/bridge modules like the NI-9237 provide integrated bridge completion for quarter, half, and full-bridge sensors, as well as programmable excitation voltages.
Digital modules (NI-94xx) interface with industrial logic levels, typically 5 V TTL or 24 V industrial logic. The NI-9401 is a popular high-speed bidirectional digital module, while the NI-9477 is a 32-channel sinking digital output module designed to drive industrial solenoids and relays at up to 60 V.
Beyond standard I/O, CompactRIO supports a variety of industrial communication protocols including EtherCAT (as a master), 802.1AS or Time-Sensitive Networking (TSN), CAN, CANopen, and Modbus for real-time monitoring and control. The NI-9862 provides a single-port CAN interface with NI-XNET driver support, which is essential for automotive or aerospace testing. For legacy serial devices, the NI-9870 adds four RS-232 ports to the system. These options make CompactRIO ideal for industrial monitoring and control and remote monitoring and control for industrial machinery, real-time process control, and distributed industrial systems.
While an 8-slot controller provides significant I/O density, many applications require additional slots by expanding beyond the 8-slot chassis. The cRIO-904x and cRIO-905x support several expansion methods:
In industrial settings, signal integrity is often compromised by ground loops and electromagnetic interference (EMI). CompactRIO modules address this through various isolation strategies:
CompactRIO modules provide high-speed DAQ performance while functioning as rugged DAQ hardware in harsh environments. The ruggedness of the platform is further demonstrated by its environmental ratings. Most modules and controllers are rated for an operating temperature range of -40 °C to 70 °C and can withstand 50 g of shock and 5 g of vibration. For extremely harsh environments, conformal coating is an available option for many models to protect against moisture and contaminants. This enhanced ruggedness and reliability makes CompactRIO the ideal solution for industrial data acquisition in harsh environments.
A successful CompactRIO deployment depends on proper physical infrastructure. CompactRIO enables mobile data acquisition in harsh environment DAQ applications, where durability and thermal design are critical. Proper integration ensures reliable operation of the CompactRIO chassis in industrial systems. This environment involves selecting appropriate power supplies, mounting hardware, and ensuring thermal management.
The cRIO-904x and cRIO-905x require a 9 V to 30 V DC power source. For industrial installations, DIN rail-mounted supplies like the NI PS-25 (24 VDC, 5 A) are the standard choice. Redundant power inputs on the cRIO-904x series controllers allow for two separate power sources to be connected, ensuring that a single supply failure does not cause a system shutdown—an important feature for mission-critical monitoring.
![]()
Table 2: Essential Power Accessories for CompactRIO Systems.
CompactRIO is designed to be mounted on a metallic surface that acts as a heat sink. NI recommends a specific “reference mounting configuration” (horizontal orientation) to achieve the maximum specified operating temperature.
For deployment in oil and gas, chemical, or pharmaceutical plants, the cRIO-904x and cRIO-905x are certified for Class I, Division 2 and ATEX Zone 2 hazardous locations. These certifications indicate the hardware will not provide a source of ignition under normal operating conditions. However, installers must adhere to specific “Ex ec” (increased safety) guidelines, such as using IP54-rated enclosures and ensuring that modules are not removed while the system is powered unless the area is known to be non-hazardous.
Maintaining a CompactRIO system requires careful attention to software versioning. To fully use the CompactRIO Controller, you will need LabVIEW, the LabVIEW Real-Time Module, and the LabVIEW FPGA Module. You can also program the controller using Python and C/C++ with certain limitations. Creating custom bitfiles for the FPGA requires the LabVIEW FPGA Module. Engineers also often use popular HIL tools like NI VeriStand for real-time control system testing.
The NI Hardware Configuration Utility is the primary tool for system discovery and configuration. When a new controller is connected through USB or Ethernet, you use the NI Hardware Configuration Utility to install the NI Linux Real-Time OS, format the internal drive, and install all the drivers and software you need to use it. The utility also provides test panels to verify that the controller and modules are communicating correctly before a single line of code is written.
Security has become very important as organizations must address industrial control systems’ cybersecurity and edge computing security when deploying CompactRIO systems. We provide guidance aligned with industrial control systems security standards and SCADA cybersecurity practices.
See the latest information on relevant security issues that affect CompactRIO.
Using CompactRIO for control and monitoring applications represents a strategic investment in the longevity and capability of your control system. By leveraging the NI-DAQmx driver, you can significantly reduce the development time traditionally associated with FPGA-based systems, while the inclusion of technologies like TSN ensures the system is ready for the future of distributed, network-synchronized measurements.
The capability and performance of the CompactRIO platform provides an unrivaled foundation for industrial innovation. Whether the application is a surgical robot or a geographically distributed structural monitoring network, CompactRIO offers the ruggedness of a PLC with the near infinite flexibility of a user-programmable FPGA.
| Feature | NI-DAQmx Mode | Scan Interface Mode | LabVIEW FPGA Mode |
| Setup Time | Fastest | Fast | Moderate |
| Maximum Control Rate | 5 kHz (904x)/2.5 kHz (905x) | 1 kHz | >5 kHz |
| Custom Logic on the FPGA | No | No | Yes (hardware level) |
| Waveform Capture Support | Excellent | Limited | High (custom) |
| Accessory Type | Model Examples | Application |
| Industrial Power Supply | PS-25, PS-26 | 24V DC DIN-rail mount for cabinets |
| Desktop Power Supply | NI PS-10 | Safe prototyping and development |
| Power Connector Plugs | NI cRIO-9937 | 4-pin male COMBICON to screw terminal |