I²C stopped working

Required Information

  • DietPi version | cat /boot/dietpi/.version G_DIETPI_VERSION_CORE=9
    G_DIETPI_VERSION_SUB=20
    G_DIETPI_VERSION_RC=1
    G_GITBRANCH=‘master’
    G_GITOWNER=‘MichaIng’
  • Distro version | trixie 0
  • Kernel version | Linux rpizero 6.12.47+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.47-1+rpt1 (2025-09-16) aarch64 GNU/Linux
  • Architecture | arm64
  • SBC model | echo RPi Zero 2 W (aarch64)
  • Power supply used | AdaFruit PowerBoost 1000C with 2000 mAh battery
  • SD card used | SanDisk Ultra 64GB A1

I admittedly have a rather unorthodox setup to say the least. It’s basically a handheld cyberdeck that’s sort of like a SQFMI Beepy.

Additional Information (if applicable)

  • Software title | I²C stack
  • Was the software title installed freshly or updated/migrated? Not sure, perhaps there have been kernel upgrades going to 9.20.1 that might have done strange things to I²C
  • Can this issue be replicated on a fresh installation of DietPi? I have tried a fresh image of DietPi 9.20 Trixie but I²C still does not work. An i2cdetect -y 1 just shows all I²C addresses as empty. Same with Bookworm.

I’m pretty sure that I soldered the I²C pins properly on pins 2 and 4 (GPIO2 and GPIO3), and even tried plugging them in directly with DuPont wire with no luck. I have been testing a DS3231 ZS-042 RTC board and a SSD1306 OLED module. I’m pretty sure that they work, because I plugged them into a Bus Pirate and it has no trouble detecting and sending them commands. The ZS-042 board has a power indicator LED and it burns bright when it’s plugged in. Alternatively my RPi Zero’s I²C could be broken, but I tried grounding the SDA pin and i2cdetect -y 1 detects devices on every address as expected. Not sure what else I can do to diagnose this issue.