Skip to the content
4 layers96.2 × 75.8 mmPmic panel, the printed circuit board in 3D

Pmic panel

jncronin/gk79

This respository provides PCB schematics, firmware and debugging support for the gkv4 handheld game console and its operating system, gkos. For the original STM32H7S7-based gk, see README-v3.md.

Size
96.2 × 75.8 mm
Copper layers
4
Thickness
1.6 mm
Parts
498
Nets
228
Pads
1,332
Tracks, vias
3,948, 690
Pours
30
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
4 Jan 2024
Updated
4 Nov 2026

Overview

Pmic panel is an open-source printed circuit board by jncronin, from the jncronin/gk repository on GitHub. It is a 4-layer board of 96.2 × 75.8 mm with 498 parts on 228 nets, routed with 3,948 tracks and 690 vias.

It is built around the STPMIC25BPQR. Its parts include 246 capacitors, 42 inductors, 12 ICs, 6 resistors and 6 diodes.

Main components

1

README

README.md

gk and gkos

This respository provides PCB schematics, firmware and debugging support for the gkv4 handheld game console and its operating system, gkos. For the original STM32H7S7-based gk, see README-v3.md.

gkv4 represents a significant upgrade over the original gk with improved speed, a bigger screen, more gamepad buttons and hardware-accelerated 3D rendering.

Videos of the gkv4 in action

An image of the gk showing its menu screen

Overview

gkv4 is a small, battery powered handheld gaming console running on a STM32MP2 MPU (dual Cortex-A35 cores with additional Cortex-M33 core). It runs a custom OS called gkos which allows near-instantaneous (MCU-like) cold boot times but is powerful enough to run most POSIX userspace applications. See https://github.com/jncronin/gk-userland for the userland support including cross GCC toolchains and useful libraries. https://github.com/jncronin/gk-repo contains all the userspace code including ports of various emulators, games and utilities.

Game/emulator support:

  • Mednafen for NES, SNES, SMS, MD and Lynx support
  • Hatari for Atari ST
  • PCSX_rearmed for PS1
  • Mupen64plus (see fork at https://github.com/jncronin/mupen64-combined) for N64 (GPU-accelerated)
  • Atari++ for Atari XL
  • DOSBox-X (achieves 25000 cycles/second, 199561 parrots, 74 XT on speedtst.com, roughly 486 50 MHz equivalent)
  • Native ports of:
    • Neverball/neverputt (GPU-accelerated with tilt support)
    • Tuxracer (GPU-accelerated)
    • Doom (sdl2-doom)
    • Quake (ChocolateQuake)
    • Descent (ChocolateDescent)
    • koules

Hardware Specifications

PCBs, schematics and case STL files are available in https://github.com/jncronin/gk/tree/main/gk-pcbv4.

  • STM32MP255D processor with variable clock rate (defined on a per-game basis). Debug and trace ports exposed.
  • LPDDR4 RAM (1 GiB in current version)
  • Lithium ion battery (10,000 mAH in current version) with USB-C charging via BQ25601, state of charge monitoring via MAX17048 and current sensing via INA236
  • 800x480 5 inch touchscreen (ER-TFT050-6). Hardware scaling support via STM32MP2 LTDC peripheral.
  • Micro SD for storage with voltage switch support
  • Wifi/Bluetooth module attached via M.2 E-key interface (e.g. EAR00389 module)
  • Gyrometer/accelerometer + optional magnetometer for tilt interface
  • Headphone + internal speaker audio out via TAD5112
  • Multiple controls including:
    • Left and right analog sticks (programmable as digital on per-game basis)
    • ABXY + DPAD buttons
    • Start + select buttons
    • Analog throttle controller
    • Volume up/down (can be programmed as additional game inputs)
    • Menu button (opens OSD)
    • Left/right trigger + bumper buttons on back of device
  • Battery backup for RTC

Total current draw is heavily dependent on screen brightness but is typically 1.5W or less at full CPU + GPU load with medium brightness, and max ~2W at full brightness.

Software

gkos is a custom OS written from scratch in C++. It is available in the https://github.com/jncronin/gk/tree/main/Firmware-v4 directory. Features:

  • Armv8-A SMP scheduler with multiple active processes + threads
  • Syscall interface with wrappers for most POSIX functions
  • High resolution (10 ns precision) timer provided to games
  • pthread support including threads, mutexes, semaphores, conditions, rwlocks and barriers
  • A port of the etnaviv GPU driver allowing hardware-accelerated OpenGL
  • Driver for Infineon CYW43439 chipset and IPv4 network stack
  • SD card (with UHS-I mode support) with Ext4 (Lwext4) and FAT (fatfs) drivers
  • USB driver allowing the device to present itself as a mass storage device to allow provisioning the internal SD card
  • Offloading of all input tasks, including tilt sensor and touch screen filtering, to Cortex-M33 core

Examples

Tuxracer using the GPU for rendering:

Tuxracer on the GK

Tuxracer with the OSD overlay (handled by the gk-supervisor process in the (https://github.com/jncronin/gk-userland) repo) showing current system health, battery and cpu usage:

Tuxracer with on-screen display

Parts

498
QtyValueFootprintReferences
180NPTHNPTHKiKit_MB_10_1, KiKit_MB_10_2, KiKit_MB_10_3, KiKit_MB_10_4, KiKit_MB_10_5, KiKit_MB_11_1, KiKit_MB_11_2, KiKit_MB_11_3, KiKit_MB_11_4, KiKit_MB_11_5, KiKit_MB_12_1, KiKit_MB_12_2, KiKit_MB_12_3, KiKit_MB_12_4, KiKit_MB_12_5, KiKit_MB_13_1 +164
6022u/6.3VCapacitor_SMD:C_0603_1608MetricC30, C30, C30, C30, C30, C30, C31, C31, C31, C31, C31, C31, C32, C32, C32, C32 +44
5410u/10VCapacitor_SMD:C_0603_1608MetricC10, C10, C10, C10, C10, C10, C11, C11, C11, C11, C11, C11, C12, C12, C12, C12 +38
484.7u/6.3VCapacitor_SMD:C_0402_1005MetricC18, C18, C18, C18, C18, C18, C22, C22, C22, C22, C22, C22, C23, C23, C23, C23 +32
4222uCapacitor_SMD:C_0805_2012MetricC3, C3, C3, C3, C3, C3, C35, C35, C35, C35, C35, C35, C36, C36, C36, C36 +26
241u/25VCapacitor_SMD:C_0402_1005MetricC15, C15, C15, C15, C15, C15, C16, C16, C16, C16, C16, C16, C17, C17, C17, C17 +8
18DFE201610E-R68M=P2 / 0.68uInductor_SMD:L_0805_2012MetricL3, L3, L3, L3, L3, L3, L4, L4, L4, L4, L4, L4, L5, L5, L5, L5 +2
124.7u/10VCapacitor_SMD:C_0603_1608MetricC20, C20, C20, C20, C20, C20, C21, C21, C21, C21, C21, C21
12DFE201610E-2R2M=P2 / 2.2uInductor_SMD:L_0805_2012MetricL1, L1, L1, L1, L1, L1, L2, L2, L2, L2, L2, L2
12DFE252012F-R68M=P2 / 0.68uInductor_SMD:L_1008_2520MetricL6, L6, L6, L6, L6, L6, L7, L7, L7, L7, L7, L7
6100nCapacitor_SMD:C_0402_1005MetricC1, C1, C1, C1, C1, C1
61kResistor_SMD:R_0603_1608MetricR1, R1, R1, R1, R1, R1
6FiducialFiducialKiKit_FID_B_1, KiKit_FID_B_2, KiKit_FID_B_3, KiKit_FID_T_1, KiKit_FID_T_2, KiKit_FID_T_3
6LEDLED_SMD:LED_0603_1608MetricD1, D1, D1, D1, D1, D1
6STPMIC25BPQRfootprints:WFQFN56L_6p5x6p5x0p9_STMU1, U1, U1, U1, U1, U1
6~jc_pmic:jc_pmic_moduleU2, U2, U2, U2, U2, U2

More from jncronin/gk

8
  • 6 layers108 × 158.8 mmGk pcbv3, the printed circuit board in 3D

    Gk pcbv3

    jncronin/gk

    This respository provides PCB schematics, firmware and debugging support for the gkv4 handheld game console and its operating system, gkos. For the original STM32H7S7-based gk, see README-v3.md.

    289 parts79
  • 6 layers121.6 × 110 mmGk pcbv4, the printed circuit board in 3D

    Gk pcbv4

    jncronin/gk

    This respository provides PCB schematics, firmware and debugging support for the gkv4 handheld game console and its operating system, gkos. For the original STM32H7S7-based gk, see README-v3.md.

    270 parts79
  • 6 layers108 × 158.8 mmGk pcbv2, the printed circuit board in 3D

    Gk pcbv2

    jncronin/gk

    This respository provides PCB schematics, firmware and debugging support for the gkv4 handheld game console and its operating system, gkos. For the original STM32H7S7-based gk, see README-v3.md.

    262 parts79
  • 6 layers108 × 158.8 mmGk, the printed circuit board in 3D

    Gk

    jncronin/gk

    This respository provides PCB schematics, firmware and debugging support for the gkv4 handheld game console and its operating system, gkos. For the original STM32H7S7-based gk, see README-v3.md.

    203 parts79
  • 2 layers120.6 × 72.2 mmGk controls, the printed circuit board in 3D

    Gk controls

    jncronin/gk

    This respository provides PCB schematics, firmware and debugging support for the gkv4 handheld game console and its operating system, gkos. For the original STM32H7S7-based gk, see README-v3.md.

    110 parts79
  • 4 layers25.4 × 25.4 mmPmic, the printed circuit board in 3D

    Pmic

    jncronin/gk

    This respository provides PCB schematics, firmware and debugging support for the gkv4 handheld game console and its operating system, gkos. For the original STM32H7S7-based gk, see README-v3.md.

    52 parts79
  • 4 layers50.7 × 52 mmGk oled pcb, the printed circuit board in 3D

    Gk oled pcb

    jncronin/gk

    This respository provides PCB schematics, firmware and debugging support for the gkv4 handheld game console and its operating system, gkos. For the original STM32H7S7-based gk, see README-v3.md.

    48 parts79
  • 2 layers60 × 38.2 mmGk controls trigger, the printed circuit board in 3D

    Gk controls trigger

    jncronin/gk

    This respository provides PCB schematics, firmware and debugging support for the gkv4 handheld game console and its operating system, gkos. For the original STM32H7S7-based gk, see README-v3.md.

    7 parts79

Similar boards

  • 4 layers52.1 × 40.6 mmPrj, the printed circuit board in 3D

    Prj

    novvoo/sitina1

    sitina1

    498 parts2MIT
  • 4 layers344 × 117.5 mmZellia80, the printed circuit board in 3D

    Zellia80

    mhdimo/Zellia80-HE

    Zellia80-HE PCB files source

    497 parts24LGPL-2.1
  • 4 layers20 × 74.3 mmFlicker, the printed circuit board in 3D

    Flicker

    danfoisy/flicker

    Flicker is a spherical display based on persistence of vision.

    499 parts38MIT
  • 4 layers71.1 × 71.1 mmPanel, the printed circuit board in 3D

    Panel

    jamesmunns/lipo-stamp

    A tiny Li-Po/Li-Ion charging management SoM

    496 parts17
  • 4 layers293.6 × 72 mmAnalog i, the printed circuit board in 3D

    Analog i

    deimoscontrols/deimos

    Realtime data acquisition and controls ecosystem, including hardware, firmware, and software.

    500 parts44
  • 4 layers102.5 × 113.8 mmPdms, the printed circuit board in 3D

    Pdms

    PGRacing/PDM

    Rev 4.3 | ID | NAME | CAUSE |DIFFICULTY | PRIORITY | STATUS | | --- | --- | --- | --- | --- | --- | | 1. | Create test board for BTS50025-1TAE | Switch with higher Rds(on) should perform better in terms of diagnostics…

    501 parts1
  • 4 layers165 × 113 mmUltrasound, the printed circuit board in 3D

    Ultrasound

    rosalyntg/ultrasound

    Hobby Ultrasound Machine

    494 partsGPL-3.0
  • 4 layers233.4 × 147.3 mmOpenPLC Hardware, the printed circuit board in 3D

    OpenPLC Hardware

    gasiepgodoy/Open-Source-PLC

    Open Source Programmable Logic Controller (Hardware and Software). Based on the Master of Science in Electrical Engineering of João Vitor Rocha Santana

    494 parts2

Questions

How big is the Pmic panel PCB?

It measures 96.2 × 75.8 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Pmic panel use?

498 parts, built around the STPMIC25BPQR. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Pmic panel KiCad files?

From the jncronin/gk repository on GitHub, at the commit this page was made from: the board is gk-pcbv4/pmic/pmic_panel.kicad_pcb and its schematic gk-pcbv2/gk-pcbv2/audio.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Pmic panel design in my own project?

Its repository states no licence, so its author keeps all rights: ask jncronin before reusing the design.