Cbm keyboard
fachat·cbm_keyboard·PET-N/petkn.kicad_pcb
About the Cbm keyboard PCB
Cbm keyboard is an open source AVR/Arduino PCB design by fachat, published on GitHub. It is a 2-layer board measuring 386.1 × 102 mm, with 208 components from 91 distinct parts.
Its main chip is the ATMEGA32A-A, from the AVR/Arduino family. Other key parts include the LSF0204Q, 74HCT85, 74LS174, C2685355 and 74LS145. By type, the board carries 81 diodes, 76 switches, 33 capacitors, 9 ICs, 5 resistors and 3 connectors.
It belongs with the keyboards and retro computing designs in this gallery.
From the project
Keyboard replacement solutions for the Commodore PET
Note: this is a part of a larger set of repositories, with upet_family as the main repository.
This is part of a re-incarnation of the Commodore PET computer(s) from the later 1970s.
This repo shows how to build a keyboard for the Commodore PET, mainly for my own re-incarnation, but potentially for original PET as well (untested).
Keyboards can be seen in the PETindex keyboard section.

Main components on the Cbm keyboard
Cbm keyboard bill of materials (BOM)
208 components, 91 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | LSF0204Q | TSSOP-14_4.4x5mm_P0.65mm | U1 |
| 2 | ATMEGA32A-A ATmega32A-A | TQFP-44_10x10mm_P0.8mm | U2, U8 |
| 1 | 74HCT85 | SO-16_3.9x9.9mm_P1.27mm | U3 |
| 2 | 74LS174 | SO-16_3.9x9.9mm_P1.27mm | U4, U6 |
| 1 | C2685355 ~ | THB Miniature Thumbstick THB001P | U5 |
| 1 | 74LS145 | SO-16_3.9x9.9mm_P1.27mm | U7 |
| 1 | 74HCT00 | SOIC-14_3.9x8.7mm_P1.27mm | U9 |
| 1 | C5158780 ASE-xxxMHz | Oscillator_SMD_Abracon_ASE-4Pin_3.2x2.5mm | Y1 |
| 1 | Extended_PET_keyboard_connector | PET_Extended_Keyboard_Connector | J1 |
| 2 | AVR-ISP-6 | IDC-Header_2x03_P2.54mm_Vertical | J4, J7 |
| 1 | C5149201 KP "=" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW1 |
| 1 | C5149201 KP "." | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW2 |
| 1 | C5149201 NC ($10) | SW_Cherry_MX_1.25u_PCB_with_RGB_LED | SW3 |
| 1 | C5149201 STOP | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW4 |
| 1 | C5149201 "<" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW5 |
| 1 | C5149201 SPACE | SW_Cherry_MX_6.25u_PCB_with_RGB_LED | SW6 |
| 1 | C5149201 "[" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW7 |
| 1 | C5149201 OFF/RVS | SW_Cherry_MX_1.50u_PCB_with_RGB_LED | SW8 |
| 1 | C5149201 KP "-" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW9 |
| 1 | C5149201 KP "0" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW10 |
Show 71 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | C5149201 R SHIFT | SW_Cherry_MX_2.00u_PCB_with_RGB_LED | SW11 |
| 1 | C5149201 ">" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW12 |
| 1 | C5149201 "]" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW14 |
| 1 | C5149201 "@" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW15 |
| 1 | C5149201 L SHIFT | SW_Cherry_MX_2.00u_PCB_with_RGB_LED | SW16 |
| 1 | C5149201 KP "+" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW17 |
| 1 | C5149201 KP "2" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW18 |
| 1 | C5149201 "?" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW20 |
| 1 | C5149201 "," | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW21 |
| 1 | C5149201 "N" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW22 |
| 1 | C5149201 "V" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW23 |
| 1 | C5149201 "X" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW24 |
| 1 | C5149201 KP "3" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW25 |
| 1 | C5149201 KP "1" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW26 |
| 1 | C5149201 RETURN | SW_Cherry_MX_1.50u_PCB_with_RGB_LED | SW27 |
| 1 | C5149201 ";" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW28 |
| 1 | C5149201 "M" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW29 |
| 1 | C5149201 "B" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW30 |
| 1 | C5149201 "C" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW31 |
| 1 | C5149201 "Z" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW32 |
| 1 | C5149201 KP "*" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW33 |
| 1 | C5149201 KP "5" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW34 |
| 1 | C5149201 ":" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW36 |
| 1 | C5149201 "K" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW37 |
| 1 | C5149201 "H" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW38 |
| 1 | C5149201 "F" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW39 |
| 1 | C5149201 "S" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW40 |
| 1 | C5149201 KP "6" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW41 |
| 1 | C5149201 KP "4" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW42 |
| 1 | C5149201 "L" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW44 |
| 1 | C5149201 "J" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW45 |
| 1 | C5149201 "G" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW46 |
| 1 | C5149201 "D" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW47 |
| 1 | C5149201 "A" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW48 |
| 1 | C5149201 KP "/" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW49 |
| 1 | C5149201 KP "8" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW50 |
| 1 | C5149201 "P" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW52 |
| 1 | C5149201 "I" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW53 |
| 1 | C5149201 "Y" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW54 |
| 1 | C5149201 "R" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW55 |
| 1 | C5149201 "W" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW56 |
| 1 | C5149201 KP "9" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW57 |
| 1 | C5149201 KP "7" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW58 |
| 1 | C5149201 U ARROW | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW59 |
| 1 | C5149201 "O" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW60 |
| 1 | C5149201 "U" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW61 |
| 1 | C5149201 "T" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW62 |
| 1 | C5149201 "E" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW63 |
| 1 | C5149201 "Q" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW64 |
| 1 | C5149201 INS/DEL | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW65 |
| 1 | C5149201 UP/DOWN | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW66 |
| 1 | C5149201 NC ($0A) | SW_Cherry_MX_1.50u_PCB_with_RGB_LED | SW67 |
| 1 | C5149201 ")" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW68 |
| 1 | C5149201 "\" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW69 |
| 1 | C5149201 "'" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW70 |
| 1 | C5149201 "$" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW71 |
| 1 | C5149201 QUOTE | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW72 |
| 1 | C5149201 LEFT/RIGHT | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW73 |
| 1 | C5149201 CLR/HOME | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW74 |
| 1 | C5149201 B ARROW | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW75 |
| 1 | C5149201 "(" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW76 |
| 1 | C5149201 "&" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW77 |
| 1 | C5149201 "%" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW78 |
| 1 | C5149201 "#" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW79 |
| 1 | C5149201 "!" | SW_Cherry_MX_1.00u_PCB_with_RGB_LED | SW80 |
| 1 | C5149201 S LOCK | SW_Cherry_MX_1.50u_PCB_with_RGB_LED | SW320 |
| 81 | 1N4448 | D_SOD-323_HandSoldering | D1, D2, D3, D4, D5, D6, D7, D8 +73 |
| 22 | 100U 100u | C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C1, C2, C3, C4, C5, C6, C15, C16 +14 |
| 11 | 100N 100n | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C7, C8, C9, C10, C11, C12, C13, C14 +3 |
| 2 | 2K2 2k2 | R_0603_1608Metric | R1, R2 |
| 3 | 10K 10k | R_0603_1608Metric | R3, R4, R5 |
Cbm keyboard design files
The KiCad project lives in the fachat/cbm_keyboard repository on GitHub; these links point at the commit this page was built from.
Cbm keyboard: common questions
What microcontroller does the Cbm keyboard use?
The Cbm keyboard is built around the ATMEGA32A-A, from the AVR/Arduino family.
How big is the Cbm keyboard PCB?
The Cbm keyboard measures 386.1 × 102 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the Cbm keyboard?
208 components, from 91 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the Cbm keyboard design files?
From the fachat/cbm_keyboard repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.
Can I use the Cbm keyboard design in my own project?
The repository has no license, so all rights stay with fachat. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the Cbm keyboard 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
Magspoof
samyk
35 × 29 mm11 parts2LNo license4.2kAVR/Arduino
Redox keyboard
mattdibi
162.2 × 126.5 mm77 parts2LMIT2.0kAVR/Arduino
Labrador
espotek-org
36.8 × 34.7 mm75 parts2LNo license1.2kAVR/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.0k