Buses seriales

En adición a las entradas digitales digital y análogas analog, la roboRIO también ofrece varios métodos de comunicación en serie con dispositivos periféricos.

Both the digital and analog inputs are highly limited in the amount of data that can be sent over them. Serial buses allow users to make use of far more-robust and higher-bandwidth communications protocols with sensors that collect large amounts of data, such as inertial measurement units (IMUs) or 2D LIDAR sensors.

Tipos de buses seriales soportados

La roboRio soporta varios tipos de comunicaciones en serie:

Additionally, the roboRIO supports communications with peripheral devices over the CAN bus. However, as the FRC® CAN protocol is quite idiosyncratic, relatively few peripheral sensors support it (though it is heavily used for motor controllers).


The I2C port on the roboRIO.I2C roboRIO port pin specifications.

To communicate to peripheral devices over I2C, each pin should be wired to its corresponding pin on the device. I2C allows users to wire a «chain» of slave devices to a single port, so long as those devices have separate IDs set.

The I2C bus can also be used through the MXP expansion port. The I2C bus on the MXP is independent. For example, a device on the main bus can have the same ID as a device on the MXP bus.


Be sure to familiarize yourself on the following known issue before using the onboard I2C port: Onboard I2C Causing System Lockups


Show the SPI port on the roboRIO.SPI roboRIO port pin specifications.

To communicate to peripheral devices over SPI, each pin should be wired to its corresponding pin on the device. The SPI port supports communications to up to four devices (corresponding to the Chip Select (CS) 0-3 pins on the diagram above).

El bus SPI también puede ser usado mediante MXP expansion port. El puerto MXP proporciona un reloj independiente y líneas de entrada/salida y un CS adicional.


Location of the RS-232 port on the roboRIO.roboRIO RS-232 port pin specifications.

Para comunicar con los dispositivos periféricos sobre el RS-232, cada pin debe ser cableado con su correspondiente pin en el dispositivo.

El bus RS-232 también puede ser usado mediante el puerto de expansión MXP MXP expansion port.

The roboRIO RS-232 serial port uses RS-232 signaling levels (+/- 15v). The MXP serial port uses CMOS signaling levels (+/- 3.3v).


By default, the onboard RS-232 port is utilized by the roboRIO’s serial console. In order to use it for an external device, the serial console must be disabled using the Imaging Tool or RoboRIO Web DashBoard.

USB Client

Uno de los puertos USB de la roboRIO es un USB-B o un puerto de cliente USB. Este puede ser conectado a dispositivos, tales como la Driver Station con un cable USB estándar.

USB Host

Location of the two USB ports on the roboRIO at top center.

Dos de los puertos USB de la roboRIO es un USB-A o un puerto USB Host. Este puede ser conectado a diferentes dispositivos, tales como cámaras o sensores usando un cable USB estándar.

Puerto de expansión MXP

Location of the MXP port on the roboRIO directly above the NI logo.MXP pinout.

Several of the serial buses are also available for use through the roboRIO’s MXP Expansion Port. This port allows users to make use of many additional digital and analog inputs, as well as the various serial buses.

Algunos dispositivos periféricos se adjuntan directamente al puerto MXP por conveniencia, no requieren cableado por parte del usuario.


Show the location of the CAN bus terminals in the top left corner of the roboRIO.

Adicionalmente la roboRIO soporta comunicaciones con dispositivos periféricos sobre el Bus CAN. Sin embargo como el protocolo CAN de FRC es bastante peculiar, relativamente algunos sensores periféricos lo soportan (aunque es más pesado usarlo para controles de motor). Una de las ventajas de usar el protocolo Bus CAN es que los dispositivos pueden ser encadenados, como se muestra arriba. Si la energía es removida de algún dispositivo en la cadena, las señales de información seguirán disponibles seguirán disponibles para llegar a todos los dispositivos de la cadena.

A CAN bus topology between motor controllers.

Algunos sensores son usados primordialmente por el bus CAN. Algunos ejemplos son:

Más información sobre cómo usar dispositivos conectados al Bus CAN, Ver using can devices.