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.
- 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
- 🟢 Confirmed working
- 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 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 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.
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-hyperpixel4sq overlay: the kernel brings the panel up and FrameOS only writes the framebuffer.
Touch is read by the kernel's own FT5x06 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.
The edges come bound to the frame: swipe up from the bottom for the scene switcher, down from the top for the scene's settings, and in from the left or right for the scene's own back and forward. Change them under button actions.
The frame draws into a 16-bit canvas and writes only the rows that changed. On a Pi Zero W, a finger dragged across the Touch test scene runs at about 20 frames a second.
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" Square Touch device.
- 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) 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 Pi Zero W with a FrameOS SD image (FrameOS 2026.9.22): picture and touch, taps landing where the scene drew them.