Giter VIP home page Giter VIP logo

klepcbgen's Introduction

KLE PCB Generator

This script makes it easier to create your own keyboard with fully custom key layout. It reads a file exported from the online Keyboard Layout Editor and generates a KiCAD project from this, complete with schematic and layout. After manually finalizing the design you can generate the files a production service (such as OSH Park or Eurocircuits) needs to manufacture your PCB.

The generated schematic is pretty much complete and contains all key switches connected in rows and columns, a functional control circuit built around the ATmega32U4 (including external crystal, reset switch, programming header and a USB connector) and mounting holes. The layout is only partly routed, but contains all switches (including stabilizer mounting holes for keys that need it) in the correct position.

Features

Current klepcbgen features are:

  • Generate a project compatible with KiCad 5 and 6 (But check this first)
  • Use only standard KiCad libraries
  • Keys of different widths and/or heights
  • Add stabilizers to keys 2 units or more wide
  • Cherry MX switch mount
  • Limitation: layouts with at most 18 columns and 7 rows

Currently not supported are:

  • Keys with secondary width/height (So no ISO ENTER keys for now, sorry!)
  • Rotated keys
  • Vertical keys (e.g. numpad ENTER and "+")
  • Alps switches

Installation

Start by downloading and unzipping the code or by cloning the repository:

git clone https://github.com/jeroen94704/klepcbgen

Then install the required dependencies, using the following command:

pip install -r requirements.txt

(Note: On Windows, make sure to execute this command in a shell with admin rights)

Usage

Please read this wiki page for usage instructions.

Kicad 6

Additional instructions regarding Kicad 6 can be found here.

Future improvements

Core features:

  • Smarter options for rows/columns grouping, as the current approach does not allow for a full 104-key layout
  • Support foorprints with stabilizers for vertical keys (numpad enter and 0)
  • Add the option to use Alps footprints (Supported in KiCad as Matias switches)
  • Support ISO-ENTER
  • Support rotated keys

More advanced options:

  • A board outline compatible with swillkb's online Plate&Case Builder.
  • Support for easy generation of keyboard firmware.
  • Lighting: obviously RGB is all the rage, so I would like to add options to generate a PCB which includes lighting
  • Split layout: I'm a big fan of ergonomic/split layouts (I'm currently typing this on a Kinesis Freestyle Pro)
  • Wireless: Becaue cables are a nuisance.
  • Alternative control circuits: The ATmega32U4 is not the only option, and frankly doesn't have a lot of spare pins, e.g. for lighting

License

klepcbgen © 2020 by Jeroen Bouwens is licensed under CC BY-NC-SA 4.0. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/

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.