

Akeypad
8khz polling rate keypad, uses STM32F405 and USB3300, powered by QMK.
- Size
- 98.7 × 77.3 mm
- Copper layers
- 4
- Thickness
- 4.69 mm
- Parts
- 69
- Nets
- 101
- Pads
- 400
- Tracks, vias
- 740, 90
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 6 (file 20211014)
- Created
- 15 Jan 2023
- Updated
- 15 Jan 2023
Overview
Akeypad is an open-source printed circuit board by luantty2, from the luantty2/akeypad repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 98.7 × 77.3 mm with 69 parts on 101 nets, routed with 740 tracks and 90 vias.
It is built around the 74LVC1G125, USB3300-EZK and 74HC165D, with the TS3USB221RSER-TP, XC6206P332MR and EVQPLHA15 among its other parts. Its parts include 26 capacitors, 14 switches, 11 resistors, 8 ICs and 3 connectors. It belongs with the STM32 boards of this library.
Main components
674LVC1G125
SOT-353SOT-353 Buffers, Drivers, Receivers, Transceivers ROHSWuxi I-core ElecBuffers, Drivers, Receivers, TransceiversUSB3300-EZK
QFN-32-EP(5x5)-40℃~+85℃ 3V~3.6V 54.7mA 83uA Controller USB 2.0 QFN-32-EP(5x5) USB Converters ROHSMicrochip TechnologyUSB Converters74HC165D
SO-16-40℃~+125℃ 1 28ns@6V,50pF 2V~6V 35MHz 500mW 74HC 8 Parallel or Serial to Serial SOIC-16 Shift Registers ROHSNexperiaShift RegistersTS3USB221RSER-TP
QFN-10L(1.5x2)-40℃~+85℃ 13uA 2.5V~5.5V 2/4 200ps@3.3V,0pF Power-off protection、Break-before-make function、Overcurrent Protection Single Supply QFN-10L(1.5x2) Signal Switches, Multiplexers, Decoders ROHSTECH PUBLICSignal Switches, Multiplexers, DecodersXC6206P332MR
SOT-23-40℃~+85℃@(Ta) 1 1uA 200mA 3.3V 6V Fixed Over Current Protection Positive SOT-23-3L Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSTorex SemiconductorVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsEVQPLHA15
SMD,4.9x4.9mm-20℃~+70℃ 1.5mm 1.6N 15V 20mA 4.9mm 4.9mm 500,000 Cycles J-Lead Round Button SPST Surface Mount,Vertical SMD,4.9x4.9mm Tactile Switches ROHSPanasonicTactile Switches
README
README.mdakeypad
8khz polling rate keypad, uses STM32F405 and USB3300, powered by QMK.
This project is just a prototype, cases, plates and other keyboard components are not included.

PCB

Firmware
The code can be found on my Fork.
Bootloader
STM32f405/7xx should comes with a built-in bootloader, but sadly it doesn't seem to work on USB HS interface, if someone uses the default bootloader, he has to manually switch to FS port to upload firmware, then switch back to HS port to use his keyboard.
To address the issue, we can use a mux chip with tinyuf2 bootloader to automatically do that trick, then you don't bother switching port.
The mux chip we used here is TS3USB221, connect its 'S' pin to B14 of STM32. In normal operation, pull the pin to low to select HS interface, in bootloader mode, write this pin to high to select FS interface.
The tinyuf2 bootloader code can be found here, if you wish to change B14 to other pin, you can modify it in board.h.
//--------------------------------------------------------------------+
// Custom GPIO, used for USB mux
//--------------------------------------------------------------------+
#define CUSTOM_GPIO_PORT GPIOB
#define CUSTOM_GPIO_PIN GPIO_PIN_14Parts
69| Qty | Value | Footprint | References |
|---|---|---|---|
| 14 | 100nF | Capacitor_SMD:C_0402_1005Metric | C2, C3, C8, C10, C12, C13, C14, C15, C19, C20, C21, C22, C23, C24 |
| 12 | SW_Push | MX_Only:MXOnly-1U-NoLED | SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12, SW13, SW14 |
| 4 | 1uF | Capacitor_SMD:C_0603_1608Metric | C1, C16, C17, C18 |
| 4 | 5.1k | Resistor_SMD:R_0402_1005Metric | R1, R2, R8, R9 |
| 4 | 9pF | Capacitor_SMD:C_0402_1005Metric | C6, C7, C25, C26 |
| 4 | R_Pack04 | Resistor_SMD:R_Array_Convex_4x0603 | RN1, RN2, RN3, RN4 |
| 2 | 10k | Resistor_SMD:R_0402_1005Metric | R4, R5 |
| 2 | 1k | Resistor_SMD:R_0402_1005Metric | R3, R10 |
| 2 | 2.2uF | Capacitor_SMD:C_0603_1608Metric | C4, C5 |
| 2 | 4.7uF | Capacitor_SMD:C_0603_1608Metric | C9, C11 |
| 2 | 74HC165 | Package_SO:SOP-16_3.9x9.9mm_P1.27mm | U6, U7 |
| 2 | EVQPLHA15 | Button_Switch_SMD:SW_SPST_Panasonic_EVQPL_3PL_5PL_PT_A15 | SW1, SW2 |
| 2 | USB_C_Receptacle_USB2.0 | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J1, J2 |
| 1 | 10K | Resistor_SMD:R_0402_1005Metric | R11 |
| 1 | 12MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y2 |
| 1 | 12k | Resistor_SMD:R_0402_1005Metric | R7 |
| 1 | 1M | Resistor_SMD:R_0402_1005Metric | R6 |
| 1 | 24MHz | Crystal:Crystal_SMD_2016-4Pin_2.0x1.6mm | Y1 |
| 1 | 74LVC1G125 | Package_TO_SOT_SMD:SOT-23-5 | U8 |
| 1 | Conn_SWD | Connector_PinHeader_1.27mm:PinHeader_1x04_P1.27mm_Vertical | J3 |
| 1 | MB85RS16 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U1 |
| 1 | STM32F405RGTx | Package_QFP:LQFP-64_10x10mm_P0.5mm | U4 |
| 1 | TS3USB221RSER | nrfmicro:UQFN-10 | U2 |
| 1 | USB3300-EZK | Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.45x3.45mm | U3 |
| 1 | White | LED_SMD:LED_0402_1005Metric | D1 |
| 1 | XC6206P332MR | Package_TO_SOT_SMD:SOT-23 | U5 |
Questions
How big is the Akeypad PCB?
It measures 98.7 × 77.3 mm and has 4 copper layers, 4.69 mm thick.
What parts does the Akeypad use?
69 parts, built around the 74LVC1G125, USB3300-EZK, 74HC165D and TS3USB221RSER-TP. 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 Akeypad KiCad files?
From the luantty2/akeypad repository on GitHub, at the commit this page was made from: the board is akeypad_pcb/akeypad.kicad_pcb and its schematic akeypad_pcb/akeypad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Akeypad 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).
Similar boards
- 11 layers284.7 × 100.3 mm

- 4 layers127.9 × 78.5 mm

- 2 layers68.6 × 53.3 mm

Ardas shield
UMONS-GFA/kicad-projects
Open your .sch file -> Preferences -> Component libraries
40 parts1 - 2 layers200 × 115 mm

Musicbrain busboard v2
MarkWestbroek/MusicBrain
A central brain running on teensy or a lighter MCU to process any control signals (MIDI, CV, our own) into the same but adding logic, ADSRs, DCOs, CV matrices etc. to it
94 partsMIT - 2 layers50 × 35 mm

M5stack board unitree brushless digital servo
kim-xps12/m5stack_board_unitree_brushless_digital_servo
Unitree Servo UART Board for M5Stack: auto-direction 4 Mbps half-duplex TTL bus for Unitree J288 / S288 brushless digital servos (KiCad 9, JLCPCB PCBA)
29 parts1MIT - 2 layers308.3 × 123 mm

- 4 layers142.2 × 48 mm

Controller
purdeaandrei/MiniRazz
MiniRazz - open hardware controller replacement for the Unicomp Mini M keyboard
74 parts14CERN-OHL-P-2.0 - 6 layers91.8 × 139.8 mm
