custom_mechanical_keyboard

Public

@therealmantaflow

Download board files

Files for version 1. Pick what you came for.

Share custom_mechanical_keyboard

Check access before sharing the link.

Who can open this board

Anyone can open this board. No sign-in is required.

This link opens the latest version. Copying it does not grant additional access.

Loading 3D model… large boards can take a moment.

README

Custom STM32 Mechanical Keyboard

This repository contains the hardware design files (PCB schematics and mechanical enclosures) for a custom mechanical keyboard. The PCB is designed in KiCad, and the case/mechanical components are modeled in FreeCAD.

Features

  • Microcontroller: STM32F405RGT
  • Connectivity: USB-C 2.0 with dedicated ESD protection (USBLC6-2SC6)
  • Switch Matrix: 6x16 layout supporting up to 96 keys
  • Switches: Cherry MX compatible, utilizing Khail hot-swap sockets
  • Anti-Ghosting: Per-key diodes for full N-Key Rollover (NKRO)
  • Extras: Support for a rotary encoder and broken-out SWD/I2C pins for easy debugging and expansion

Repository Structure

  • / - Contains the KiCad project, schematics, and PCB layout files.
  • /case/ - Contains the FreeCAD design files for the keyboard case and plate.
  • /pcbway_production/ - Contains the gerber files.

Prerequisites & Environment Setup

Before opening the KiCad project files, you need to configure your KiCad environment with the appropriate custom libraries and plugins used in this design.

KiCad Package Installation

Follow these steps exactly to ensure all footprints and symbols load correctly:

  1. Add the ebastler repository:
  2. Install custom libraries:
    • Switch the repository dropdown at the top of the Plugin Manager to the newly added ebastler repo.
    • Find and install the marbastlib package.
  3. Switch back to the official repository:
    • Change the repository dropdown back to the official KiCad repository.
  4. Install required keyboard packages:
    • Search for and install the Keyswitch KiCad Library.
    • (Optional) If you plan on modifying the PCB layout, install the Keyboard footprints placer plugin to make routing and placing switches easier.

Once these packages are installed, you can safely open the .kicad_pro file.

Contributions

Feel free to fork this repository and submit pull requests if you have improvements for the PCB routing or case design.

My Ko-fi link if you wanna support my efforts: Kofi

Thanks

Inspired from: Modern Hobbyist

License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0). See the LICENSE file for more details.

Comments

No comments yet. Be the first to ask about this board.

Ask about this board

Sign in to BoardRepo

New here? Signing in creates your account; there is no separate sign-up.