Archived: Product Support for the cRIO-9951 Module Development Kit

NI does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.


By purchasing the cRIO-9951 Module Development Kit (MDK), you can develop custom C Series modules. The kit includes CompactRIO module development software and the CompactRIO Module Development Kit user manual. Additionally, it features housing module shells and connectors. Review your support options for the cRIO-9951 MDK below.


cRIO-9951 Module Development Kit


cRIO-9951 MDK Support Overview

Designing a custom module requires knowledge of electrical circuit and firmware design as well as board layout and application driver-level software design skills. NI answers only general questions about the cRIO-9951 MDK and cannot support in-depth circuit design or firmware-specific questions.  

Contact NI Technical Support for general questions from our Support page.

cRIO-9951 MDK Suite Support

As part of the cRIO-9951 MDK Suite, you have access to a specific number of technical support hours per the cRIO Module Development Kit Distribution Agreement. To obtain support, please contact your NI Account Manager or local NI Support office. In addition, you may use the private NI discussion forum. 

cRIO-9951 MDK Base Support

As part of the cRIO-9951 MDK Base, you may use the private NI discussion forum. 

Registering for the Private Forum

You can find the private support forum for the MDK at To register for the private forum, you need to have a forum alias. If you do not have one, please visit and click the Register link to create one. If you already have an alias, email with your direct email address and the NI forum alias name. Our goal is to update the NI web systems within 48 hours. Please check back after that time to view the forum. If you do not see the new forum once you log in to after this time, please email

Mechanical Overview

Inside the shell of a C Series module is a PCB that hosts the components for conditioning and capturing signals as well as communicating the data to the CompactRIO controller.

PCB dimensions

2.889 in. x 2.600 in. x 0.062 in.

Connector from PCB to CompactRIO controllers

Female, high-density, 15-position D-SUB

Maximum component height on primary side

0.530 in.

Maximum component height on secondary side

0.104 in.

Maximum I/O connector width

2.889 in.

Maximum pin length

0.166 in. from the top of the PCB for through hole parts

Maximum backshell height above PCB

0.670 in.

Maximum backshell height below PCB

0.150 in.

Maximum power dissipation

1.5 W

Standard C Series module ambient temperature range

-40 to 70 °C

Suggested maximum component temperature rating

100 °C (assuming 30 °C temperature rise within module)

Table 1. MDK Mechanical Specifications and Guidelines

Electrical Overview

C Series modules connect to the CompactRIO controller through a 15-pin D-SUB connector. An ID EEPROM is required to store identification information. You also can use the EEPROM for module-specific calibration data. The I/O circuitry implements the primary functionality of the module.

The module interface supports two modes of communication between the CompactRIO controller and individual modules: ID mode and operation mode. ID mode is required and used to access the ID EEPROM on the module. As noted, the ID EEPROM contains information about the module, such as the vendor ID, product ID, and serial number. NI requires that you use a default vendor ID as described in the module development kit user manual if you do not plan to resell your module per the NI AGREEMENT (NI cRIO MODULE DEVELOPMENT KIT) license. You will obtain a vendor ID after purchase.

Operation mode is used to communicate with the I/O circuitry on the module. It can be used to initiate, communicate, and retrieve data. Although most modules support Operation mode, it is not a requirement. The module interface defines 11 signal lines. Two of these signals have predefined, fixed functionality. The definition of the remaining nine signals changes depending on the selected communication mode.

The communication requirements for most modules designate that one of the two general templates be provided within the module development kit: SPI or parallel. Use the SPI template to implement a serial interface to the I/O circuitry and for EEPROM communication. Use the parallel template for simple, direct access to your I/O circuitry. The two general templates cannot meet the requirements of some modules. For example, a custom module may require two independent serial interfaces across the module interface. In this case, you can implement your own arbitrary interface with the user template. In the user template, you can use the I/O lines as general-purpose user lines.


Inputs tri-stated until module is configured

Sleep mode

Inputs tri-stated

Signal rate

40 MHz max

Driver slew rate

0.2 V/ns min, 1 V/ns max pull-ups

All signals (except sleep)

1.5 kΩ min


3.3 kΩ max


10 kΩ min

Latch-up current

<20 mA per line, powered off

ESD protection

2 kV

Table 2. MDK I/O Signals

Was this information helpful?