

HexKeyboard
A 25 x 25 keypad with a LED display and many features.
- Size
- 132.2 × 144.1 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 83
- Nets
- 85
- Pads
- 509
- Tracks, vias
- 1,022, 58
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 25 Apr 2024
- Updated
- 31 May 2024
Overview
HexKeyboard is an open-source printed circuit board by hansliss, from the hansliss/HexKeyboard repository on GitHub, published under the BSD-2-Clause licence. It is a 2-layer board of 132.2 × 144.1 mm with 83 parts on 85 nets, routed with 1,022 tracks and 58 vias.
It is built around the ATMEGA32U4-AU, 74LVC125AD and MAX7219M, with the AMS1117-3.3 and AT24CS64-XHM-B among its other parts. Its parts include 27 diodes, 25 switches, 7 capacitors, 7 resistors and 5 ICs. It belongs with the AVR (ATmega, ATtiny) boards of this library.
Main components
5ATMEGA32U4-AU
QFP-44(10x10)-40℃~+85℃ 10bit 16MHz 1KB 2.5KB 2.7V~5.5V 26 32KB 8 Bit AVR Built-in FLASH QFP-44(10x10) Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)74LVC125AD
SOP-14L-40℃~+125℃ 1 1.65V~5.5V 2.6ns@5V,15pF 4 40uA 50mA 50mA 74LVC Schmitt trigger Tri-State Unidirectional SOP-14L Buffers, Drivers, Receivers, Transceivers ROHSMDDBuffers, Drivers, Receivers, TransceiversMAX7219M
SOP-24-300mil10MHz 150uA 3-Wire Serial Interface 30mA 320mA 4V~5.5V 8 Segment x 8 Digit Built-in display RAM、PWM dimming、BCD input latch function、Power-up display blanking、Lamp test function、Cascadable function SOP-24-300mil Digital Tube Drivers ROHSHGSEMIDigital Tube DriversAMS1117-3.3
SOT-223-40℃~+125℃ 0.003%Vout 1 1.1V@(800mA) 15V 1A 3.3V 5mA 72dB@(120Hz) Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsAT24CS64-XHM-B
TSSOP-8-40℃~+85℃ 1,000,000 cycles 1.7V~5.5V 100 Years 1MHz 5ms 64Kbit I2C TSSOP-8 EEPROM ROHSMicrochip TechnologyEEPROM
README
README.mdHexKeyboard
A 25 x 25 keypad with a LED display and many features.

- The matrix rows are on pins 4, 12, 6, 7, 23
- The matrix columns are on pins 22, 21, 20, 19, 18
The SD card holder is connected to SPI, plus
- Card Detect = PB0 / pin 17
- Chip Enable = PB4 / pin 8
Note that CD is connected to the RXLED pin, so it will probably collide with serial data.
The display is connected like this:
- CLK = 9
- CS = 10
- DIN = 11
This requires a local max7219.h with the defines modified. Just copy
Serial LED pins
If you want to eliminate problems with the two LED pins (see above), you can always just disable the entire functionality, by modifying USBCore.cpp (probably found here: C:\Users\Yourname\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino).
Just comment out everything to do with RXLED and TXLED, and the file will be recompiled upon the next build.
Misc
The SPI pins for the MAX7219 display aren't actually SPI pins. Still, the max7219 library just bit-bangs the protocol so it doesn't really matter.
If you add an ESP-01/ESP-01S (with the Espressif "AT" firmware, for instance), set it to use 9600 baud on the serial interface. The default 115200 baud seems a bit too fast.
If you print the case, and want a LED indicator for the ESP-01, print out the included wifiSign model on a resin printer using transparent resin, then drill a 3.5mm hole roughly 3.7mm below the lower edge of the display and 13mm to the right of the right edge of the display, insert the transparent plug, and then pour black resin carefully around the symbol (preferably using a syringe and microscope) and cure it with a UV light.
Parts
83| Qty | Value | Footprint | References |
|---|---|---|---|
| 25 | D | Diode_SMD:D_0603_1608Metric | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +9 |
| 6 | MountingHole_Pad | MountingHole:MountingHole_3.2mm_M3_Pad_Via | H1, H2, H3, H4, H5, H6 |
| 3 | 100nF | Capacitor_SMD:C_0603_1608Metric | C1, C2, C4 |
| 3 | 3k3 | Resistor_SMD:R_0603_1608Metric | R1, R2, R3 |
| 2 | 22 | Resistor_SMD:R_0603_1608Metric | R4, R5 |
| 2 | 5k6 | Resistor_SMD:R_0603_1608Metric | R6, R7 |
| 2 | 9pF | Capacitor_SMD:C_0603_1608Metric | C5, C6 |
| 2 | BZX384-xxx | Diode_SMD:D_SOD-323 | D26, D27 |
| 1 | 10uF/10V | Capacitor_SMD:C_0805_2012Metric | C3 |
| 1 | 16MHz | Crystal:Crystal_SMD_2520-4Pin_2.5x2.0mm | Y1 |
| 1 | 1uF | Capacitor_SMD:C_0603_1608Metric | C7 |
| 1 | 74LVC125 | Package_SO:TSSOP-14_4.4x5mm_P0.65mm | U2 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U1 |
| 1 | AT24CS64-XHM | Socket:DIP_Socket-14_W4.3_W5.08_W7.62_W10.16_W10.9_3M_214-3339-00-0602J | U4 |
| 1 | ATmega32U4-AU | Package_QFP:TQFP-44_10x10mm_P0.8mm | U3 |
| 1 | Conn_01x04 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J2 |
| 1 | Conn_02x04_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J3 |
| 1 | Conn_02x04_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_Vertical | J4 |
| 1 | MAX7219 | MyFootprints:Display_x8_MAX7219 | U5 |
| 1 | Micro_SD_Card | MicroSD:GCT_MEM2075 | J1 |
| 1 | SW_1 | keyswitches:Kailh_socket_MX_optional_compatible | SW1 |
| 1 | SW_10 | keyswitches:Kailh_socket_MX_optional_compatible | SW10 |
| 1 | SW_11 | keyswitches:Kailh_socket_MX_optional_compatible | SW11 |
| 1 | SW_12 | keyswitches:Kailh_socket_MX_optional_compatible | SW12 |
| 1 | SW_13 | keyswitches:Kailh_socket_MX_optional_compatible | SW13 |
| 1 | SW_14 | keyswitches:Kailh_socket_MX_optional_compatible | SW14 |
| 1 | SW_15 | keyswitches:Kailh_socket_MX_optional_compatible | SW15 |
| 1 | SW_16 | keyswitches:Kailh_socket_MX_optional_compatible | SW16 |
| 1 | SW_17 | keyswitches:Kailh_socket_MX_optional_compatible | SW17 |
| 1 | SW_18 | keyswitches:Kailh_socket_MX_optional_compatible | SW18 |
| 1 | SW_19 | keyswitches:Kailh_socket_MX_optional_compatible | SW19 |
| 1 | SW_2 | keyswitches:Kailh_socket_MX_optional_compatible | SW2 |
| 1 | SW_20 | keyswitches:Kailh_socket_MX_optional_compatible | SW20 |
| 1 | SW_21 | keyswitches:Kailh_socket_MX_optional_compatible | SW21 |
| 1 | SW_22 | keyswitches:Kailh_socket_MX_optional_compatible | SW22 |
| 1 | SW_23 | keyswitches:Kailh_socket_MX_optional_compatible | SW23 |
| 1 | SW_24 | keyswitches:Kailh_socket_MX_optional_compatible | SW24 |
| 1 | SW_25 | keyswitches:Kailh_socket_MX_optional_compatible | SW25 |
| 1 | SW_3 | keyswitches:Kailh_socket_MX_optional_compatible | SW3 |
| 1 | SW_4 | keyswitches:Kailh_socket_MX_optional_compatible | SW4 |
| 1 | SW_5 | keyswitches:Kailh_socket_MX_optional_compatible | SW5 |
| 1 | SW_6 | keyswitches:Kailh_socket_MX_optional_compatible | SW6 |
| 1 | SW_7 | keyswitches:Kailh_socket_MX_optional_compatible | SW7 |
| 1 | SW_8 | keyswitches:Kailh_socket_MX_optional_compatible | SW8 |
| 1 | SW_9 | keyswitches:Kailh_socket_MX_optional_compatible | SW9 |
| 1 | USB_A | Connector_USB:USB_C_Receptacle_G-Switch_GT-USB-7010ASV | J5 |
Questions
How big is the HexKeyboard PCB?
It measures 132.2 × 144.1 mm and has 2 copper layers, 1.6 mm thick.
What parts does the HexKeyboard use?
83 parts, built around the ATMEGA32U4-AU, 74LVC125AD, MAX7219M and AMS1117-3.3. 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 HexKeyboard KiCad files?
From the hansliss/HexKeyboard repository on GitHub, at the commit this page was made from: the board is HexKeyboard.kicad_pcb and its schematic HexKeyboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the HexKeyboard design in my own project?
Its repository publishes it under the BSD-2-Clause licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers56 × 78 mm

- 2 layers52 × 25.4 mm

UINIO Logic-24MHz
uinika/UINIO-Logic-24MHz
the 24MHz sampling rate Logic Analyzer base on CY7C68013A.
55 parts10 - 2 layers51.8 × 51.8 mm

- 2 layers135 × 124 mm

- 2 layers40.3 × 75.7 mm

- 2 layers29.5 × 22 mm

CE Makerverse MicroSD Card Adapter
CoreElectronics/CE-Makerverse-MicroSD-Card-Adapter
This is the repo for the Core Electronics Makerverse™ MicroSD Card Adapter.
31 parts5 - 2 layers32.4 × 25.5 mm

- 2 layers85 × 56 mm

Econet AtoMMC
kgl2001/Atom_Econet_AtoMMC
Combined AtoMMC & Econet interface board for Acorn Atom
40 parts1CC-BY-SA-4.0