**Stack**
Raspberry Pi Zero 2 W (solderless hammer heads) → Witty Pi 5 → Inky Impression 13.3" (2025 Edition)
The Inky sits on the Witty Pi’s pass-through header. This is the intended
permanent configuration – it’s a battery-powered photo frame where the
Witty Pi wakes the Pi every few hours to redraw and then cuts power.
**Software**
- Raspberry Pi OS Lite 32-bit (Trixie, Python 3.13), freshly reflashed
- Installed via `git clone pimoroni/inky && ./install.sh`
- inky 2.4.0 in ~/.virtualenvs/pimoroni
- Mains USB supply throughout (not on battery yet)
**Symptom**
Board detected correctly, examples run to completion with no errors, panel
never changes. Not partial or faint – no visible change at all.
$ python stripes.py
Detected Spectra 6 13.3 1600 x 1200 (EL133UF1)
real 0m53.3s
user 0m11.6s
Repeatable. ~41s of that is spent waiting rather than computing, so it
looks like a full refresh cycle including busy-waits is completing.
**Verified working**
- /dev/spidev0.0 and /dev/spidev0.1 both present
- /sys/module/spidev/parameters/bufsiz = 65536
- vcgencmd get_throttled = 0x0 (no under-voltage at any point)
- raspi-config nonint get_spi and get_i2c both return 0 (enabled)
- buttons.py: A, B and D all register. C is silent, which I gather is
expected on the 13.3 (GPIO 25 vs 16). So the GPIO header is making
good contact well beyond just the I2C pins.
**Tried, no change**
- Lowering the driver SPI clock (see below) at 2 MHz, 1 MHz and 500 kHz
**Questions**
1. Is a clean ~53s cycle with zero visual change consistent with SPI
signal degradation through a pass-through header, or does that point
somewhere else? My understanding is that EEPROM detection happens on
the PCB, so “Detected EL133UF1” says nothing about the panel link.
2. Has anyone got a 13.3 working stacked on a Witty Pi 5 specifically?
The existing thread covers a Witty Pi 4 L3V7, where the fix involved
rerouting GPIO 17 – but the Witty Pi 5 is a HAT+ Mode 1 Power HAT
that communicates purely over I2C and uses no extra GPIO, so that
remedy shouldn’t apply here.
3. Anything else worth testing before I treat this as a hardware fault?