Skip to the content
PCBKitNew board
2 layers254 × 160 mmDeck65, the printed circuit board in 3D

Simple SBC based on 65c02s

Size
254 × 160 mm
Copper layers
2
Thickness
1.6 mm
Parts
183
Nets
202
Pads
920
Tracks, vias
386, 0
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
19 Feb 2023
Updated
28 Nov 2023

Overview

Deck65 is an open-source printed circuit board by and3rson, from the and3rson/deck65 repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 254 × 160 mm with 183 parts on 202 nets, routed with 386 tracks and 0 vias.

It is built around the ATF16V8B-15PU, ATMEGA328-PU and 74LS670, with the 24LC512-I/P, 74HC00D and 74HC14 among its other parts. Its parts include 48 diodes, 48 switches, 21 capacitors, 15 connectors and 12 resistors. It belongs with the computers and single-board computers and retro computing and games boards and the ESP8266, AVR (ATmega, ATtiny) and FPGA and CPLD boards of this library.

Main components

12

README

README.md

Deck65

Homebrew 6502-based single-board computer with WiFi, built-in mechanical keyboard, uSD card adapter, I2C/SPI, EEPROM, & RTC.

Deck65 SBC Deck65 SBC Deck65 SBC

Pull with git pull --recurse-submodules.

Memory map

text
+--------------+-------+------------------+------+------------------------------------------+
| RANGE        | TYPE  | ADDR             | SIZE | Notes                                    |
+--------------+-------+------------------+------+------------------------------------------+
| $0000..$0FFF | RAM   | 0000------------ | 32 K | /EN = A15                                |
| $1000..$1FFF |       | 0001------------ |      | $0000..$1000 - zeropage & video buffer   |
| $2000..$2FFF |       | 0010------------ |      | $1000..$7FFF - programs from SD Card     |
| $3000..$3FFF |       | 0011------------ |      |                                          |
| $4000..$4FFF |       | 0100------------ |      |                                          |
| $5000..$5FFF |       | 0101------------ |      |                                          |
| $6000..$6FFF |       | 0110------------ |      |                                          |
| $7000..$7FFF |       | 0111------------ |      |                                          |
+--------------+-------+------------------+------+------------------------------------------+
| $8000..$8FFF | LOROM | 1000------------ | 16 K | /EN = NAND(A15, NAND(A14))               |
| $9000..$9FFF |       | 1001------------ |      | Contains OS ("MicroREPL")                |
| $A000..$AFFF |       | 1010------------ |      |                                          |
| $B000..$BFFF |       | 1011------------ |      |                                          |
+--------------+-------+------------------+------+------------------------------------------+
| $C000..$CFFF | N/C   | 1100------------ | 4 K  | Unused, may add extra '138 with /GA=/A13 |
+--------------+-------+------------------+------+------------------------------------------+
| $D000..$DFFF | I/O   | 1101------------ | 4 K  | G = A12, /GA = A13, /GB = NAND(A15, A14) |
|              |       | 1101-000-------- | 256B | $D000..$D0FF - RAM banking register      |
|              |       | 1101-001-------- | 256B | $D100..$D1FF - 6522 VIA                  |
|              |       | 1101-010-------- | 256B | $D200..$D2FF - 6551 ACIA                 |
|              |       | 1101-011-------- | 256B | $D300..$D3FF - T6963C LCD (240x64)       |

Features

  • W65C02, 512 KB RAM (32KB visible to CPU, banked into 4 x 8 KB segments)

  • 240x64 LCD display (T6963C)

  • Built-in mechanical PS/2 keyboard, powered by ATmega328P

  • Internet! Works through ESP-01

  • VIA W65C22N(6TPG-14)

    Provides:

    • SPI (used for Micro SD Card adapter)
    • I2C (used for RTC & EEPROM)
    • PS/2 host (used for built-in or external keyboard)
  • ACIA W65C51N(6TPG-14)n

    Provides:

    • Communication with ESP-01
    • Communication with external devices through pin header

    Note: I'm using NMOS-compatible versions of VIA & ACIA (N suffix) with open-drain /IRQ line.
    See http://archive.6502.org/datasheets/wdc_w65c22_sep_13_2010.pdf (page 25) for more details.

  • Address decoder & underclocking - ATF16V8B-15PU

    Main crystal is 16 MHz, and the CPU runs at either 8 MHz or 2 MHz.
    Reason for this is that T6963C LCD can only operate on up to 2.75 MHz.
    So when CPU needs to acccess the LCD, ATF16V8 divides clock speed by 4, bringing it down to 2 MHz.
    This is done by implementing a 2-bit counter using registered outputs.

  • Memory banking: 74LS670

    Entire RAM (first 32 KB) is divided into 4 x 8 KB segments.
    Each segment can use one of its own 16 banks.
    This allows to selectively bank parts of RAM in and out.
    Using a machine-tooled socket actually allows to connect JCO-8 or JCO-14 oscillators.

  • Traco Power TSR 1-2450 (drop-in replacement for 7805)

    It runs much cooler than L7805 since it's a switching regulator.
    I use them a lot, although they are not as cheap as 7805.

V2.0 schematic: 65c02s SBC PCB

ROM

Kernel code currently provides the following features:

  • Simple REPL shell to monitor memory & run programs
  • 128x64 LCD (through VIA)
  • PS/2 keyboard (through VIA)
  • Micro SD Card in SPI mode (through VIA)
  • I2C & SPI support
  • Basic FAT16 support - listing root folder, loading/executing programs

Resources

So what can you do with it?

Playing snake, for example:

Snake on 65C02 SBC

Credits & references

Links

Parts

183
QtyValueFootprintReferences
481N4001Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25 +32
48SW_Pushfootprints:SW_PG1350SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23, SW24, SW25 +32
12MountingHolemy:Hole_2x3.5MH1, MH2, MH3, MH4, MH5, MH6, MH7, MH8, MH9, MH10, MH11, MH12
70.1uFfootprints:C_Disc_LongC1, C7, C8, C10, C11, C12, C13
510KResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR9, R10, R11, R13, R16
40.1uFfootprints:C_Disc_VeryLongC2, C4, C14, C15
2100uFCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC17, C19
210uFCapacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mmC3, C5
21KResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P2.54mm_VerticalR6, R8
222pFCapacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mmC26, C27
25KResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR14, R15
274LS670Package_DIP:DIP-16_W7.62mm_SocketU4, U8
2KeyboardConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ9, J10
10,1uFCapacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mmC25
10.1uFCapacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mmC9
11.8432 MHzmy:Oscillator_DIP-8-14X2
110KPotentiometer_THT:Potentiometer_Bourns_3296Y_VerticalRV1
110uFCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC18
116 MHzmy:Oscillator_DIP-8-14X1
120KResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR7
122uFCapacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mmC6
124LC512Package_DIP:DIP-8_W7.62mm_SocketU6
12N7000Package_TO_SOT_THT:TO-92_InlineQ1
1300Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR12
132.768 KHzCrystal:Crystal_C26-LF_D2.1mm_L6.5mm_HorizontalY1
13K3Resistor_THT:R_Array_SIP6RN1
15KResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P2.54mm_VerticalR17
174HC00Package_DIP:DIP-14_W7.62mm_SocketU5
174HC138Package_DIP:DIP-16_W7.62mm_SocketIO1
174HC14Package_DIP:DIP-14_W7.62mm_SocketU2
1AMS1117Package_TO_SOT_SMD:SOT-223-3_TabPin2U1
1AS6C4008Package_DIP:DIP-32_W15.24mm_SocketRAM1
1ATF16V8B-15PUPackage_DIP:DIP-20_W7.62mm_SocketU3
1ATmega328-PPackage_DIP:DIP-28_W7.62mm_SocketU11
1CR2032my:BatteryHolder_CR2032BT1
1ControlConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ6
1CrystalCrystal:Crystal_HC49-U_VerticalY2
1DS1307N+Package_DIP:DIP-8_W7.62mm_SocketU7
1DS1813Package_TO_SOT_THT:TO-92RES1
1ESP-01-v2my:ESP-01U10
1I2C1Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ5
1Jack-DCmy:BarrelJackEdgeJ1
1LCDmy:LCD24064_silkH1
1LCD_ConnConnector_PinHeader_2.54mm:PinHeader_2x11_P2.54mm_VerticalJ8
1Mini-DIN-6Custom_Footprints:Connector_Mini-DIN_Female_6Pin_2rowsP1
1Net LEDConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ15
1PowerConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ11
1Pwr LEDConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ13
1Res LEDConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ14
1ResetConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ12
1TSC 1-2450Package_TO_SOT_THT:TO-220-3_VerticalREG1
1UARTConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3
1VIA_AConnector_PinHeader_2.54mm:PinHeader_2x06_P2.54mm_VerticalJ2
1W27C512my:ZIF28ROM1
1W65C02S6TPGPackage_DIP:DIP-40_W15.24mm_SocketCPU1
1W65C22N6TPGPackage_DIP:DIP-40_W15.24mm_SocketVIA1
1W65C51N6TPGPackage_DIP:DIP-28_W15.24mm_SocketACIA1
1uSDmy:MicroSD-AdapterJ7

Questions

How big is the Deck65 PCB?

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

What parts does the Deck65 use?

183 parts, built around the ATF16V8B-15PU, ATMEGA328-PU, 74LS670 and 24LC512-I/P. 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 Deck65 KiCad files?

From the and3rson/deck65 repository on GitHub, at the commit this page was made from: the board is kicad/main.kicad_pcb and its schematic kicad/expansion.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Deck65 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 layers81.5 × 76.2 mmPld test, the printed circuit board in 3D

    Pld test

    gcoonrod/retro-stack

    A retro computer project based on stackable PCB boards.

    39 partsApache-2.0
  • 2 layers149.9 × 74.9 mmAbn6502, the printed circuit board in 3D

    Abn6502

    kitspace-test-repos/kicad6-file-collection

    93 partsMIT
  • 2 layers100 × 100 mmCaveboard, the printed circuit board in 3D

    Caveboard

    and3rson/caveboard

    https://youtu.be/Klj2Q3trmW8

    44 parts12MIT
  • 2 layers50 × 100 mmLB-68B50-02, the printed circuit board in 3D

    LB-68B50-02

    land-boards/lb-boards

    land-boards - Board Designs

    14 parts31
  • 2 layers208 × 110 mm8 16 computer 2, the printed circuit board in 3D

    8 16 computer 2

    halfburnttoast/TCPU816-v1

    Version 1.1 of my 8-bit, TTL computer.

    120 parts21
  • 2 layers225.1 × 167.8 mm6502 computer, the printed circuit board in 3D

    6502 computer

    jp0409hlh/6502_computer

    A computer based on Ben Eater's 6502 series

    81 parts7
  • 2 layers234 × 100 mmV2b, the printed circuit board in 3D

    V2b

    KITTY-6502/hardware

    the KITTY is a 65c02 homebrew kit microcomputer designed around text mode graphics and cartridge media. It is fully open source, and uses exclusively in-production parts.

    147 parts
  • 2 layers295 × 195 mmTB04addr8bit copy, the printed circuit board in 3D

    TB04addr8bit copy

    Myuu1967/TB-04

    4bitCPU(TB-04)に関するリポジトリです

    307 parts