Skip to the content
PCBKitNew board
2 layers100 × 100 mmDEV Board, the printed circuit board in 3D

6502-DEV 8-Bit Retro Computer Project

Size
100 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
46
Nets
111
Pads
397
Tracks, vias
1,026, 320
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
3 May 2026
Updated
7 Nov 2026

Overview

DEV Board is an open-source printed circuit board by acwright, from the acwright/6502-DEV repository on GitHub, published under the CERN-OHL-P-2.0 licence. It is a 2-layer board of 100 × 100 mm with 46 parts on 111 nets, routed with 1,026 tracks and 320 vias.

It is built around the TEENSY 4.1, SN74LVC4245APWRE4 and CR2032. Its parts include 11 resistors, 9 connectors, 8 capacitors, 6 ICs and 4 switches. It belongs with the retro computing and games and microcontroller boards boards and the NXP (LPC, Kinetis, i.MX RT) boards of this library.

Main components

3

README

README.md

6502-DEV

6502-DEV.png

An AC6502 retro-style 8-bit computer based on the 65C02 microprocessor.

📖 Guide: AC6502 Documentation — the user's and programmer's guide for the whole family. See DEV's page in the family appendix.


Building one? Every part you need, with supplier numbers and known issues, is in BOM.md.

Table of Contents


Overview

The AC6502 ecosystem is a family of open-source, 65C02-based computers sharing a common architecture, memory map, and BIOS. Each computer in the family is purpose-built for a different use case but runs the same software and firmware.

The DEV is an emulation-based development system. It replaces the physical 65C02 CPU with a Teensy 4.1 running cycle-accurate 65C02 emulation via vrEmu6502.

Architecture

All AC6502 computers share:

  • CPU: 65C02 (or accurate emulation)
  • Memory: 32KB RAM + 32KB ROM, with optional banked RAM expansion
  • Memory Map: Standardized across the ecosystem — zero page, stack, I/O space ($8000–$9FFF), system ROM, and interrupt vectors at $FFFA–$FFFF
  • Bus: 16-bit address bus, 8-bit bidirectional data bus, standard 65C02 control signals (RW, PHI2, RESET, IRQ, NMI, RDY, SYNC)
  • BIOS: A common BIOS provides the kernel, monitor, and BASIC interpreter across all systems

Systems

ProjectDescription
6502-ACEAll-in-one Computer Experience — A single board computer
6502-COBComputer On a Backplane — Modular desktop computer with expandable card slots
6502-DEVDevelopment Environment Vehicle — Emulation-based dev system (YOU ARE HERE)
6502-KIMKeypad Input Monitor - KIM-1 inspired minimal computer
6502-VCSVideo Computer System — Cartridge-based retro gaming console

Software

ProjectDescription
6502-BIOSThe shared BIOS (kernel, monitor, BASIC) for all AC6502 computers
6502-EMULATOREmulator for the whole family — desktop app, browser build, and a command line for scripted runs
6502-PRGTemplate project for writing assembly language programs
6502-CRTTemplate project for writing assembly language cartridges
6502-ASMAssembly language example programs and demos
6502-BASBASIC program listings
6502-WOZMONWozmon as a standalone ROM
6502-NOPAn all-NOP ROM, for probing a board during bring-up
6502-DOCSThe documentation site — the guide, the printable reference cards, branding and label artwork
cffsBuilds CompactFlash disk images for the BIOS filesystem
bastokTokenizes BASIC listings into .prg images, and back
bin2wozConverts a binary into a Wozmon serial upload

Hardware

This repository contains KiCad 7.0+ PCB designs for the two boards that make up the DEV system.

DEV Board

Hardware/DEV Board/

The main board hosting the Teensy 4.1. Provides 65C02 bus emulation, SD card storage, Ethernet, USB keyboard/joystick input, and hardware control buttons (Run/Stop, Step, Reset, Frequency). Includes a bus connector and card slot with level shifters for optional real hardware expansion.

DEV Output Board

Hardware/DEV Output Board/

The AV output board hosting a Teensy 4.0 and a 2.4" ILI9341 TFT LCD. Emulates a TMS9918A Video Display Processor and a MOS 6581 SID audio synthesizer, driven in real time via high-speed serial from the DEV Board. The DEV Board sends the same AV packets over USB at the same time, so a browser can render the output in parallel with this board — the two paths are simultaneous, not alternatives.

Which revision to make

Make the newest revision of a board, and check its label first. The table below gives each board's newest revision. A newer revision fixes what was found on the older ones. Every revision, old and new, is in REVISIONS.md, with what changed in each.

Each revision carries one of three labels:

  • Tested: This revision was built and tested.
  • Proven design: Not built at this revision, but its circuit is a tested revision's. The only changes are silkscreen text, part values, mounting holes, outline clean-up, capacitor pitch, socket outlines, a footprint swap with the same holes, a solder jumper's default, or tracks rerouted with DRC and the netlist check passing. A builder can treat it as tested.
  • Untested: The circuit, the power path or the layout changed in a way that only a built board proves, or the board has never been built at all.

BOM.md has the parts for every revision, and its known issues.

BoardNewest revisionLabelWhy
DEV Board1.0TestedBuilt and tested.
DEV Output Board1.1Proven designSilkscreen text only.

Firmware

This repository contains PlatformIO-based firmware for both boards.

DB Emulator

Firmware/DB Emulator/

Firmware for the Teensy 4.1 on the DEV Board. Provides:

  • Cycle-accurate 65C02 emulation
  • SD card ROM/cartridge/program loading and memory snapshots
  • Ethernet with mDNS (6502.local) and an embedded web control interface
  • USB keyboard and joystick support (Xbox 360/One)
  • AV packet output to both destinations at once — over USB to the browser (Web Serial API) and over hardware UART at 6 Mbps to the DOB Display
  • Serial terminal interface (115200 baud)
  • Hardware button control (Run/Stop, Step, Reset, Frequency)
  • Variable CPU clock speed

See Firmware/DB Emulator/README.md for setup and usage instructions.

DOB Display

Firmware/DOB Display/

Firmware for the Teensy 4.0 on the DEV Output Board. Provides:

  • TMS9918A VDP emulation (all four display modes, 256×192 active area)
  • MOS 6581 SID audio emulation (3 voices, ADSR envelopes, PWM audio output)
  • AV packet stream input at 6 Mbps over hardware UART from the DB Emulator (which also streams the same packets over USB to the browser)

See Firmware/DOB Display/README.md for setup and usage instructions.

CAD

CAD/

3D-printable enclosure parts and laser-cut top panels for the DEV system.

Board images are in CAD/Images/<Board>/Rev X/: Front.png and Back.png on white, and Front Transparent.png and Back Transparent.png with no background. Every image is a 3D render at the same size, with the black solder mask and white silkscreen the boards are made with. Bare-board photos may differ, because the renders show parts fitted.

Top panels are versioned by board revision, like Hardware/: CAD/Tops/<Board>/Rev X/. Each revision has its own complete folder, even when two revisions share the same files. Bases/ holds the parts for a whole computer, not for one board, so it isn't versioned.

The plate mounting drawing (SVG) shows where the DEV Board and the DEV Output Board mount on the base plate, with every hole's position and the hardware the build needs. The plate is a stack of three 3 mm acrylic layers.

Production

Production/

REVISIONS.md lists every board revision: whether it was made, its JLCPCB order, the commit it was made from, and what fits it.

JLCPCB-ready Gerber files and BOM/CPL for PCB fabrication and assembly.

Schematics

Schematics/

PDF schematics for each board.

Shared lines

Five lines of the 6502 bus are shared by every board on it: RESB, IRQB, NMIB, RDY and BE. A board may pull one of these lines low, and nothing drives one high. Each line is held high by one 10kΩ pull-up resistor to VCC, on the board with the CPU: the ACE Board, the KIM Board, the VCS Main Board, the COB CPU Card or CPU Card Pro, or the DEV Board. No other board has one. Two pull-ups on the same line would sit in parallel and lower its resistance, so a card that adds its own pull-up changes the machine for every other board. The VIAs and PIAs in the BOMs, the W65C22N and W65C21N, have open-drain interrupt outputs for this reason. A W65C22S drives IRQB high as well as low, so it can't share the line without a diode.

The same holds where a board has its own reset circuit. A reset switch, its timer and the transistor that pulls RESB low can be on any board, such as the COB Backplane Pro or the Clock Card, but the RESB pull-up is only ever on the board with the CPU. Each of those boards draws its pull-ups together, in one group on its schematic.

SOB is a CPU pin that isn't on the bus. It is tied to VCC, directly or through a 10kΩ resistor.

A few chips have a pull-up of their own inside the chip, such as an ATmega's reset pin. Where such a pin is wired to RESB, its pull-up of 30–60kΩ sits in parallel with the 10kΩ one. That's harmless, because whatever pulls RESB low can sink the extra current many times over.

A revision that doesn't follow this yet says so in its known issues in BOM.md, with what to fit or remove.

Extra pins: EXP0–EXP3 and HRDB

EXP stands for "extra pin". Four pins of the 6502 bus are left for a builder's own use: pin 4 is EXP1, pin 6 is EXP0, pin 19 is EXP3 and pin 21 is EXP2.

Pins 4 and 6 have a second job. A cartridge ties both of them to GND. That pulls HRDB ("High ROM disable bar", active low) low on the board with the ROM, which takes $C000–$FFFF away from the ROM so that the cartridge answers there instead. So in a build that uses cartridges, pins 4 and 6 are reserved for HRDB, and nothing else may drive them. They are free as EXP1 and EXP0 only in a build that never uses cartridges. EXP2 and EXP3 are always free.

How the boards treat pins 4 and 6:

  • The ACE Board and the KIM Board join them to their ROM's HRDB input, and their silk says HRDB. The VCS Main Board joins them the same way from Rev 1.1.
  • The COB Memory Card joins them to its HRDB only through jumpers: fit two shunts on J2, or bridge JP1 and JP2, in a COB that takes cartridges. It is the only board with these jumpers, because the COB is the experimenter's build. The VCS Main Board Rev 1.0 had them too (J5, or JP3 and JP4); fit them, because the VCS always takes cartridges.
  • A cartridge (the ROM Cart, the Flash Cart, the KIM Keypad Card) ties them to GND.
  • A board that only carries the bus through, such as a backplane or a helper, calls them EXP1 and EXP0, as its silk does, and a note on its schematic says what they carry.

Jumpers

None of this repository's boards has a jumper.

Off-board headers

Some boards have small headers, such as RESET SW, CLOCK ENBL SW, POWER LED and VCC, that a standard build leaves empty. They are for a machine built into a full enclosure, which AC6502 doesn't offer today. In such a build, the parts a person handles are mounted on the case and wired to the board through these headers: the power jack, the switches, the LEDs and the keyboard. The matching parts on the board are then left off. For example, an ACE Board can sit inside a case with its power jack, power switch and key switches left off, and a Keyboard Helper as its keyboard.

To build a board for a case:

  1. Fit the header, and wire the part on the case to it. The table says what goes on each pin.
  2. Leave off the parts on the board that the table names. A button on the case can work beside the board's own button, but some parts, such as an LED that shares the board's resistor, can't share.
  3. Set any jumper the table mentions. The Jumpers section has the rest.

The connector follows the kind of build. A single-board machine, the ACE Board or the KIM Board, uses plain 2.54 mm pin headers, which are simpler and cheaper. A board in a multi-board machine, every COB board and the separate boards of the VCS, the DEV and the KIM, uses JST XH, the family's standard for these headers.

The table lists every off-board header on each board's newest revision, read from the board's PCB file.

BoardRevHeaderLabelConnectorWhat it's forLeave off
DEV Board1.0J3PANELPin header, 2×4, 2.54 mmFour buttons on the case, each between its pin and ground: Run/Stop on pin 1, Step on pin 3, Clock on pin 5 and Reset on pin 7. Pins 2, 4, 6 and 8 are ground. Each button is wired across one of SW1–SW4, the board's own buttons.SW1–SW4, if the case covers them. Both sets of buttons work if they stay.

Libraries

Libraries/

Shared KiCad symbol and footprint libraries used across all AC6502 hardware projects, with their 3D models in Models/. A part is named for what it is and its shape, such as RJ45 Jack LED or CR2032 Holder, never for a manufacturer's part number, so a replacement part with the same footprint fits without renaming anything. The part numbers to buy are in BOM.md. Every AC6502 repository carries the same copy of each part.

Bill of Materials

Every part for every board, by revision, is in BOM.md, with supplier numbers, known issues, build notes and files to upload to Digi-Key and Mouser. What changed in each revision, and what is known about each one, is in REVISIONS.md.

License

Hardware designs are released under the CERN Open Hardware Licence Version 2 – Permissive.
Firmware is released under the MIT License — DB Emulator, DOB Display.

Parts

46
QtyValueFootprintReferences
8100nFCapacitor_SMD:C_0805_2012MetricC1, C2, C3, C4, C5, C6, C7, C8
5SN74LVC4245APWRPackage_SO:TSSOP-24_4.4x7.8mm_P0.65mmU1, U2, U3, U5, U6
410kResistor_SMD:R_0805_2012MetricR1, R2, R3, R4
41kResistor_SMD:R_0805_2012MetricR5, R6, R7, R8
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
256kResistor_SMD:R_0805_2012MetricR9, R10
1150Resistor_SMD:R_0805_2012MetricR11
16502 Bus6502 Parts:6502 Bus ConnectorJ5
16502 Card Connector6502 Parts:6502 Card SlotJ4
1CR20326502 Parts:CR2032 HolderBT1
1Clock6502 Parts:Tact Switch SMD 5.1mmSW3
1ETHERNETConnector_PinHeader_2.00mm:PinHeader_2x03_P2.00mm_VerticalJ9
1LOGO6502 Logos:6502 Dev Board Logo 4mmG***
1LOGOA.C. Wright Logo:A.C. Wright Logo 10mmG***
1PANELConnector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_VerticalJ3
1RJ45_LED6502 Parts:RJ45 Jack LEDJ8
1Reset6502 Parts:Tact Switch SMD 5.1mmSW4
1Run/Stop6502 Parts:Tact Switch SMD 5.1mmSW1
1SPIConnector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_VerticalJ2
1Step6502 Parts:Tact Switch SMD 5.1mmSW2
1Teensy4.16502 Parts:Teensy41U4
1USB HOSTConnector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ7
1USB HostConnector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J6
1VBATConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ1

The 45 most common of 46 parts.

Questions

How big is the DEV Board PCB?

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

What parts does the DEV Board use?

46 parts, built around the TEENSY 4.1, SN74LVC4245APWRE4 and CR2032. 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 DEV Board KiCad files?

From the acwright/6502-DEV repository on GitHub, at the commit this page was made from: the board is Hardware/DEV Board/Rev 1.0/DEV Board.kicad_pcb and its schematic Hardware/DEV Board/Rev 1.0/DEV Board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the DEV Board design in my own project?

Its repository publishes it under the CERN-OHL-P-2.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).

More from acwright/6502-DEV

2
  • 2 layers100 × 100 mmDEV Output Board, the printed circuit board in 3D

    DEV Output Board

    acwright/6502-DEV

    6502-DEV 8-Bit Retro Computer Project

    14 parts2CERN-OHL-P-2.0
  • 2 layers100 × 100 mmDEV Output Board, the printed circuit board in 3D

    DEV Output Board

    acwright/6502-DEV

    6502-DEV 8-Bit Retro Computer Project

    14 parts2CERN-OHL-P-2.0

Similar boards

  • 2 layers56.6 × 57.7 mmQuack, the printed circuit board in 3D

    Quack

    demik/quack

    Bluetooth and ADB Mouse Converter for Macintosh 128/512/Plus, Apple Lisa and Apple IIc

    52 parts21Apache-2.0
  • 4 layers84 × 51 mmA500-sd plus controller, the printed circuit board in 3D

    A500-sd plus controller

    Mathesar/a500-sd-plus-controller

    SD-card plus Ethernet controller for the Amiga 500

    84 parts18
  • 2 layers262.5 × 107.9 mmCommodore pet clone, the printed circuit board in 3D

    Commodore pet clone

    DLehenbauer/commodore-pet-clone

    Open hardware clone of the Commodore PET 4032

    316 parts13CC0-1.0
  • 2 layers330 × 300 mmMelbourne Live Train Map, the printed circuit board in 3D

    Melbourne Live Train Map

    CDFER/Melbourne-Live-Train-Map

    A curcuit board with RGB leds to show the live position of trains in Melbourne!

    1,260 parts5GPL-3.0
  • 6 layers101.8 × 80.5 mmSN-64, the printed circuit board in 3D

    SN-64

    FantomZap/SN-64

    Snes games on the n64 or m64

    410 parts1
  • 4 layers160 × 161.8 mmAcquisition board, the printed circuit board in 3D

    Acquisition board

    open-ephys/oe-acquisition-board-gen3

    3rd Generation Open Ephys USB Acquisition Board

    360 parts1
  • 2 layers249 × 69.5 mmHelsinki LED Train Map, the printed circuit board in 3D

    Helsinki LED Train Map

    CDFER/helsinki-live-train-map

    A physical, real-time LED map of the Auckland train network, powered by an ESP32-C3 microcontroller. Train movements are displayed using addressable RGB LEDs, with live data fetched over Wi-Fi.

    441 partsMIT
  • 4 layers74.1 × 99.3 mmController, the printed circuit board in 3D

    Controller

    Choccy-vr/BeanBike

    A DIY eBike display and controller.

    78 parts