Skip to the content
2 layers323.8 × 91.1 mmXPL-32-rounded, the printed circuit board in 3D

All of the code and experiments for the XPL-32 Homebrew 6502 Laptop. Licensed under GNU GPL V3.

Size
323.8 × 91.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
81
Nets
119
Pads
707
Tracks, vias
3,516, 515
Pours
1,847
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
24 Feb 2022
Updated
22 Aug 2025

Overview

XPL-32-rounded is an open-source printed circuit board by liaminventions, from the liaminventions/XPL-32 repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 323.8 × 91.1 mm with 81 parts on 119 nets, routed with 3,516 tracks and 515 vias.

It is built around the 74HC00N and 74HC138N. Its parts include 22 capacitors, 16 resistors, 12 ICs, 3 connectors and 3 switches. It belongs with the retro computing and games and computers and single-board computers boards of this library.

Main components

2

README

README.md

XPL-32

Assemble ROM

The XPL-32 is a homebrew 8-bit 6502 laptop, with four 48-pin expansion slots, and a 22-pin I/O port.

XPL-32 stands for:

eXpandable Personal Laptop with 32k ram

Blog

Here I will post hardware updates to the XPL and more.

Also, be sure to check info.txt to know if there are any issues when i code.

Hardware Overview

CPU

A 6502, of course. A W65C02 to be exact.

Datasheet

I/O

For the I/O, I've got a W65C22 VIA. Port A, Port B and the handshake bits connect to the I/O slot. However CA2 is connected to the Video Switch Relay (VSR) W65C22 Datasheet

Video

The XPL-32 has an expandable monochrome terminal display that uses a 6551 ACIA at $8000 and two arduinos. This is the video and keyboard processer. (not made by me) The video can be switched to the composite input EXTVID (on the expansion port) by toggling the VSR. (a relay that switches beetween native video and EXTVID.)

So far, for Video expansions, I've made a TMS9918a one. (the same video processer used in the TI-99/4a and the MSX)

Sound

There is a 6581 SID at $B800 ($D400 in the c64) onboard with its potentiometer (POTX and POTY) and external sound (EXTSND) inputs on the expansion port. I programmed support to convert most SID files, as well.

Memory Map

Tools I Use

PCB Design

I currently use EAGLE

3D Modeling

Fusion 360

Coding

VIM, NVIM/LunarVIM or vscode for code editing. xa, ca65 (from cc65), and vasm for assembly.

I have "xa 6502 cross assembler" syntax highlighting in vim, and the "vasm" extension in vscode.

most source files are .s, but some are .a65 or .asm

Debugging

I use Pulseview with this logic analyzer (the 2018 variant)

It was an absolute pain to set up...

Also, the SDcard-SPI decoder in libsigrokdecode was completly broken for me. (it always expected a CRC...) My fix was to make my own custom version of the decoder

The custom version is still slightly broken, but I am working on it.

I also use decode6502 by hoglet

Parts

81
QtyValueFootprintReferences
130.1ufXPL-32:C025-025X050_334C1, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20
61kXPL-32:0204_7_420R8, R9, R12, R16, R17, R18
4XPL-32:1X02_325JP2, JP4, JP9, UNK12V0
4XPL-32:2X24_90_325JP11, JP12, JP13, JP14
422pfXPL-32:C025-025X050_334C5, C6, C7, C8
3XPL-32:1X03_420ATMEL/27128, RXT/RXVID0, TXT/TXKBD0
3XPL-32:1X01_325-BAT0, +BAT0, UNK12
210XPL-32:0204_7_420R1, R2
210KXPL-32:0204_7_420R3, R4
210kXPL-32:0204_7_420R13, R14
210uFXPL-32:E2,5-7_420C3, C21
24.7KXPL-32:0204_7_420R5, R6
2470XPL-32:0204_7_420R7, R15
2470pFXPL-32:C150-054X183_420C4, C22
2OSCXPL-32:OSCCANUNK1.8432MHZ0, UNK1MHZ0
1XPL-32:DIP-28U2
1XPL-32:2X11_90_325JP1
1XPL-32:DIL28-6_272IC6
1XPL-32:1X04_NO_SILK_513J1
1XPL-32:M_DIN6X1
1XPL-32:2X06_325DEBUG0
1XPL-32:DIP-40U4
111.0592MHzXPL-32:HC49U_511Y4
116MHzXPL-32:HC49U_511Y3
11KXPL-32:SIL9_347RN1
11UFXPL-32:E2,5-7_420C2
1328PXPL-32:DIL28-3_105IC8
1328PXPL-32:DIP28_525U3
16581XPL-32:DIP-28U$2
174HC00NXPL-32:DIL14_85IC4
174HC138NXPL-32:DIL16_85IC7
174HCT166NXPL-32:DIL16_88IC9
1973XPL-32:973J3
1APF30205CXPL-32:APF30212C_339K1
1AT28C256/27128XPL-32:DIP-28U7
1AUDIO_JACK_3.5MM_PTHXPL-32:AUDIO-JACK_513J4
1FTDIXPL-32:FTDIU6
1MCP120-450DI_TOXPL-32:TO127P254X495-3IC10
1MOMENTARY-SWITCH-SPST-PTH-6.0MMXPL-32:TACTILE_SWITCH_PTH_6.0MM_535S6
1OKI-78SR-5_1.5-W36HE-CXPL-32:OKI78SR515W36HECPS1
1TOGGLE_PUSHBUTTONXPL-32:TOGGLE_BUTTONU$1
1VIDEOXPL-32:1X02_NO_SILK_513S3
1W65C02SPXPL-32:DIP-40U1

More from liaminventions/XPL-32

4
  • 2 layers48.6 × 40.6 mmTape V2, the printed circuit board in 3D

    Tape V2

    liaminventions/XPL-32

    All of the code and experiments for the XPL-32 Homebrew 6502 Laptop. Licensed under GNU GPL V3.

    39 parts4GPL-3.0
  • 2 layers101.3 × 80 mmXPL-32 - Copy - Copy, the printed circuit board in 3D

    XPL-32 - Copy - Copy

    liaminventions/XPL-32

    All of the code and experiments for the XPL-32 Homebrew 6502 Laptop. Licensed under GNU GPL V3.

    23 parts4GPL-3.0
  • 2 layers48.5 × 33 mmMemory card, the printed circuit board in 3D

    Memory card

    liaminventions/XPL-32

    All of the code and experiments for the XPL-32 Homebrew 6502 Laptop. Licensed under GNU GPL V3.

    11 parts4GPL-3.0
  • 2 layers48.3 × 34.6 mmMemory card, the printed circuit board in 3D

    Memory card

    liaminventions/XPL-32

    All of the code and experiments for the XPL-32 Homebrew 6502 Laptop. Licensed under GNU GPL V3.

    3 parts4GPL-3.0

Similar boards

  • 16 layers114.3 × 100 mmPlc77-glitcher, the printed circuit board in 3D

    Plc77-glitcher

    travisgoodspeed/plc77-glitcher

    Port of an antique smart card glitcher to modern Kicad.

    36 parts4
  • 2 layers162.9 × 178.9 mmAMPCD, the printed circuit board in 3D

    AMPCD

    jrsteensen/OpenHornet

    OpenHornet 1:1 F/A-18C Simulator Repository

    81 parts431
  • 2 layers177.2 × 114.3 mm8-Bit CPU 32k, the printed circuit board in 3D

    8-Bit CPU 32k

    slu4coder/Minimal-UART-Computer-1-2

    Legacy: Version 1 and 2 of my TTL-only CPU featuring UART I/O, an expansion port, 512KB SSD at up to 10MHz clock speed

    81 parts184
  • 2 layersEdrumulus, the printed circuit board in 3D

    Edrumulus

    corrados/edrumulus

    Open Source E-Drum Trigger Module

    81 parts163GPL-2.0
  • 2 layers64 × 55 mmZynthiandac bk2, the printed circuit board in 3D

    Zynthiandac bk2

    zynthian/zynthian-hw

    Zynthian hardware stuff: PCBs, schemes, parts specifications, pin assignment, ...

    81 parts156
  • 2 layersBD0027, the printed circuit board in 3D

    BD0027

    schlae/VapeRE

    Reverse engineered disposable v a p e boards

    81 parts136
  • 2 layers41.9 × 62.8 mmColumn, the printed circuit board in 3D

    Column

    AlaaSaadAbdo/Rommana

    A 30 key well powered by Xiao BLE

    81 parts105
  • 2 layers38.6 × 38.6 mmIotLedDriver, the printed circuit board in 3D

    IotLedDriver

    BerkeleyHCI/PolymorphicBlocks

    A Python-based hardware description language for PCBs for higher-level (block-diagram / system-architecture level) PCB design through libraries of directly reusable subcircuit generators.

    81 parts94BSD-3-Clause

Questions

How big is the XPL-32-rounded PCB?

It measures 323.8 × 91.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the XPL-32-rounded use?

81 parts, built around the 74HC00N and 74HC138N. 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 XPL-32-rounded KiCad files?

From the liaminventions/XPL-32 repository on GitHub, at the commit this page was made from: the board is PCB/kicad/xpl-32/XPL-32-rounded.kicad_pcb and its schematic PCB/kicad/sd/memory card.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the XPL-32-rounded 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).