HacKeyboard
masaleiro·HacKeyboard·Electronics/keyboard.kicad_pcb
About the HacKeyboard PCB
HacKeyboard is an open source PIC PCB design by masaleiro, published on GitHub. It is a 2-layer board measuring 337.8 × 118.4 mm, with 250 components from 108 distinct parts.
Its main chip is the PIC18F4550_TQFP44, from the PIC family. Other key parts include the MICRO-B_USB_CHG, MICRO-B_USB_HUB, MAX682 and 24AA512. By type, the board carries 89 switches, 89 diodes, 27 LEDs, 27 resistors, 7 capacitors and 5 ICs.
It belongs with the keyboards designs in this gallery.
From the project
Open hardware mechanical keyboard
Open hardware mechanical keyboard, by Mário Saleiro
HacKeyboard is a mechanical keyboard built from scratch using SMK Alps Mount switches from an old Monterey K108 keyboard and Alps compatible keycaps from an old NGS keyboard.
It has several features that are not usually found in commercial keyboards: - Internal keylogger; - Macro recording capabilites; - Internal USB Hub 2.0; - Internal (hidden) 8GB flash drive; - Micro USB Port for connecting peripherals; - Customizable LED colors; - Customizable LED effects;
Main components on the HacKeyboard
HacKeyboard bill of materials (BOM)
250 components, 108 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | MICRO-B_USB_CHG | MICRO-B_USB | U1 |
| 1 | MICRO-B_USB_HUB | MICRO-B_USB | U2 |
| 1 | PIC18F4550_TQFP44 | TQFP44 | U3 |
| 1 | MAX682 | SO8E | U4 |
| 1 | 24AA512 | so-8 | U5 |
| 1 | 20MHz | HC-49V | X1 |
| 1 | PROG_CONN | PIN_ARRAY_5x1 | P2 |
| 2 | CONN_4 | PIN_ARRAY_4x1 | P3, P5 |
| 2 | CONN_2 | PIN_ARRAY_2X1 | P4, P6 |
| 1 | ESC | ALPS-SWITCH | SW1 |
| 1 | SLASH | ALPS-SWITCH | SW2 |
| 1 | TAB | ALPS-SWITCH | SW3 |
| 1 | CAPS LOCK | ALPS-SWITCH | SW4 |
| 1 | LEFT SHIFT | ALPS-SWITCH | SW5 |
| 1 | LEFT CONTROL | ALPS-SWITCH | SW6 |
| 1 | 1 | ALPS-SWITCH | SW7 |
| 1 | Q | ALPS-SWITCH | SW8 |
| 1 | A | ALPS-SWITCH | SW9 |
| 1 | SMALLER GREATER | ALPS-SWITCH | SW10 |
| 1 | LEFT SUPER | ALPS-SWITCH | SW11 |
Show 88 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | SW_PUSH | SW_PUSH_SMALL | SW12 |
| 1 | F1 | ALPS-SWITCH | SW14 |
| 1 | 2 | ALPS-SWITCH | SW15 |
| 1 | W | ALPS-SWITCH | SW16 |
| 1 | S | ALPS-SWITCH | SW17 |
| 1 | Z | ALPS-SWITCH | SW18 |
| 1 | LEFT ALT | ALPS-SWITCH | SW19 |
| 1 | F2 | ALPS-SWITCH | SW20 |
| 1 | 3 | ALPS-SWITCH | SW21 |
| 1 | E | ALPS-SWITCH | SW22 |
| 1 | D | ALPS-SWITCH | SW23 |
| 1 | X | ALPS-SWITCH | SW24 |
| 1 | F3 | ALPS-SWITCH | SW25 |
| 1 | 4 | ALPS-SWITCH | SW26 |
| 1 | R | ALPS-SWITCH | SW27 |
| 1 | F | ALPS-SWITCH | SW28 |
| 1 | C | ALPS-SWITCH | SW29 |
| 1 | F4 | ALPS-SWITCH | SW30 |
| 1 | 5 | ALPS-SWITCH | SW31 |
| 1 | T | ALPS-SWITCH | SW32 |
| 1 | G | ALPS-SWITCH | SW33 |
| 1 | V | ALPS-SWITCH | SW34 |
| 1 | F5 | ALPS-SWITCH | SW35 |
| 1 | 6 | ALPS-SWITCH | SW36 |
| 1 | Y | ALPS-SWITCH | SW37 |
| 1 | H | ALPS-SWITCH | SW38 |
| 1 | B | ALPS-SWITCH | SW39 |
| 1 | SPACEBAR | ALPS-SWITCH | SW40 |
| 1 | F6 | ALPS-SWITCH | SW41 |
| 1 | 7 | ALPS-SWITCH | SW42 |
| 1 | U | ALPS-SWITCH | SW43 |
| 1 | J | ALPS-SWITCH | SW44 |
| 1 | N | ALPS-SWITCH | SW45 |
| 1 | F7 | ALPS-SWITCH | SW46 |
| 1 | 8 | ALPS-SWITCH | SW47 |
| 1 | I | ALPS-SWITCH | SW48 |
| 1 | K | ALPS-SWITCH | SW49 |
| 1 | M | ALPS-SWITCH | SW50 |
| 1 | F8 | ALPS-SWITCH | SW51 |
| 1 | 9 | ALPS-SWITCH | SW52 |
| 1 | O | ALPS-SWITCH | SW53 |
| 1 | L | ALPS-SWITCH | SW54 |
| 1 | COMMA | ALPS-SWITCH | SW55 |
| 1 | RIGHT ALT | ALPS-SWITCH | SW56 |
| 1 | F9 | ALPS-SWITCH | SW57 |
| 1 | 0 | ALPS-SWITCH | SW58 |
| 1 | P | ALPS-SWITCH | SW59 |
| 1 | Ç | ALPS-SWITCH | SW60 |
| 1 | DOT | ALPS-SWITCH | SW61 |
| 1 | RIGHT SUPER | ALPS-SWITCH | SW62 |
| 1 | F10 | ALPS-SWITCH | SW63 |
| 1 | INTERROGATION | ALPS-SWITCH | SW64 |
| 1 | ASTAR | ALPS-SWITCH | SW65 |
| 1 | SUPERSCRIPT | ALPS-SWITCH | SW66 |
| 1 | HIPHEN | ALPS-SWITCH | SW67 |
| 1 | F11 | ALPS-SWITCH | SW68 |
| 1 | DOUBLE ARROWS | ALPS-SWITCH | SW69 |
| 1 | ACCENTS | ALPS-SWITCH | SW70 |
| 1 | TILDE | ALPS-SWITCH | SW71 |
| 1 | MENU | ALPS-SWITCH | SW72 |
| 1 | F12 | ALPS-SWITCH | SW73 |
| 1 | RETURN | ALPS-SWITCH | SW74 |
| 1 | ENTER | ALPS-SWITCH | SW75 |
| 1 | RIGHT SHIFT | ALPS-SWITCH | SW76 |
| 1 | RIGHT CONTROL | ALPS-SWITCH | SW77 |
| 1 | PRINT SCREEN | ALPS-SWITCH | SW78 |
| 1 | INSERT | ALPS-SWITCH | SW79 |
| 1 | DELETE | ALPS-SWITCH | SW80 |
| 1 | LEFT ARROW | ALPS-SWITCH | SW81 |
| 1 | SCROLL LOCK | ALPS-SWITCH | SW82 |
| 1 | HOME | ALPS-SWITCH | SW83 |
| 1 | END | ALPS-SWITCH | SW84 |
| 1 | UP ARROW | ALPS-SWITCH | SW85 |
| 1 | DOWN ARROW | ALPS-SWITCH | SW86 |
| 1 | PAUSE | ALPS-SWITCH | SW87 |
| 1 | PAGE UP | ALPS-SWITCH | SW88 |
| 1 | PAGE DOWN | ALPS-SWITCH | SW89 |
| 1 | RIGHT ARROW | ALPS-SWITCH | SW90 |
| 27 | WS2812B | PLCC4-5050 | LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8 +19 |
| 88 | DIODE | D3 | D1, D2, D3, D4, D5, D6, D8, D9 +80 |
| 1 | 1N4148 | D3 | D13 |
| 1 | 100nF | SM0805 | C1 |
| 1 | 220uF | SM1210 | C2 |
| 3 | C | SM0805 | C3, C4, C5 |
| 2 | 22pF | SM0805 | C6, C7 |
| 1 | R | SM0805 | R1 |
| 3 | 1K | SM0805 | R2, R6, R7 |
| 23 | 10K | SM0805 | R51, R52, R53, R54, R55, R56, R57, R58 +15 |
HacKeyboard design files
The KiCad project lives in the masaleiro/HacKeyboard repository on GitHub; these links point at the commit this page was built from.
HacKeyboard: common questions
What microcontroller does the HacKeyboard use?
The HacKeyboard is built around the PIC18F4550_TQFP44, from the PIC family.
How big is the HacKeyboard PCB?
The HacKeyboard measures 337.8 × 118.4 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the HacKeyboard?
250 components, from 108 distinct parts. The full bill of materials is listed on this page.
Where can I download the HacKeyboard design files?
From the masaleiro/HacKeyboard repository on GitHub, which has the KiCad layout; the links under Design files point to each one.
Can I use the HacKeyboard design in my own project?
The repository has no license, so all rights stay with masaleiro. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the HacKeyboard without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug PIC firmware against it before you order a PCB.
Similar boards
PIC
Pslab hardware
fossasia
99 × 53.3 mm187 parts4LApache-2.01.7kPIC
Micro 8088
skiselev
152.4 × 101.6 mm71 partsGPL-3.0414PIC
GB-CARTPP-DIY
Gekkio
100 × 100 mm22 parts2LCC-BY-4.0376PIC
GB-BENCH-G1
Gekkio
100 × 100 mm98 parts4LCC-BY-4.0376PIC
GB-MBCTEST
Gekkio
51.4 × 61 mm32 parts2LCC-BY-4.0376PIC
GB-LIVE32
Gekkio
51.4 × 61 mm46 parts4LCC-BY-4.0376