Git Product home page Git Product logo

mechanicalkeyboardkicadtemplates's Introduction

KiCAD Templates

Mechanical Keyboard KiCAD Templates

A collection of KiCAD templates to help the budding designer start designing their own mechanical keyboards.

Github Issues Pending Pull-Requests License

Table of Contents


About The Project

This repository contains a collection of KiCAD mechanical keyboard templates using a variety of MCU's. Within each templates are schematics that lay out the basic connection between essential components as well as sub-sheets where the designer can implement their own key matrix and, in some cases, RGB LED underglow implementations. In most cases the KiCAD libraries in use were provided by ai03


Requirements

Installation

  • git clone https://github.com/CaninoDev/Mechanica_Keyboard_KiCAD_Templates $TEMPLATE_DIRECTORY where $TEMPLATE_DIRECTORY is the path to templates by your version of KiCAD. You can view and set the path by starting up KiCAD and going to Preferences --> Configure Path --> KICAD_USER_TEMPLATE_DIR
  • Once installed, go to File --> Start a New Project From Template and select the desired template from the list.

Notes

Key Terms

MCU / Microcontroller ESD Voltage Regulator Decoupling Capacitors Pull Down Resistors

Design Guidelines

PCB Design

  • Keep traces from the connector to the MCU as short as possible.
  • Generally, avoid the use of sharp bends when laying down track.
  • Power and Ground traces should be wide.
  • Place the crystal as close to the MCU as possible.
  • Isolate the oscillator as much as possible:
    • Separate the ground plane underneath the crystal generally.
  • D+ and D- traces should match up in distance as close as possible (so the signals are in sync). Use differential(90ฮฉ) traces.
  • Fill Zones: It is not necessary to fill the entire PCB with ground/power plane. It is sufficient to encompass the crystal, USB and MCU footprints in a ground fill.

Reference Keyboards

Please note, some of the following keyboards have schematics that may be incomplete. I try to make note of those keyboards but cannot guarantee that I have caught them all.

(NOTE: The stm32 MCU series are, for the most part, interchangeable with minimal changes. Pay particular attention that the F072 series have a built-clock suitable for USB data transmissions.)

Disclaimer

As I am still learning how to design keyboards, there may be some implementations that does not represent best practices or may even be incorrect. In such cases, please make a pull request and I will incorporate the corrections promptly. When creating a new design from template, KiCAD copies over the local libraries but doesn't preserve their respective git. This results in a relatively larger project with the inability to effortlessly update local libraries.


Contributing

As noted above, there may be some mistakes in implementation or improvements could be made. If you note either, please:

Step 1

- ๐Ÿด Fork this repo!

Step 2

- ๐Ÿ‘ฏ Make a branch concering the variant that will be modified.

Step 3

- HACK AWAY๐Ÿ”จ๐Ÿ”จ๐Ÿ”จ

Step 4

- ๐Ÿ”ƒ Create a new pull request using <a href="https://github.com/CaninoDev/Mechanica_Keyboard_KiCAD_Templates/compare/" target="_blank">`https://github.com/CaninoDev/Mechanica_Keyboard_KiCAD_Templates/compare/`</a> detailing in the comments whether it is a correction and reference the reasons either by explanation or datasheet reference. If it is an improvement, explain the improvement. This is so  that not only I can learn from mistakes but so that others can as well. 

Thanks

The following people have been invaluable in my journey in learning how to design keyboards:

  • Worldspawn#9316, Abec13#3342, Comrade. SeungheonOh#4283, and The_Royal โ€ข ๐Ÿฆ GMK Fro.Yo ๐Ÿฆ#3000 at the '40% Keeb' Discord server.
  • ai03#2725, PheonixStarr#0371, Xaetral#3486 at the 'ai03 Design Studio' Discord server

KiCAD libraries to aid in the schematics and pcb design

These resources were immensely helpful

These are related resources to mechanical keyboard design

License

License

mechanicalkeyboardkicadtemplates's People

Contributors

coquizen avatar ferdymercury avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

mechanicalkeyboardkicadtemplates's Issues

Empty release

There's nothing in the release zip - it's a 1.8 meg file of git repo objects not the templates.

$ du -hr ../ 1.9M ..//resources 0B ..//atmega32u4 0B ..//stm32f303 4.0K ..//.git/objects/0d 8.0K ..//.git/objects/66 8.0K ..//.git/objects/3e 4.0K ..//.git/objects/9e 4.0K ..//.git/objects/69 8.0K ..//.git/objects/51 4.0K ..//.git/objects/58 4.0K ..//.git/objects/93 4.0K ..//.git/objects/05 4.0K ..//.git/objects/9c 4.0K ..//.git/objects/a4 4.0K ..//.git/objects/b2 4.0K ..//.git/objects/ad 4.0K ..//.git/objects/d7 8.0K ..//.git/objects/b3 4.0K ..//.git/objects/bd 4.0K ..//.git/objects/d6 8.0K ..//.git/objects/c0 4.0K ..//.git/objects/c9 8.0K ..//.git/objects/c8 4.0K ..//.git/objects/fb 4.0K ..//.git/objects/ec 4.0K ..//.git/objects/4e 0B ..//.git/objects/pack 4.0K ..//.git/objects/29 4.0K ..//.git/objects/7c 4.0K ..//.git/objects/16 4.0K ..//.git/objects/1f 4.0K ..//.git/objects/17 8.0K ..//.git/objects/7e 4.0K ..//.git/objects/4c 8.0K ..//.git/objects/86 4.0K ..//.git/objects/2f 4.0K ..//.git/objects/43 4.0K ..//.git/objects/88 4.0K ..//.git/objects/9f 4.0K ..//.git/objects/6b 4.0K ..//.git/objects/38 4.0K ..//.git/objects/00 4.0K ..//.git/objects/9a 8.0K ..//.git/objects/36 4.0K ..//.git/objects/09 4.0K ..//.git/objects/5d 0B ..//.git/objects/info 4.0K ..//.git/objects/53 4.0K ..//.git/objects/5b 4.0K ..//.git/objects/06 4.0K ..//.git/objects/99 4.0K ..//.git/objects/0f 1.7M ..//.git/objects/64 4.0K ..//.git/objects/90 4.0K ..//.git/objects/bf 8.0K ..//.git/objects/b1 4.0K ..//.git/objects/dd 4.0K ..//.git/objects/dc 4.0K ..//.git/objects/b7 4.0K ..//.git/objects/de 4.0K ..//.git/objects/b9 8.0K ..//.git/objects/ea 4.0K ..//.git/objects/cd 4.0K ..//.git/objects/cc 4.0K ..//.git/objects/e6 4.0K ..//.git/objects/e8 4.0K ..//.git/objects/ff 4.0K ..//.git/objects/2c 4.0K ..//.git/objects/79 8.0K ..//.git/objects/2d 4.0K ..//.git/objects/48 4.0K ..//.git/objects/4a 4.0K ..//.git/objects/12 4.0K ..//.git/objects/76 4.0K ..//.git/objects/1c 4.0K ..//.git/objects/82 4.0K ..//.git/objects/2b 4.0K ..//.git/objects/47 4.0K ..//.git/objects/13 8.0K ..//.git/objects/14 4.0K ..//.git/objects/22 2.1M ..//.git/objects 4.0K ..//.git/info 4.0K ..//.git/logs/refs/heads 4.0K ..//.git/logs/refs/remotes/origin 4.0K ..//.git/logs/refs/remotes 8.0K ..//.git/logs/refs 12K ..//.git/logs 48K ..//.git/hooks 4.0K ..//.git/refs/heads 0B ..//.git/refs/tags 4.0K ..//.git/refs/remotes/origin 4.0K ..//.git/refs/remotes 8.0K ..//.git/refs 2.2M ..//.git 0B ..//atmega328 0B ..//atmega32a 0B ..//stm32f072 4.1M ../

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.