Zxkbd
jtsiomb·zxkbd·hw/zxkbd.kicad_pcb
About the Zxkbd PCB
Zxkbd is an open source AVR/Arduino PCB design by jtsiomb, published on GitHub under the GPL-3.0 license. It is a 2-layer board measuring 148.3 × 48 mm, with 59 components from 22 distinct parts.
Its main chip is the ATmega328P-AU, from the AVR/Arduino family. Other key parts include the 74HC373, 74HC30, pentagon_conn and PS2CONN. By type, the board carries 17 capacitors, 16 ICs, 15 resistors, 6 connectors, 3 switches and 1 transistor.
It belongs with the keyboards and test & measurement designs in this gallery.
From the project
PS/2 keyboard controller for the ZX Spectrum
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.
Main components on the Zxkbd
Zxkbd bill of materials (BOM)
59 components, 22 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 8 | 74HC373 | SOIC-20W_7.5x12.8mm_P1.27mm | U1, U7, U9, U10, U13, U14, U15, U16 |
| 5 | 74HC30 | SOIC-14_3.9x8.7mm_P1.27mm | U2, U3, U4, U5, U6 |
| 1 | pentagon_conn | pentconn | U8 |
| 1 | PS2CONN | ps2conn | U11 |
| 1 | ATmega328P-AU | TQFP-32_7x7mm_P0.8mm | U12 |
| 1 | BC846 | SOT-23 | Q1 |
| 1 | 14.7456 | Crystal_SMD_ECS_CSM3X-2Pin_7.6x4.1mm | Y1 |
| 1 | TAPE | PinHeader_1x03_P2.54mm_Vertical | J1 |
| 1 | LINEOUT | cui_sj1-3525ng | J2 |
| 1 | AY_IN | PinHeader_1x03_P2.54mm_Vertical | J3 |
| 1 | SCART | IDC-Header_2x05_P2.54mm_Vertical | J4 |
| 1 | SERIAL | PinHeader_1x04_P2.54mm_Vertical | J5 |
| 1 | ISP | IDC-Header_2x03_P2.54mm_Vertical | J6 |
| 1 | RESET | SW_Push_1P1T_NO_6x6mm_H9.5mm | SW1 |
| 1 | MAGIC | SW_Push_1P1T_NO_6x6mm_H9.5mm | SW2 |
| 1 | AVR_RST | SW_Push_1P1T_NO_6x6mm_H9.5mm | SW3 |
| 12 | 0.1uF | C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C1, C2, C3, C4, C5, C6, C7, C8 +4 |
| 3 | 220uF | CP_Elec_6.3x7.7 | C9, C10, C12 |
| 2 | 22pF | C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C13, C14 |
| 5 | 470R | R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R1, R2, R3, R4, R9 |
Show 2 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 4 | 75R | R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R5, R6, R7, R8 |
| 6 | 4k7 | R_Array_Convex_5x1206 | RN1, RN2, RN3, RN4, RN5, RN6 |
Zxkbd design files
The KiCad project lives in the jtsiomb/zxkbd repository on GitHub; these links point at the commit this page was built from.
- Layouthw/zxkbd.kicad_pcb
Zxkbd: common questions
What microcontroller does the Zxkbd use?
The Zxkbd is built around the ATmega328P-AU, from the AVR/Arduino family.
How big is the Zxkbd PCB?
The Zxkbd measures 148.3 × 48 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the Zxkbd?
59 components, from 22 distinct parts. The full bill of materials is listed on this page.
Where can I download the Zxkbd design files?
From the jtsiomb/zxkbd repository on GitHub, which has the KiCad layout; the links under Design files point to each one.
Can I use the Zxkbd design in my own project?
Yes, under the terms of its GPL-3.0 license, which jtsiomb chose for the repository.
Can I test firmware for the Zxkbd without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug AVR/Arduino firmware against it before you order a PCB.
Similar boards
AVR/Arduino
Redox keyboard
mattdibi
162.2 × 126.5 mm77 parts2LMIT2.0kAVR/Arduino
V4
stuartpittaway
30 × 50 mm38 parts2LCC-BY-NC-4.01.1kAVR/Arduino
ModuleV450
stuartpittaway
30 × 61.4 mm39 parts2LCC-BY-NC-4.01.1kAVR/Arduino
Discipline
coseyfannitutti
304.9 × 122.8 mm170 parts2LCC-BY-NC-4.01.0kAVR/Arduino
Megadesk
gcormier
41.7 × 32.2 mm23 parts2LGPL-3.0818AVR/Arduino
Easyduino Atmega
Hanqaqa
68.8 × 53.6 mm35 parts4LCERN-OHL-P-2.0746