Known Issue: Onboard I2C Causing System Lockups

Since people seem to skip over the known issues page, I just wanted to point out a pretty important one:

From Known Issues — FIRST Robotics Competition documentation (wpilib.org) As of 1/6/22


Onboard I2C Causing System Lockups

Issue: Use of the onboard I2C port, in any language, can result in system lockups. The frequency of these lockups appears to be dependent on the specific hardware (i.e. different roboRIOs will behave differently) as well as how the bus is being used.

Workaround: The only surefire mitigation is to use the MXP I2C port instead. Acessing the device less frequently and/or using a different roboRIO may significantly reduce the likelihood/frequency of lockups, it will be up to each team to assess their tolerance of the risk of lockup. This lockup can not be definitively identified on the field and a field fault will not be called for a match where this behavior is believed to occur. This lockup is a CPU/kernel hang, the roboRIO will completely stop responding and will not be accessible via the DS, webpage or SSH. If you can access your roboRIO via any of these methods, you are experiencing a different issue.


This affect both the Rio 1 and Rio 2. The way to fix it is a powercycle or pressing the reset button, the reboot RoboRIO button in the DS will not work.

8 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.