Skip to the content
PCBKitNew board
4 layers60 × 90 mmESP32-P4-PC Rev B, the printed circuit board in 3D

ESP32-P4-PC Rev B

bgates747/agon-extender1

Agon Extender adds an ESP32-P4 coprocessor to an Agon computer. Extended Display Processor (EDP) runs on P4; Extender MOS (EMOS) replaces MOS on the eZ80 and owns display routing, keyboard admission and Extender…

Size
60 × 90 mm
Copper layers
4
Thickness
1.58 mm
Parts
344
Nets
302
Pads
1,484
Tracks, vias
5,090, 549
Pours
1,113
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
20 Aug 2026
Updated
7 Nov 2026

Overview

ESP32-P4-PC Rev B is an open-source printed circuit board by bgates747, from the bgates747/agon-extender repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 60 × 90 mm with 344 parts on 302 nets, routed with 5,090 tracks and 549 vias.

It is built around the TPS2116DRL and BC817-40. Its parts include 136 capacitors, 96 resistors, 9 ICs, 9 inductors and 3 diodes. It belongs with the ESP32 and RISC-V boards of this library.

Main components

2

README

README.md

Agon Extender

Agon Extender adds an ESP32-P4 coprocessor to an Agon computer. Extended Display Processor (EDP) runs on P4; Extender MOS (EMOS) replaces MOS on the eZ80 and owns display routing, keyboard admission and Extender transports.

This is a working development project, not a general ready-to-install release. The tree includes retained experiments and diagnostic targets. A source checkout, a successful compile and a deployed/qualified combination are different things.

Start here

The Extender handbook is the current documentation entry point.

  1. Using an existing installation: operator and external-agent entry point.
  2. Transferring files: mainboard SD guide, including the foreground EMOS sdserve EMOSlet and paired --fast option.
  3. Building: component build guide. Select the native p4-console profile explicitly; the retained PlatformIO files are historical rollback material. The accepted r55 console was reconstructed from maintained source; select exact approved bytes through production, not Git HEAD.
  4. Unfinished work: TODO. Task records preserve dated evidence; they are not automatically current operating instructions.

Capabilities and limits

Current handbook review: 27 September 2026 (documentation/source inspection). Results apply to the recorded builds and bench, not every Agon/P4 combination.

CapabilityCurrent status and authority
Legacy / Exclusive Compatible (ExCom) display routingEMOS selects mainboard VDP or EDP. Retained VDP rendering and browser output work; compatibility and performance limits remain. Architecture, bug register.
Physical, browser and agent keyboard inputP4 USB input, explicit browser capture and paced host automation are implemented. All require EMOS to have admitted Extender input. Physical input takes priority; browser capture overrides automation. Keyboard guide.
Browser video and observationP4 serves the page and final rendered pixels, with full-frame RLE2 by default. Browser output can slow gameplay; presented fps is not application-loop or native-rendering throughput. Video contract.
Agon mainboard SDForeground EMOS sdserve [--fast] / supports listing, reads and recoverable staged replacement. Normal mode verifies whole files; fast mode omits those verification passes. EMOSlet installation and latest scoped physical checks: operating guide. It does not run alongside a game.
Remote resetAn optional Pi-hosted bridge pulses the Agon's reset circuit; the browser button uses that bridge. This is not P4-native reset or power cycling. Reset guide.
P4-local SDDevelopment candidate provides CLI/HTTP file and directory management; bounded r57 hardware checks recorded, outside selected production v0.1.0. P4 SD guide. Current bench firmware must be checked separately.
Future / deferredAudio: PORT-004. Parallel transport, MicroPython and physical video outputs remain separate work; see TODO.

Network services use plain HTTP/WebSocket on a trusted LAN, without authentication. The SD root passed to sdserve bounds access; / exposes the whole mainboard card. The SD wire API does not execute programs. Agent keyboard control can issue MOS commands only after its input path is already admitted.

The current physical reference is Agon Light 2 + Olimex ESP32-P4-DevKit Rev D1. The r03 UART harness and its USB addition are not a complete qualification of every as-built circuit. The planned ESP32-P4-PC has a separate reference library with manuals, schematics, provenance and upstream example-clone instructions. Do not treat the planned board as the installed DevKit.

Source ownership and further reading

Component / subjectEntry point
Integrated P4 consolenative profile authority, native builder, p4_console.cpp
EDP / adapted VDPvdp/video/extender, vdp/video, retained libraries
EMOS and SD listeneragon-emos, including src/ and projects/sdserve/
Host SD clientscripts/sdcard.py
Embedded browser assetsweb component; no separate npm build
Design and responsibilityarchitecture, ownership, protocols
Qualification and known faultsqualification index, firmware bugs, publication review
Evidence and researchtask conventions, TRS-OS community guide, hardware-free samples

License and upstream work

Agon Extender is distributed under GPL-3.0-only, except where individual files or third-party components carry their own compatible license notices. See LICENSE for the full text and LICENSING.md for the licensing and attribution policy.

The port builds on the official Agon VDP and FabGL/vdp-gl. Original MIT and GPL-family notices and upstream attribution remain applicable to their respective sources.

Parts

344
QtyValueFootprintReferences
46100nF/10V/20%/X5R/C0402OLIMEX_RLC-FP:C_0402_5MIL_DWSC11, C12, C101, C105, C106, C107, C108, C109, C111, C112, C115, C119, C120, C121, C128, C131 +30
182.2k/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR4, R8, R9, R39, R56, R57, R61, R62, R72, R73, R74, R80, R82, R84, R88, R91 +2
1710k/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR3, R27, R41, R42, R43, R48, R54, R55, R64, R66, R67, R68, R70, R83, R85, R102 +1
161uF/6.3V/10%/X5R/C0402OLIMEX_RLC-FP:C_0402_5MIL_DWSC8, C10, C36, C39, C48, C55, C58, C61, C84, C86, C88, C97, C98, C100, C104, C126
1510uF/6.3V/20%/X5R/C0402OLIMEX_RLC-FP:C_0402_5MIL_DWSC3, C6, C18, C20, C22, C29, C41, C50, C56, C67, C68, C70, C76, C82, C99
14TESTPADOLIMEX_Other-FP:TESTPAD_40-ROUND+5V_EXT1, +5V_POE1, +5V_USB1, +5V1, 3.3V1, CORE1, DC_VIN1, GND1, GND2, VBAT1, VO1, VO2, VO3, VO4
1247uF/6.3V/20%/X5R/C0805OLIMEX_RLC-FP:C_0805_5MIL_DWSC14, C65, C74, C92, C93, C118, C129, C130, C132, C133, C134, C136
104.7k/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR7, R10, R11, R12, R21, R22, R33, R37, R49, R69
922uF/6.3V/20%/X5R/C0603OLIMEX_RLC-FP:C_0603_5MIL_DWSC35, C37, C63, C66, C75, C102, C103, C123, C124
727pF/50V/5%/C0G/C0402OLIMEX_RLC-FP:C_0402_5MIL_DWSC24, C25, C79, C80, C81, C113, C114
622R/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR14, R15, R16, R25, R26, R38
6600OHM/2A/UPZ2012E-601-2R0TF/0805OLIMEX_RLC-FP:L_0805_5MIL_DWSL1, L2, L5, L6, L7, L8
6BSS138(SOT-23)OLIMEX_Transistors-FP:SOT23FET3, FET4, FET5, FET6, FET7, FET8
6LED/GREEN/0603OLIMEX_LEDs-FP:LED_0603_KALED_HOST1, LED_HOST2, LED_HOST3, LED_HOST4, LED_LINK1, USER_LED1
6NA(47uF/6.3V/20%/X5R/C0805)OLIMEX_RLC-FP:C_0805_5MIL_DWSC89, C90, C116, C125, C127, C135
422pF/50V/5%/C0G/C0402OLIMEX_RLC-FP:C_0402_5MIL_DWSC1, C2, C44, C45
4FiducialOLIMEX_Other-FP:Fiducial1x3_PasteFID2, FID4, FID6, FID8
4FiducialOLIMEX_Other-FP:Fiducial1x3FID1, FID3, FID5, FID7
4NA/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR19, R32, R63, R81
3100k/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR65, R71, R75
333R/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR58, R59, R60
3470k/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR90, R94, R96
3Mounting_Hole_NPTHOLIMEX_Other-FP:Mounting_Hole_Drill-3.3mm_Clerance-7mmMH1, MH2, MH3
3NA(22uF/6.3V/20%/X5R/C0603)OLIMEX_RLC-FP:C_0603_5MIL_DWSC34, C64, C122
3NA(RCLAMP0524P(SLP2510P8))OLIMEX_IC-FP:SLP2510P8_TESTU9, U10, U11
3OpenedOLIMEX_Jumpers-FP:SJ_1_SMALLERBAT_SENS_E1, BAT_SENS_E2, PWR_SENS_E1
21.0uH/4.2A/DCR=35mR/20%/2.00x1.60x1.00mm/L2016(PIM201610-1R0MTS00)OLIMEX_RLC-FP:L_2016_MML3, L4
21.5k/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR34, R35
210.5k/1%/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR46, R47
2100nF/50V/20%/Y5V/C0603OLIMEX_RLC-FP:C_0603_5MIL_DWSC15, C16
2150pF/50V/2%/NP0/C0402OLIMEX_RLC-FP:C_0402_5MIL_DWSC27, C28
21N5819S4(SOD123)OLIMEX_Diodes-FP:SOD-123_1C-2A_KAD2, D3
220pF/50V/5%/NP0/C0402OLIMEX_RLC-FP:C_0402_5MIL_DWSC77, C78
224.9k/1%/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR24, R105
24.02k/1%/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR1, R2
25.1k/1%/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR5, R6
26.81k/1%/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR89, R103
2FPA-VZA2-15-LFOLIMEX_Connectors-FP:TE_1-1734248-5MIPI-CSI1, MIPI-DSI1
2LED/RED/0603OLIMEX_LEDs-FP:LED_0603_KAACT/SUS1, PWR1
2LED/Yellow/0603OLIMEX_LEDs-FP:LED_0603_KACHARGE1, LED_ACT1
2NA(100nF/10V/20%/X5R/C0402)OLIMEX_RLC-FP:C_0402_5MIL_DWSC33, C60
2NA(10k/R0402)OLIMEX_RLC-FP:R_0402_5MIL_DWSR18, R28
2NA(10uF/6.3V/20%/X5R/C0402)OLIMEX_RLC-FP:C_0402_5MIL_DWSC26, C83
2NA(120pF/50V/5%/C0G/C0402)OLIMEX_RLC-FP:C_0402_5MIL_DWSC59, C62
2NA(2.2k/R0402)OLIMEX_RLC-FP:R_0402_5MIL_DWSR29, R30
2NA(27pF/50V/5%/C0G/C0402)OLIMEX_RLC-FP:C_0402_5MIL_DWSC72, C73
2Q25MHz/18pF/30ppm/4P/3.2x2.5mm(ABM8-25.000MHZ-D2Y-T)OLIMEX_Crystal-FP:TSX-3.2x2.5mm_GND(3)Q2, Q6
2TPS2116OLIMEX_IC-FP:SOT-5X3U13, U16
2TPS62A02ADRLR(SOT-563-6)OLIMEX_Regulators-FP:SOT-563-6U4, U5
2USBB1-FRWH-4A(USB-Ax2)OLIMEX_Connectors-FP:USB_TWO_LEVELUSB_HOST1-2, USB_HOST3-4
2YTS-A016-XOLIMEX_Buttons-FP:YTS-A016-XBOOT1, RST1
10R/R0603OLIMEX_RLC-FP:R_0603_5MIL_DWSR31
11.05k/1%/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR98
11000uF/10V/20%OLIMEX_RLC-FP:CPOL-RM3.5mm_8.0x11.5mm_PTHC117
110M/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR13
110R/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR77
1110R/1%/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR50
11M/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR87
11N5822/SS34/SMAOLIMEX_Diodes-FP:SMA-KAD4
11nF/2000V/10%/X7R/C1206OLIMEX_RLC-FP:C_1206_5MIL_DWS_ISOC17
12.2nF/50V/10%/X7R/C0402OLIMEX_RLC-FP:C_0402_5MIL_DWSC110
12.7k/1%/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR53
1200R/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR79
1220k/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR36
1240R/1%/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR52
130.1k/1%/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR44
14.7uF/X5R/20%/10V/C0402OLIMEX_RLC-FP:C_0402_5MIL_DWSC13
14.7uH/2.33A/DCR=70mR/20%/CD43(NRS4018T4R7MDGJ)OLIMEX_RLC-FP:CD42(43)L11
149.9k/1%/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR51
16.04k/1%/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR76
16.19k/1%/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR17
16.49k/1%/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR45
18.25k/1%/R0402OLIMEX_RLC-FP:R_0402_5MIL_DWSR95
1AP1231-3.3V(SOT23-5)OLIMEX_Regulators-FP:SOT-23-5VR2
1BC817-40OLIMEX_Transistors-FP:SOT23Q5
1CE_SignOLIMEX_Signs-FP:CE_SignSign_CE
1CH217K(SOT23-6L)OLIMEX_IC-FP:SOT23-6U6
1Closed(1-2)OLIMEX_Jumpers-FP:SJ_2_SMALL_12_TIEDDCDC_Vin1
1ES8311(QFN-20)OLIMEX_IC-FP:QFN-20_EP(21)_3x3x0.6mm_Pitch_0.4mmU8
1ESDS314DBVR(SOT-23-5)OLIMEX_Diodes-FP:SOT-23-5TVS1

The 310 most common of 344 parts.

Questions

How big is the ESP32-P4-PC Rev B PCB?

It measures 60 × 90 mm and has 4 copper layers, 1.58 mm thick.

What parts does the ESP32-P4-PC Rev B use?

344 parts, built around the TPS2116DRL and BC817-40. 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 ESP32-P4-PC Rev B KiCad files?

From the bgates747/agon-extender repository on GitHub, at the commit this page was made from: the board is docs/hardware/esp32-p4-pc/upstream/HARDWARE/ESP32-P4-PC-Rev.B/ESP32-P4-PC_Rev_B.kicad_pcb and its schematic docs/hardware/esp32-p4-pc/upstream/HARDWARE/ESP32-P4-PC-Rev.B/ESP32-P4-PC_Rev_B.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ESP32-P4-PC Rev B design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layersMP Tracker, the printed circuit board in 3D

    MP Tracker

    elektra42/freifunk-open-mppt

    Open hard- and software solar maximum power point tracker

    70 parts89
  • 2 layers44.2 × 32.6 mmWiring, the printed circuit board in 3D

    Wiring

    esp-ebus/ebus-adapter-hardware

    This repo conains KiCAD design of eBUS bus powered (without external supply) adapter to WiFi.

    49 parts44
  • 11 layers74.2 × 29.2 mmSolderingStationPCB, the printed circuit board in 3D

    SolderingStationPCB

    clytle374/Open-T12-Soldering-Station

    This is a clone of the cheap T12 soldering stations, attempting to eliminate the shortfalls of the cheap designs.

    68 parts43GPL-3.0
  • 6 layers69.6 × 46.1 mmCarrier, the printed circuit board in 3D

    Carrier

    KaiPereira/CM5-SODIMM-Carrier

    A fully open source CM5 carrier to turn your Pi into a Jetson in compact SO-DIMM format!

    98 parts29
  • 4 layersIONPAK2, the printed circuit board in 3D

    IONPAK2

    m-labs/ionpak

    A modern, low-cost universal controller for hot-cathode ionization vacuum gauges. (WIP)

    259 parts23
  • 2 layers24 × 24 mmBlue - 1.2mm, the printed circuit board in 3D

    Blue - 1.2mm

    flummer/pcb-color-samples

    Small PCB color samples to be used when designing printed circuit boards

    25 parts21CC-BY-SA-4.0
  • 2 layers96.3 × 93.6 mmESP OpenMppt, the printed circuit board in 3D

    ESP OpenMppt

    ISEMS/ISEMS-ESP32

    ISEMS-Port for Solarnodes based on ESP32 Microcontrollers

    75 parts11
  • 2 layers56.5 × 53.3 mmCompressorController, the printed circuit board in 3D

    CompressorController

    ieb/fridgeController

    Secop or Danfoss 12v fridge compressor controller

    21 parts10