OTOS regularly disconnects

We got our Otos in September, and it has been very accurate and reliable through our season. However, it has recently starting disconnecting regularly, causing the robot to drive in a straight line at maximum speed. We’ve tried multiple connection wires, control hub ports, cleaning it(yes the yellow film is off), and putting a whole new Otos on. A short term solution unplugging and replugging it, but it usually disconnects within 2 minutes. We’re a week to provincials, and we don’t want to get eliminated because of this. Anyone else have this issue, or find a permanent solution?
Thanks.

Are you using the XRP or a different controller? Are there other devices on the i2c bus? How long are the cables going to the OTOS?

Do you have a 2nd controller you can swap to test?

No there are not any other devices, we are using rev driver stations and the cable is about 300-400 mm

Ok - 300-400mm is right about the max recommended length for i2c because the wire’s pull-up resistance becomes very high…it might be worth trying to disable the on-board i2c pull-ups and re-test (easily reversible by placing a solder blob back in-place) and see if it continues to give problems

That’s a curious problem! Don’t have any answers, but I do have some questions and things to try below.

  1. You’re using the OTOS on a FTC robot, correct?
  2. Do the disconnects happen while running an OpMode, between running OpModes, or both?
  3. Are any warning messages displayed on the Driver Station when the sensor disconnects?
  4. If you run the sample OpMode without modification, does it disconnect or run fine?
  5. If the sensor works fine during 4), then it’s likely some problem with your code. No idea what it could be, but if the only difference is code, then the problem is likely code.
  6. If the sensor fails during 4), then the problem is elsewhere. Try adding telemetry to your OpMode that displays the result of myOtos.getPosition() and myOtos.isConnected(). Curious to see what it shows when your robot starts unexpectedly zooming away to see if it truly is a disconnect, or if the sensor just stops tracking for some reason.
  7. If 6) reveals it’s a true disconnect, then try to determine if it’s a problem with the sensor itself, or somewhere else like the cable, Control Hub port, FTC SDK, etc. For example, connect the sensor to an Arduino with a different cable and use our Arduino library to see whether it exhibits the same behavior.
  8. If 7) shows it’s a problem with the sensor, then swapping for a different one should hopefully solve it, though I know you tried this already.
  9. If 7) shows the sensor works fine, then it’s probably an issue with the cable, Control Hub port, etc. Though I know you checked these as well.
  10. If 6) reveals the sensor is still connected, then it likely means the tracking failed for some reason. If you run again without resetting the OTOS, does it continue working fine or stay stuck?
  11. If 10) shows it continues working fine (even temporarily), then the OTOS likely just couldn’t track the surface any more for some reason, such as the sensor became dirty, or it went over a spot on the tiles that was bad, or your robot was moving too fast, etc.
  12. If 10) shows it stops tracking all together, it could indicate some problem in the firmware. Though I’ve never seen anything like that, so I would need to do more research to determine a solution.

Hope this helps!

1 Like

Sorry for not responding, but we figured it out. Our shop is carpeted and the Otos isn’t grounded, so it likely disconnects from static. When we were working in a different building with hardwood floors(the carpeted one flooded) the disconnects stopped, and it didn’t bother us at competition either. Thank you for the support though

1 Like

Understood, glad to hear it wasn’t a problem at competition! This is the first instance I’ve heard of static possibly causing disconnections with the OTOS, so I’ll be on the lookout for any other reports like this! Though given the flakiness of the Rev control system, it’s also possible that the problem was with the Control Hub instead of the OTOS. Hard to say.