

Zxkbd
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
4ATMEGA328P-AU
TQFP-32(7x7)-40℃~+85℃ 1.8V~5.5V 10bit 1KB 20MHz 23 2KB 32KB 8 Bit AVR Built-in FLASH TQFP-32(7x7) Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)74HC373D
SOIC-20-300mil-40℃~+125℃ 10ns 12ns 2V~6V 5ns 7.8mA 7.8mA 74HC 8 8uA D Latch Tri-State SOIC-20-300mil Latches ROHSNexperiaLatches74HC30S
SOP-140℃~+60℃ 1 1.5V~4.2V 1.9V~5.9V 100mV 25ns@5.0V,15pF 2V~6V 5.2mA 5.2mA 5.5uA 500mV~1.8V 74HC Series 8 NAND Gate Push-pull SOP-14 Logic Gates ROHSGRLogic GatesBC846
SOT-23-65℃~+150℃ 1 NPN 100mA 110 15nA 250mW 400mV 65V 6V 770MHz NPN SOT-23 Bipolar (BJT) ROHSNexperiaBipolar (BJT)
README
README.mdZX 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| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | 0.1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C1, C2, C3, C4, C5, C6, C7, C8, C11, C15, C16, C17 |
| 8 | 74HC373 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U1, U7, U9, U10, U13, U14, U15, U16 |
| 6 | 4k7 | Resistor_SMD:R_Array_Convex_5x1206 | RN1, RN2, RN3, RN4, RN5, RN6 |
| 5 | 470R | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R1, R2, R3, R4, R9 |
| 5 | 74HC30 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U2, U3, U4, U5, U6 |
| 4 | 75R | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R5, R6, R7, R8 |
| 3 | 220uF | Capacitor_SMD:CP_Elec_6.3x7.7 | C9, C10, C12 |
| 2 | 22pF | Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C13, C14 |
| 1 | 14.7456 | Crystal:Crystal_SMD_ECS_CSM3X-2Pin_7.6x4.1mm | Y1 |
| 1 | ATmega328P-AU | Package_QFP:TQFP-32_7x7mm_P0.8mm | U12 |
| 1 | AVR_RST | Button_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mm | SW3 |
| 1 | AY_IN | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J3 |
| 1 | BC846 | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | ISP | Connector_IDC:IDC-Header_2x03_P2.54mm_Vertical | J6 |
| 1 | LINEOUT | zxkbd:cui_sj1-3525ng | J2 |
| 1 | MAGIC | Button_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mm | SW2 |
| 1 | PS2CONN | zxkbd:ps2conn | U11 |
| 1 | RESET | Button_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mm | SW1 |
| 1 | SCART | Connector_IDC:IDC-Header_2x05_P2.54mm_Vertical | J4 |
| 1 | SERIAL | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J5 |
| 1 | TAPE | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J1 |
| 1 | pentagon_conn | zxkbd:pentconn | U8 |
The 59 most common of 61 parts.
Similar boards
- 4 layers184.2 × 169.5 mm

- 2 layers177.8 × 130.8 mm

- 2 layers335 × 250 mm

- 2 layers100 × 100 mm

- 2 layers99.4 × 99.6 mm

- 2 layers150 × 100 mm

- 2 layers

- 4 layers99.9 × 99.9 mm

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).