FrameOS
Devices

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.

Buy from Pimoroni
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

  1. 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.
  2. Add a frame and select the Pimoroni HyperPixel 4.0" Touch device.
  3. 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.

On this page