FrameOS
Devices

Pimoroni HyperPixel 4.0" Square Touch

A square 720×720 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" Square Touch
Technology
LCD
Colors
262K (18-bit RGB)
Resolution
720×720 px
Size
4″ diagonal
Interface
GPIO (DPI)
Platforms
Raspberry Pi
Status
🟡 Should work
FrameOS driver
pimoroni.hyperpixel4sq_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" Square Touch is a 4″ IPS LCD with a resolution of 720×720 pixels in 18-bit colour 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 rectangular 480×800 sibling - pick the FrameOS device that matches yours: HyperPixel 4.0", HyperPixel 4.0" Touch, HyperPixel 4.0" Square. The smaller round one is the HyperPixel 2.1" Round.

Needs FrameOS 2026.9.20 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. How the pixels get to the glass depends on the Pi, which the frame detects by itself:

  • Pi Zero to Pi 4 - the Pi's firmware drives DPI into /dev/fb0, and FrameOS sends the panel its init sequence and switches the backlight over GPIO.
  • Pi 5 - a Pi 5 has no firmware DPI, so setup enables the kernel's vc4-kms-dpi-hyperpixel4sq overlay instead and FrameOS only writes the framebuffer.

Touch is read by the kernel's own FT5x06 driver and arrives in your scenes as the pointer events mouseMove, mouseDown and mouseUp. 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" Square Touch device.
  3. Save & deploy. The first deploy reboots the Pi once, then the scene appears.

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) switches the backlight; 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

🟡 Should work, not yet confirmed on real hardware. The driver is confirmed on the HyperPixel 4.0" Touch with a Pi 5; this variant uses Pimoroni's own init sequence and timings but hasn't met a panel yet. If you have this display, tell us on GitHub or Discord and we'll mark it confirmed.

On this page