ANNOUNCEMENT: Analog Devices FIRST Sensor Donation

Analog Devices is excited to introduce two new sensors for use on your 2016 robot! Both sensors are designed for use in rugged, industrial applications - perfect for FRC!

Both sensors have been designed to plug directly into your RoboRIO and don’t require any additional wiring. This should get your team up and running quickly!

FRC Gyro & Accelerometer Board

This board is designed to give teams single-axis sensor feedback for use in field-oriented driving and complex autonomous routines. FIRST has provided teams with Java, C++ and LabVIEW libraries to help you get started. This sensor will be included in all FIRST Choice orders automatically at no charge. For more information check out and the AndyMark FIRST Choice website.

ADIS16448 IMU MXP Breakout Board

Analog Devices is proud to introduce the ADIS16448 10 degree-of-freedom IMU to FIRST Robotics. This sensor is designed to provide robots with high precision motion feedback for advanced robotics tasks.

The ADIS16448 is a complete inertial system, integrating a triaxial gyroscope, a triaxial accelerometer, a triaxial magnetometer, and pressure sensors in a calibrated, compact, robust package. For FIRST Robotics, ADI has also designed an MXP breakout board to easily integrate this sensor on your team’s robot. This sensor is available on the FIRST Choice website for purchase. Check out for more information and the AndyMark FIRST Choice websitefor links to tutorials and software.

Feedback and questions are very welcome! Please start a new thread or send a PM if you need any assistance!

Thanks Juan!!! I know you’ve worked hard on getting ADI involved and these look awesome!

Thanks Marshall! Let me know if you have any questions once you have the sensor in-hand. It took a lot of negotiating and testing, but the software and hardware should be ready for competition!

As a side note, I updated the IMU software last night to properly sample the sensor. There are a few more features I’d like to add to the framework, but teams should be able to drop it into their code quickly.

Thank You Juan!

This is excellent news that they are doing this for FRC. Having a plug-in IMU will really help teams get started with more advanced navigation.

We use (and are happy with) ADI parts in my day job, so I am already a fan.


Thank you to Analog Devices!

Congratulations on the development/release of these products!

And kudos to National Instruments for creating the MXP port, which is really helping accelerate these advancements.

I am personally very pleased to see that FRC students now have several IMUs readily available for use on their robots.

All the best.

FIRST Choice lists a quantity of 350 of the ADIS16448 IMU MXP units available. Will these be available for purchase if we don’t win the FIRST Choice lottery and if so how much and where do we buy them?

This reads like every FIRST Choice order gets the sensor, then there are 350 additional sensors if you want a spare.

The way I interpret it every team get one FRC Gyro & Accelerometer Board but the MXP IMU there are only 350 of. It seems to be 2 different things. I may be entirely mistaken though.

You’re correct Chuck. Unfortunately, we were only able to coordinate a donation of 350 IMU boards, but every team will receive a “Gyro & Accel Board” with their 2nd round First Choice order!

Unfortunately, we didn’t hear of this soon enough to adjust our FIRST choice order. If there are leftover ADIS16448s, will they be available for cash purchase? We’ve used all of our credits…

As part of FIRST Choice round 2, we were fortunate enough to be awarded 2 ADIS16448 IMU’s. They were our top priority on the list, and fortunately we got them!!

So now the quest begins to learn how to use them effectively. We use Java, but unfortunately I am not versed in Java at all, so my question may sound a bit naive. Do you know if there are any quick start guides or users guides for these?
I have seen the links to Github to acquire examples, but those are mostly geared to LabView. I also see “examples” for Java, but don’t I need the libraries to support it? (I’m hoping that our Java Guru student can answer these simple questions, but I’m asking here in case he is at a loss how to answer.

The required library is on github. It’s a single Java file (Java/com/analog/adis16448/frc/ You will need to copy this java file into your robot project (you will have to put it in a subdirectory “com/analog/adis16448/frc” to match the package name).

One caution with this sensor is it is sensitive to magnetic fields and the current Java and C++ code does not do magnetic disturbance rejection… so you may want to consider using the gyro results rather than the fused yaw result.

Thanks Peter, that is the info I needed to hear. The advise about the magnetic disturbance rejection is also nice to have, and I have seen that mentioned in another thread as well. (In fact, now that I searched for it, you were the one who mentioned it in the other thread. :smiley: )

So, would mounting the RoboRIO as far as possible, or remoting the adis16448 via a ribbon cable) from motors help with this issue?

It would certainly help to distance it as much as possible, but I’ve not done any testing to try to determine what the actual minimum “safe” distance is. E.g. there’s a possibility that the necessary distance is larger than the robot.

Is there any information anywhere concerning which SPI port the Accelerometer and Gyro use? I know from the RoboRIO documentation that there are four total and I know that the board just uses CS0 and CS1 but which is which?

The default constructors in wpilib use the correct ports. The ADXL362 accelerometer is on CS1, the ADXRS450 gyro is on CS0.

For more details, the full board schematics are here:

Is there a cable that can be used to extend the accel and gyro away from the roborio? We would like to use this, but our design has the rio in a vertical orientation and it would be a challenge to move. If we had a cable that would allow us to position the gyro as needed that would be great.

I just have not been abe to find any kind of a 8 pin SPI cable online, but I’m probably just not looking for the right thing.

The connector is a 10 pin 0.1" pitch IDC ribbon connector, and you need 0.05" pitch 10 conductor ribbon cable. Look at DigiKey parts ED10500-ND (female connector), MPK10K-ND (male connector), and AE10G-5-ND (5’ ribbon cable). Even easier, DigiKey also sells premade assemblies such as H3AWH-1018G-ND (1.5’) and H3AWH-1036G-ND (3.0’).

Also worth noting is the fact the sensor is a 3-axis one, so you could vertically mount it (if it’s rigidly mounted and actually vertical) and just read different axes.

Thanks that is exactly what I needed and would have never known what to look for.