I/O Expansion

navX-MXP breaks out all usable signal pins on the National Instruments RoboRIO™ / MyRIO MXP Connector.

DC Voltage Selection

Using the provided jumper, select the DC Voltage which will be routed to each of the connector blocks. Select from either 3.3V or 5V DC. This regulated voltage is supplied directly by the host computer (e.g., the RoboRIO).

I/O Summary

Each of the I/O pins on the MXP connector has a corresponding 3-pin connector (DC Voltage, Ground and Signal). The orientation of the Ground, Power and Signal pins for each of the Digital I/O, Analog Input and Analog Output pins is as follows:

navx-mxp-digital-io-pin-closeup

Digital I/Os

Each of the 10 Digital I/O pins may be configured for use as either DigitalInputs or DigitalOutputs, PWM (Outputs) or Counters (Inputs).

Additionally, multiple (either 2 or 3) DigitalInputs may be used to form an QuadratureEncoder input.

DigitalInput/DigitalOutput Addressing

navX-MXP Port MXP Pin Number RoboRIO Channel Address
0 DIO0 10
1 DIO1 11
2 DIO2 12
3 DIO3 13
4 DIO8 18
5 DIO9 19
6 DIO10 20
7 DIO11 21
8 DIO12 22
9 DIO13 23

PWM Output Addressing

navX-MXP Port MXP Pin Number RoboRIO Channel Address
0 PWM0 10
1 PWM1 11
2 PWM2 12
3 PWM3 13
4 PWM4 14
5 PWM5 15
6 PWM6 16
7 PWM7 17
8 PWM8 18
9 PWM9 19

For further documentation, please see the WPILIB Screensteps documentation on this topic.

NOTE: The MXP connector has 2 Digital I/O pins which are dedicated to the I2C interface. MXP Digital I/O Pin DIO14 is used for I2C SCL and DIO15 is used for I2C SDA. Since the navX MXP I2C interface is always active, these pins must not be used for any other purpose.

Analog Inputs

Each of the 4 Analog Input pins on the MXP connector has a corresponding 3-pin connector (DC Voltage, Ground and Signal). On the RoboRIO, these signals are routed to the internal Analog-to-Digital Converters (ADCs).

Analog Input Addressing

navX-MXP Port MXP-Pin Number RoboRIO Channel Address
0*** AI0 4
1*** AI1 5
2 AI2 6
3 AI3 7

Analog Outputs

Each of the 2 Analog Output pins on the MXP connector has a corresponding 3-pin connector (DC Voltage, Ground and Signal). On the RoboRIO, these signals are generated by the host computer’s internal Digital-to-Analog Converters (DACs).

Analog Output Addressing

navX-MXP Port MXP Pin Number RoboRIO Channel Address
0 AO0 0
1 AO1 1

I2C

The nav-MXP I2C connector can be used to connect the RoboRIO to an external I2C Device. The RoboRIO functions as an I2C Master. The connector provides DC Voltage, Ground, Clock (SCL) and Data (SDA).

Note that this I2C connector resides on the same I2C bus which may optionally be used to communicate between the RoboRIO and the navX-MXP’s onboard processor. navX-MXP uses I2C Address 50 (0x32), so be sure that any external I2C device does not use this address.

SPI

The navX MXP SPI connector can be used to connect the RoboRIO to an external SPI device. The RoboRIO functions as an SPI Master. The connector provides DC Votage, Ground, Clock (SCK), Slave Select (SS), Master-in/Slave-out (MISO) and Master-out/Slave-in (MOSI) signals.

Note that this SPI connector resides on the same SPI bus which may optionally be used to communicate between the RoboRIO and the navX-MXP’s onboard processor. navX-MXP will respond to the Slave Select signal if and only if the SPI Enable dip switch is set to the “ON” position. Thus, the SPI Enable dip switch should be set to the “OFF” position if you wish to communicate with an external device via the SPI connector.

TTL UART

The navX-MXP TTL UART connector can be used to connect the RoboRIO to an external TTL-level UART device.

NOTE: The TTL UART connector cannot be used to connect to an external RS-232 signal, since RS-232 voltages are much higher than TTL-level UART voltages. Connecting a higher-voltage RS-232 device to the TTL UART connector may subject the RoboRIO to damaging voltage levels on these pins.

Note that this TTL UART connector can be used to communicate between the RoboRIO and the navX-MXP’s onboard processor (in fact, this is the default). navX-MXP will respond to the UART TX signal from the RoboRIO if and only if the UART Enable dip switch is set to the “ON” position. Thus, the UART Enable dip switch should be set to the “OFF” position if you wish to communicate with an external device via the TTL UART connector.