Skip to main content

E81 — SHARED_I2C_TIMEOUT

Hardware version

This error only occurs on v4 hardware.

An I²C transaction on the shared bus did not complete within the 1.5-second timeout window. This is a global bus error — it is logged when any peripheral on the shared bus hangs, including the RFID reader, OLED display, or battery gauge.

What happens

The error is logged and the timed-out transaction is abandoned. The affected peripheral may miss an operation for that cycle (e.g. a skipped battery read, a dropped display frame, or a failed RFID poll). The firmware continues and retries on subsequent cycles. If timeouts recur, multiple subsystems may appear degraded at once.

Possible causes

  • A peripheral on the shared I²C bus is not responding or is holding the bus line low.
  • Loose or faulty cabling to the display or another I²C device.
  • Electrical noise or a short on the I²C lines.
  • The battery was disconnected, causing the fuel gauge to stop responding.

How to fix

  1. Check physical connections — Reseat the display cable and ensure the battery is connected, then reboot.
  2. Reboot the device — Clears a stuck bus state and reinitialises all peripherals.
  3. Note which features are affected — If only the display fails, suspect the OLED cable; if battery percentage is also stale, the issue may be bus-wide.
  4. Contact support — If this error appears frequently after checking connections, open an issue on GitHub and note which subsystems are affected.