Skip to the content
4 layers58.3 × 32 mmPhantasm, the printed circuit board in 3D

Spherical Persistence of Vision Display

Size
58.3 × 32 mm
Copper layers
4
Thickness
1.6 mm
Parts
36
Nets
43
Pads
119
Tracks, vias
2, 1
Pours
6
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
13 May 2015
Updated
7 Nov 2026

Overview

Phantasm is an open-source printed circuit board by woundedlion, from the woundedlion/pov repository on GitHub. It is a 4-layer board of 58.3 × 32 mm with 36 parts on 43 nets, routed with 2 tracks and 1 via.

It is built around the 74AHCT125D, THVD2410DRB and RC0603FR-0710KL, with the M2.5, CC0603KRX7R9BB104 and CRCW060310R0FKEAHP among its other parts. Its parts include 4 connectors, 1 IC and 1 fuse. It belongs with the NXP (LPC, Kinetis, i.MX RT) boards of this library.

Main components

11

README

hardware/phantasm/1.2/README.md

PHANTASM rev 1.2 board project

Rev 1.2 is the generator default. The board index covers shared generation and release validation.

Quilter upload

Upload these three files together from that directory:

Keep the accompanying symbol and footprint libraries with the project when opening it in KiCad 10. Every upload must use the board and schematic from the same revision directory. Rev 1.2 requires placement, routing, and validation before fabrication.

The rev 1.2 upload board fixes J1 power at the left edge and J2 LED, J3A SYNC IN, J3B SYNC OUT in a column at the right end, in that top-to-bottom order. The column sits inboard of the right mounting holes, in the rev 1.1 connector area. Their wire openings face left toward the hub. Keepouts reserve each terminal's full plastic body plus 0.5 mm assembly clearance, preventing SMD parts beneath the connector. Power's wire-access reservation extends off the left edge. The outline remains 58.28 x 32 mm, and all four mounting holes retain the rev 1.1 coordinates. The Teensy shifts 3.5 mm left to clear the terminal bodies; D_BUS is released for placement outside their keepouts.

Rev 1.2 J2/J3A/J3B have no wire-access reservation. Their openings sit about 1.5 mm from the Teensy PCB edge; J2.1 faces a header pin that remains in its insertion path at any socket height. Trial-fit its harness before fabrication. Placement and DRC do not qualify harness insertion. A connector whose pin legend meets a mounting reserve has its complete legend on the back; rev 1.2 J2 and J3B use the back, while J3A retains its complete front legend.

Rev 1.2 omits the J4 debug header and SERIAL1_TX connection; Teensy pin 1 is unconnected. R_MEN and MASTER_EN remain part of the sync control circuit. Probe power directly at the Teensy; diagnostics use its USB connector.

Replace the uploaded files in Quilter with this complete revision pair and confirm all four connectors appear inside the outline as pre-placed parts. Quilter preserves their positions and rotations. Existing routed candidates do not acquire these constraints retroactively.

The rev 1.2 schematic wires C_DEC1 directly to U_MCU VIN and C_DEC2 directly to U1 pin 14 to make their bypass assignments explicit. Both are 100 nF and preplaced on the PCB. Quilter prioritizes direct schematic wires when assigning bypass capacitors. Start a fresh job to redetect the constraints; replacing files can retain an existing incorrect assignment. Verify these two rows before submitting.

The rev 1.2 bypass table contains only those two decouplers. Remove C_IN (bulk storage), C_LF (filter damping), and C_SYNC (signal filtering) from that table. In Power Nets, keep 500 mA sizing for all five detected supply nets and turn off Attempt Power Pour for each. These are Quilter job settings; there is no documented KiCad property to import these exclusions or pour flags. After correcting the job, duplicate it to reuse its design parameters and physics constraints for subsequent runs.

In Quilter, preserve the uploaded four-layer stackup and select Preserve copper on internal layers. Also add GND plane In1.Cu and GND plane In2.Cu by name to the job's Preserved Pours table. Quilter deletes and regenerates pours absent from that table; preserving an internal pour also requires preserving the stackup. See Quilter's preserved-pour setup. The board's schematic links identify related components.

The stackup is Signal / GND / GND / Signal. Both inner layers have GND pours and the user names GND and Ground, matching Quilter's ground-layer naming rules. Confirm both inner layers are classified as Ground in Quilter's stackup editor. Its no-power-layer info is expected: this design uses two ground reference planes, with the supply rails routed on the outer layers.

Hardware and firmware

Rev 1.2 selects ENIG copper finish; the shipped rev 1.1 board uses Lead-Free HASL. This is a revision-specific fabrication change.

Terminal-block clearance

The generator uses GCT TBC05-02-1-G-G for J1 (board power) and TBC05-03-1-G-G for J2 (LED signals), J3A and J3B (sync). J4 is absent from rev 1.2. The GCT mechanical drawing specifies 2.54 mm pitch, 1.3 mm PCB holes, and bodies 5.48 × 6.5 mm (two positions) or 8.02 × 6.5 mm (three positions), 8.5 mm high.

Each terminal footprint reserves its body plus 0.5 mm on every side with a front courtyard and a footprint-local component keepout. Traces, vias and copper pours remain allowed beneath the plastic body. The placed draft packs against the larger reservation; the unplaced output locks these connectors at TERMINAL_EDGE_PLACEMENTS. Recheck wire entry, screw access and rotor clearance after placement.

The committed rev 1.1 boards still carry pin-header footprints. Matching pin pitch alone does not establish body or drill clearance for these terminals. J1 remains pin 1 = +5 V, pin 2 = GND; the terminal block is not polarized.

Sync circuit

Every master and follower uses the same PCB, populated parts, and pin map. The ID straps select the role; MASTER_EN still gates both U1 channels C/D.

SignalConnectionsMasterFollower
FRAME_SYNCTeensy D3, R1/R2 divider, C_SYNC 220 pFReceive-only, echo ignoredReceive with pad hysteresis
SYNC_TXTeensy D4, U1 pin 9, R_TX 10 kΩ to GNDSync pulse outputOutput held LOW
MASTER_ENTeensy D5, U1 pins 10/13, R_MEN pull-upLOW after TX initializationHIGH

R_TX is populated on every board, including the master. It holds the AHCT input LOW during reset while the GPIO is high impedance. The receive RC no longer loads an AHCT input. R_TX uses the same 0603 10 kΩ catalog part as R_MEN (C25804).

Rev 1.2 also closes rev 1.1's power-up feedback path. R_MEN pulls /OE to the Teensy's 3V3 rail, which can rise after U1's 5 V supply; it cannot guarantee a disabled driver throughout power-up. On rev 1.1 the briefly enabled receive-to- transmit path can re-drive SYNC_BUS. Rev 1.2's separate SYNC_TX input and R_TX hold its input LOW during that interval. This protection requires the revised copper and firmware described below; the generator alone does not retrofit it.

Firmware compatibility: HS_PHANTASM_BOARD_REV comes from [phantasm_common] board_revision in platformio.ini, which defaults to 11. Build rev 1.2 with pio run -e phantasm_rev12, or set board_revision = 12 for all Phantasm environments. The rev 1.2 pin map transmits on D4, configures D3 as input with HYS, and initializes D4 LOW as an output on every board before enabling the master. Followers keep D4 LOW; only the master emits pulses. Regenerating the board does not change the firmware build flags or routed copper.

Generating rev 1.2 requires regenerating the schematic before either PCB draft. The resulting PCB is unrouted and needs placement/routing validation before fabrication; changing its revision label alone does not convert rev 1.1 copper.

Parts

36
QtyValueFootprintReferences
410kResistor_SMD:R_0603_1608MetricR_CLK_PD, R_DATA_PD, R_MEN, R_TX
4M2.5MountingHole:MountingHole_2.7mm_M2.5H1, H2, H3, H4
30.1uFCapacitor_SMD:C_0603_1608MetricC_DEC1, C_DEC2, C_DEC3
210R 1% pulse-proofResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR_A, R_B
233RResistor_SMD:R_0805_2012MetricR_D1, R_D2
10.5A holdFuse:Fuse_1206_3216MetricF1
1100uFCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC_IN
1120R 1% 0.5WResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR_TERM
11R5Resistor_SMD:R_0805_2012MetricR_LF
11uFCapacitor_SMD:C_0603_1608MetricC_BULK3
122uFCapacitor_SMD:C_1206_3216MetricC_LF
1600R@100MHzInductor_SMD:L_1206_3216MetricFB
174AHCT125Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU1
1AO3401APackage_TO_SOT_SMD:SOT-23Q_REV
1CDSOT23-SM712Package_TO_SOT_SMD:SOT-23D_SYNC
1ID0->GNDJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP_ID0
1ID1->GNDJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP_ID1
1ID2->GND (N=8)Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP_ID2
1TBC05-02-1-G-G +5V IN ~1Aphantasm:TerminalBlock_GCT_TBC05-02-1-G-GJ1
1TBC05-03-1-G-G LED DI/SIG_GND/CIphantasm:TerminalBlock_GCT_TBC05-03-1-G-GJ2
1TBC05-04-1-G-G SYNC inphantasm:TerminalBlock_GCT_TBC05-04-1-G-GJ3A
1TBC05-04-1-G-G SYNC outphantasm:TerminalBlock_GCT_TBC05-04-1-G-GJ3B
1TERM endpoints onlyJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP_TERM
1THVD2410DRPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU_SYNC
1Teensy4.0phantasm:Teensy4.0U_MCU
1shield gnd (master only)Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP_SHLD

More from woundedlion/pov

2
  • 4 layers58.3 × 32 mmPhantasm, the printed circuit board in 3D

    Phantasm

    woundedlion/pov

    Spherical Persistence of Vision Display

    32 parts2
  • 4 layers58.3 × 32 mmPhantasm, the printed circuit board in 3D

    Phantasm

    woundedlion/pov

    Spherical Persistence of Vision Display

    32 parts2

Similar boards

  • 4 layers59 × 101 mmEnku mainboard r0.1, the printed circuit board in 3D

    Enku mainboard r0.1

    aliaksei-lameyka/ENKU-Base-reader

    Open enku-mainboard-r0.1.kicadpro with KiCad10.0.7. Matching PCB/root schematic and power.kicadsch, mcuio.kicadsch, epdhv.kicadsch, connectors.kicadsch are canonical.

    127 parts1CERN-OHL-W-2.0
  • 4 layers65 × 56 mmRbphat, the printed circuit board in 3D

    Rbphat

    zcrawling/LOONARover

    2026 LOONAR Rover project

    77 parts
  • 8 layers320 × 380 mmChess board, the printed circuit board in 3D

    Chess board

    nicksan222/chess

    Make your move. Watch the board come alive. ♟️✨

    347 partsMIT
  • 4 layers48.8 × 108 mmOutput module, the printed circuit board in 3D

    Output module

    sgreene30/Synthesis-Projects

    104 parts
  • 6 layers131 × 125 mmSunbeam em7000, the printed circuit board in 3D

    Sunbeam em7000

    Resident-X/brew-state

    brew-state: bare-metal C state estimation and forward-horizon profiling for the Sunbeam EM7000. Built with Staircase.

    444 partsMIT
  • 6 layers36 × 124 mmOpenDual Reader, the printed circuit board in 3D

    OpenDual Reader

    nuerolynx/embedded-systems-lab

    Arduino UNO R4 WiFi and ESP32 prototypes for access control, automation, displays, monitoring, and Bluetooth audio.

    74 parts4
  • 6 layers69.7 × 76.7 mmAmulet controller, the printed circuit board in 3D

    Amulet controller

    EPFLXplore/XRE_LeggedRobot_HW

    PCB designs for Xplore Research's robot dog project

    414 parts348Apache-2.0

Questions

How big is the Phantasm PCB?

It measures 58.3 × 32 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Phantasm use?

36 parts, built around the 74AHCT125D, THVD2410DRB, RC0603FR-0710KL and M2.5. 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 Phantasm KiCad files?

From the woundedlion/pov repository on GitHub, at the commit this page was made from: the board is hardware/phantasm/1.3/phantasm.kicad_pcb and its schematic hardware/phantasm/1.1/phantasm.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Phantasm design in my own project?

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