Best Analog Devices Gyro in 2022?

  1. ADXRS450 vs ADIS16448 vs ADIS16470, which is the best analog devices gyro in terms of pure performance / lowest drift?

2.) Are all 3 of these currently unusable due to the bug with the new roboRIO image? If so, when do you think the patch will be released? These are the only 3 types of gyros that our team currently has access to

ADXRS453 is another great option - same register set as the 450 (so all the libraries “just work”), but lower noise.

1 Like

Oh yeah, I’ve heard of the ADXRS453, our team doesn’t have one though. We only have the three options that I listed

2 Likes
  1. Specs wise, the ADIS16470 is the best.
  2. Yes they are all broken. Have to wait for a new image from NI to be released, no idea when that would be, but I imagine it would be fairly soon. (technically you could implement or find a driver that does not use the ‘autoSPI’ feature, but this is not a great use of time, is likely to use more CPU than you would want, and the new image may be released before you finish it anyway. Seriously, don’t bother with this approach.).
2 Likes

We used the ADXRS453 from back in 2015 and a few years following (code should also work with the 450). I believe this predated the official support in WPIlib (which was why we made the class initially).
We kept the code functional in our utils up until the 2020 season.

We don’t use the autospi features which are causing problems in the mainline RIO.

Here’s an old post where I described how to use this code:

You should be able to pull that class out of our pid.sesors package, and just not implement the PIDSensorInterface class to use in your own code.

3 Likes

Okay, thanks for the info! I’ve been trying to decide between the ADIS16448 and the ADIS16470, based on your comment and what I’ve seen online I think I’ll go with the ADIS16470 :slight_smile: It seems to have less drift than the ADIS16448 and minimal drift is really what I’m looking for.

And okay, this autoSPI bug is annoying but I guess I just have to wait and hope that the patch is released soon :slight_smile:

Is there a reason you’re limiting yourself to Analog Devices Gyros? The NavX2 was released this summer and the Pigeon2 will be available at the end of the month, both boasting of large reductions in drift.

Yes, the reason is that our team currently only owns Analog Devices gyros. I’m not in the market of purchasing a gyro but rather deciding which one (of the gyros we already own) to use. The Pigeon2 honestly looks awesome and so does the NavX2, but I feel like it wouldn’t be worth it for our team to purchase one of them if we can get the ADIS16470 working

Plus, the NavX2 is currently out of stock and the Pigeon2 hasn’t even been released yet so we can’t get either of those now even if we wanted to

1 Like

Hi @Joe_Ross . It’s been a while. I am with a new team in Colorado and we have the same question, and a VERY limited budget, so we are having to choose between the two Gyro’s we already have. We have both the ADXRS450 and the ADIS16470. From this thread, it appears that once the Rio image get’s repaired, the ADIS16470 is our best bet. Does that sound right?

Yes, the ADIS16470 is a better sensor.

I have a 16448 workaround — for labview —. It has a new option on the open for “register read mode”. If true it bypasses the auto spi issue. If false it uses the auto spi. The newest version appears to be as accurate as the auto spi and use about the same cpu.

I’ll do the 16470 next. I think the same fix will work for this too. Someone could port this to the other languages.

The install package and source are here.

1 Like

Just so you’re aware, a new image with auto SPI fix is imminent (almost certainly within the next week).

3 Likes

Thanks. Good to know. I implemented some things in the 16448 driver that were taken out along the way. I also added some performance enhancements the help regardless of the mode register, auto spi.

I modified the config to use the auto decimation (averaging) filter to reduce the data packets per second. I also re-enabled the Bartlett filter. ( I was curious why it was turned off. ). It the limited testing I did it didn’t seem to be an issue.

I may look at the 16470 just to see if there is value in things like that.

If folks are trying to get by in C++ with an ADXRS450/453 driver that doesn’t use auto SPI, feel free to use the driver we’ve used on 1538 robots for the past few years…

1538_2019/CowGyro.cpp at master · TheHolyCows/1538_2019 (github.com)

With a few light mods with how we used timers, it’ll be a quick port.

2 Likes

It has been 14 days since this was posted. Is the new image available yet? If so, where? Sorry, this is not my area of expertise.

Yes, the image (v4.0) was released on Wednesday. You can get it as part of the NI FRC Game Tools 2022 f1 release, and you’ll need WPILib 2022.3.1 to go along with it.