piBrick Development – Testing all component dimensions

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:

📄 AMOLED piShield (90Hz) for Raspberry Pi on OSHWLab

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

Some Fun Development Videos