
Since my initial post about “PocketPi” in June, I’ve been making significant progress on my compact pocket computer project. Now officially named piBrick, the design has matured into a powerful and modular platform built around the Raspberry Pi Compute Module 5 (CM5). With a compact form factor and rich I/O options, piBrick aims to be more than just a DIY handheld – it’s a flexible development tool and a fun, hackable daily driver.

piBrick Design Overview
- Core: Raspberry Pi CM5
- Size: 128×78mm case (PCB 125×75mm), ~13–15mm thick – May change when casing design started.
- Display Options:
- 1024×768 @ 60Hz IPS panel (requires MIPI init sequence)
- 1080×1240 @ 90Hz AMOLED panel (standard, plug-and-play, rotated 90°)
- Keyboard: BlackBerry Q20 keyboard with rotary switch and macro buttons
- Battery: 3500mAh–5000mAh Li-ion (depending on NVMe configuration)
- Audio: USB sound card (CM108B) + PAM8404 amp, 3.5mm jack, iPhone 8 loudspeaker
- Ports:
- 2x USB 3.0 Type-C (with mux and ESD protection)
- 1x USB Type-C for charging/keyboard
- 1x USB-A 2.0
- Full-size HDMI out
- Internal USB 2.0 Hub (4 ports)
- Internal USB 2.0 extension header
- Camera: Raspberry Pi Zero camera for video calls
- Other Features:
- Internal accelerometer
- Haptic vibration motor (controlled via RP2040)
- 4x macro buttons + keyboard layout LED
- Optional expansion space above NVMe (e.g. HDMI capture card)
Display Support and OSHW piShield
piBrick currently supports two display options. The 60Hz panel requires a custom MIPI init sequence but works well with the open-source DTS overlay system. For the 90Hz AMOLED panel, I’ve recently released a dedicated OSHW shield:

This display shield uses a 1080×1240 AMOLED panel (rotated 90° for portrait mode) with RGB888 format and is plug-and-play via DSI1. It’s fully open-source and can be used for piBrick or other Raspberry Pi projects needing a sharp and high-refresh screen.
Development Notes
- Designed entirely in EasyEDA with all components sourced from JLCPCB’s in-stock inventory (no X-ray parts).
- The design avoids kernel modifications: display panels and reset GPIOs are configured via DTS overlays.
- USB 3.0 muxing and ESD protection handled with HD3SS3220 (default: C2155924) and TPD4E02B04DQAR (C106794).
- HDMI capture support is not a stock feature but supported via internal USB header for hackers.
What’s Next
- Final casing iteration
- Testing FT3519 touch integration
- Optional 3.91″ AMOLED screen might be dropped due to sourcing issues (Hirose connector)
- piBrick Dev Kits or PCB files may be released later, depending on interest
piBrick is my take on a portable Linux computer that’s compact, solid, and functional – a building block for handheld computing. If you’re interested in the project or want to contribute ideas, feel free to reach out or follow my blog at amarullz.com.
— Amarullz
