Skip to the content
2 layers148.3 × 48 mmZxkbd, the printed circuit board in 3D

PS/2 keyboard controller for the ZX Spectrum

Size
148.3 × 48 mm
Copper layers
2
Thickness
1.6 mm
Parts
61
Nets
101
Pads
500
Tracks, vias
2,609, 297
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
5 Feb 2020
Updated
19 Mar 2020

Overview

Zxkbd is an open-source printed circuit board by jtsiomb, from the jtsiomb/zxkbd repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 148.3 × 48 mm with 61 parts on 101 nets, routed with 2,609 tracks and 297 vias.

It is built around the ATMEGA328P-AU, 74HC373D and 74HC30S, with the BC846 among its other parts. Its parts include 17 capacitors, 16 ICs, 9 resistors, 6 connectors and 3 switches. It belongs with the keyboards and input and retro computing and games boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

4

README

README.md

ZX Spectrum PS/2 keyboard controller

About

This project is an PS/2 keyboard controller for the ZX Spectrum. It makes it possible to connect and use an external PS/2 keyboard with the spectrum. It's based on the a500kbd code: https://github.com/jtsiomb/a500kbd

The PS/2 keyboard controller is built around an AVR atmega168 microcontroller. The firmware reads PS/2 keyboard scancodes, maintains a virtual spectrum keyboard state, and monitors the address bus to keep the data lines going into the ULA continuously up to date with the selected key row state.

NOTE: not done. check back soon.

License

Copyright (C) 2020 John Tsiombikas nuclear@member.fsf.org

You are free to use, reproduce, modify, redistribute any parts of this project, provided you make any derivative work you release, freely available under the same terms.

More specifically the hardware design is released under the Creative Commons Attribution Share-Alike license (see LICENSE.hw for details), and the software/firmware is released under the GNU General Public License v3, or later (see LICENSE.fw for details).

Parts

61
QtyValueFootprintReferences
120.1uFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC1, C2, C3, C4, C5, C6, C7, C8, C11, C15, C16, C17
874HC373Package_SO:SOIC-20W_7.5x12.8mm_P1.27mmU1, U7, U9, U10, U13, U14, U15, U16
64k7Resistor_SMD:R_Array_Convex_5x1206RN1, RN2, RN3, RN4, RN5, RN6
5470RResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR1, R2, R3, R4, R9
574HC30Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU2, U3, U4, U5, U6
475RResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR5, R6, R7, R8
3220uFCapacitor_SMD:CP_Elec_6.3x7.7C9, C10, C12
222pFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC13, C14
114.7456Crystal:Crystal_SMD_ECS_CSM3X-2Pin_7.6x4.1mmY1
1ATmega328P-AUPackage_QFP:TQFP-32_7x7mm_P0.8mmU12
1AVR_RSTButton_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mmSW3
1AY_INConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ3
1BC846Package_TO_SOT_SMD:SOT-23Q1
1ISPConnector_IDC:IDC-Header_2x03_P2.54mm_VerticalJ6
1LINEOUTzxkbd:cui_sj1-3525ngJ2
1MAGICButton_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mmSW2
1PS2CONNzxkbd:ps2connU11
1RESETButton_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mmSW1
1SCARTConnector_IDC:IDC-Header_2x05_P2.54mm_VerticalJ4
1SERIALConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ5
1TAPEConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ1
1pentagon_connzxkbd:pentconnU8

The 59 most common of 61 parts.

Similar boards

  • 4 layers184.2 × 169.5 mmSB mini II, the printed circuit board in 3D

    SB mini II

    simonboak/SB-mini-II

    A homebrewed Apple II clone

    97 parts76MIT
  • 2 layers177.8 × 130.8 mmDurango, the printed circuit board in 3D

    Durango

    zuiko21/minimOS

    Scalable OS for 6502/65816

    159 parts23MIT
  • 2 layers335 × 250 mmACE Board, the printed circuit board in 3D

    ACE Board

    acwright/6502-ACE

    6502-ACE 8-Bit Retro Computer Project

    205 parts12CERN-OHL-P-2.0
  • 2 layers100 × 100 mmHC MemoryBoard, the printed circuit board in 3D

    HC MemoryBoard

    nasu8151/HC4

    Schematics and board of HC4 E (E means "for Education").

    607 parts8
  • 2 layers99.4 × 99.6 mmM5 MemMapperSD, the printed circuit board in 3D

    M5 MemMapperSD

    DNMIAN/SORD_M5_MMSD

    SORD m5でROM/RAMメモリマッパー、SDの読み書きを実装します

    36 parts3MIT
  • 2 layers150 × 100 mmRp6502, the printed circuit board in 3D

    Rp6502

    clintonimaroo/Sketcha

    This is a Next.js project bootstrapped with create-next-app.

    55 parts
  • 2 layersCES, the printed circuit board in 3D

    CES

    erickpires/CES-PCB

    170 partsMIT
  • 4 layers99.9 × 99.9 mmSignal generator, the printed circuit board in 3D

    Signal generator

    Pejo-306/digital-function-generator-v2

    Цифров генератор на сигнали с тъчскрийн

    157 partsMIT

Questions

How big is the Zxkbd PCB?

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

What parts does the Zxkbd use?

61 parts, built around the ATMEGA328P-AU, 74HC373D, 74HC30S and BC846. 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 Zxkbd KiCad files?

From the jtsiomb/zxkbd repository on GitHub, at the commit this page was made from: the board is hw/zxkbd.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Zxkbd 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).