Pimoroni HyperPixel 4.0" Touch
A 480×800 touch LCD on the Pi's GPIO header, driven natively on a Pi Zero through Pi 5.
Official Pimoroni store
Official store page for this device.
- Vendor
- Pimoroni
- Model
- HyperPixel 4.0" Touch
- Technology
- LCD
- Colors
- 262K (18-bit RGB)
- Resolution
- 480×800 px
- Size
- 4″ diagonal
- Interface
- GPIO (DPI)
- Platforms
- Raspberry Pi
- Status
- 🟢 Confirmed working
- FrameOS driver
pimoroni.hyperpixel4_touch
Part of the FrameOS device database. Spotted an error, or tested this panel? Edit this page on GitHub - it's a markdown file.
The Pimoroni HyperPixel 4.0" Touch is a 4″ IPS LCD with a resolution of 480×800 pixels in 18-bit color and a capacitive touchscreen. It sits on the Pi's 40-pin header and the pixels travel over DPI - no HDMI cable, and a refresh is instant. That makes it a good fit for clocks, dashboards and anything that animates or reacts to a finger.
Pimoroni sells this board with and without touch, and as a square 720×720 sibling - pick the FrameOS device that matches yours: HyperPixel 4.0", HyperPixel 4.0" Square, HyperPixel 4.0" Square Touch. The smaller round one is the HyperPixel 2.1" Round.
Needs FrameOS 2026.9.22 or newer.
How it works
One native driver covers every HyperPixel 4.0 - no Pimoroni installer, no Python. On the first
deploy its setup writes what the panel needs into config.txt and the frame reboots once. On
every Pi, Zero to Pi 5, that's the kernel's own vc4-kms-dpi-hyperpixel4 overlay (FrameOS
2026.9.22+): the kernel brings the panel up and FrameOS only writes the framebuffer. A card set up
by an older release, with the firmware's DPI lines in config.txt, is converted on its next driver
setup.
Touch is read by the kernel's own Goodix GT911 driver and arrives in your scenes
as pointer events - pointerDown, pointerMove, pointerUp, and the tap, swipe and
longPress gestures (input); the older mouseMove, mouseDown and
mouseUp names still work. Coordinates follow the frame's
rotate and flip settings, so a scene on a rotated panel gets taps where it drew things.
Setup
- Plug the display onto the Pi's GPIO header. On a Pi Zero that means soldering a header first - or buy the pre-pinned WH / 2 WH.
- Add a frame and select the Pimoroni HyperPixel 4.0" Touch device.
- Save & deploy. The first deploy reboots the Pi once, then the scene appears.
The panel scans in portrait, 480×800. For an 800×480 landscape frame set Rotate to 90 or 270 in the frame's settings.
The HyperPixel takes every GPIO pin, so the Pi's I2C and SPI buses are switched off while it is the frame's display - no other HATs or GPIO buttons alongside it. Turn display off / on (from the frame's menu, or on a schedule) blanks the panel; there is no dimming.
Moving the SD card to a different HyperPixel is fine: change the device, deploy, and setup swaps
the config.txt lines over.
Status
🟢 Confirmed working on a Raspberry Pi 5 - picture, touch and display off / on. On a Pi Zero to Pi 4 it uses the same kernel overlay that drives the 4.0" Square Touch on a Pi Zero W, but hasn't been tried on this panel yet. If you run one, tell us on GitHub or Discord.