Log in

View Full Version : NXT/EV3 sensors with RoboRIO?


jojoguy10
19-07-2015, 16:40
Hello all,

Is there a way available to connect a NXT or EV3 sensor to the RoboRIO. I know it was possible with the digital sidecar with the older cRIO. I was just wondering if there was a new way with the RoboRIO.

Thanks,

Joe

Ben Wolsieffer
19-07-2015, 18:59
I have never tried any of this, but based on the communications protocols they use, it seems completely possible to use both NXT and EV3 sensors.

The digital NXT sensors (ie. ultrasonic) use I2C to communicate, likewise the NXT port on the digital sidecar was just connected to the I2C pins. I believe you would just need to make/modify a cable to connect the appropriate pins to the I2C port on the roboRIO and write a driver to communicate with it.

Some NXT and EV3 sensors (ie. light sensor) use analog signals to communicate. Using these should be as simple as connecting the correct pins to an analog input on the roboRIO and figuring out how to convert the voltage to a value.

The digital EV3 sensors use UART (serial) to communicate, so they can be connected to the UART port on the MXP (not the RS-232 port, at least not without a converter). Again, you would have to write a driver.

If you do any of this, the most important thing is to make sure you are supplying the right voltage to the right pins, to prevent damage to the sensors (the roboRIO is pretty well protected, so it would be fine with most mistakes).

These links might be helpful:
http://lechnology.com/2014/09/using-uart-sensors-on-any-linux/
http://www.ev3dev.org/docs/sensors/
http://brweb.haltonrc.edu.on.ca/202204/ICE4/Resources/ExtremeNXT.pdf (a lot of information)

z_beeblebrox
19-07-2015, 20:39
Is it necessary to use LEGO's sensors for your project?

Other companies, such as Sparkfun (https://www.sparkfun.com/) and Adafruit (https://www.adafruit.com/) sell sensors that are likely cheaper, better quality and easier to interface to the RoboRIO through the analog or digital inputs.

jojoguy10
19-07-2015, 21:52
Is it necessary to use LEGO's sensors for your project?

Other companies, such as Sparkfun (https://www.sparkfun.com/) and Adafruit (https://www.adafruit.com/) sell sensors that are likely cheaper, better quality and easier to interface to the RoboRIO through the analog or digital inputs.

It's not necessary, but if we have them, it's cheaper than buying a new one :-)

jojoguy10
19-07-2015, 21:53
I have never tried any of this, but based on the communications protocols they use, it seems completely possible to use both NXT and EV3 sensors.

The digital NXT sensors (ie. ultrasonic) use I2C to communicate, likewise the NXT port on the digital sidecar was just connected to the I2C pins. I believe you would just need to make/modify a cable to connect the appropriate pins to the I2C port on the roboRIO and write a driver to communicate with it.

Some NXT and EV3 sensors (ie. light sensor) use analog signals to communicate. Using these should be as simple as connecting the correct pins to an analog input on the roboRIO and figuring out how to convert the voltage to a value.

The digital EV3 sensors use UART (serial) to communicate, so they can be connected to the UART port on the MXP (not the RS-232 port, at least not without a converter). Again, you would have to write a driver.

If you do any of this, the most important thing is to make sure you are supplying the right voltage to the right pins, to prevent damage to the sensors (the roboRIO is pretty well protected, so it would be fine with most mistakes).

These links might be helpful:
http://lechnology.com/2014/09/using-uart-sensors-on-any-linux/
http://www.ev3dev.org/docs/sensors/
http://brweb.haltonrc.edu.on.ca/202204/ICE4/Resources/ExtremeNXT.pdf (a lot of information)

These are great links! I was just curious if anyone has done it yet. (Or ever did do it with the Digital Sidecar)

Thanks!