Skip to content
/ kleeb Public

Collection of Kicad 6.0 symbols, footprints and 3D models useful in keyboard creation

License

Notifications You must be signed in to change notification settings

crides/kleeb

Repository files navigation

Kleeb

This is a collection of the Kicad symbols, footprints and 3D models useful in keyboard creation other than normal mechanical switches and the ones included in Kicad's standard library, all in 6.0 format. I didn't create all of them, and some come from either other people on Discord, or from other online resources that isn't in a Git tree. Putting them in a centralized place means it's easier for people to use, distribute*, and compare, and changes can be made in a clearer way. I'll try to list the sources down below, but due to the nature of the sources they maybe incorrect/missing. If you have a problem with how I'm using/distributing them please let me know.

Some of the symbols and/or footprints included here may be untested. If you have made a board with those, whether successful or unsuccessful (hopefully the former), please let me know either privately or through issues/PRs. Thanks!

License

Those directly created by me is licensed under MIT. Those came from Discord are technically in a grey zone, as they are shared without a (explicit) license. For those that came from other sources, the original license should be used. I do not intend to claim ownership over them, and they are here so they can be easily included in future projects.

Symbols

ic

  • MCP23S08: From @petejohanson, converted to 6.0. 8-bit SPI bidirectional I/O expander, missing from Kicad libray
  • CMM4030D: I2S microphone
  • TMP117: I2C high accuracy temperature sensor
  • IS31FL3729: 16x8 or 15x9 I2C LED matrix driver
  • IS31FL3741: 39x9 I2C LED matrix driver
  • MAX98357A: I2S DAC amplifier

display

ic

  • CMM4030D, eTQFP-32_7x7mm_P0.8mm: created by me from datasheet
  • QFN-60-1EP_7x7mm_P0.4mm_EP5.4x5.4mm: created by me from datasheet, for IS31FL3741; thermal pad patterns copied from kicad builtin footprints

switch

  • SKRHA: created by me. 5-way joystick from Alps
  • diode-choc: created by me. Originally taken from @PJE66, but with some of the pins hidden as they are not needed for external connections. Even though they are still 2 pin "components", the diode is included for clarity in the schematics, and should be used with the autogenerated choc footprints.

mcu

sensor

  • PMW3610: created by me according to the datasheet. Low power mouse sensor from PixArt.

Footprints

display

  • LCD2.2in: created by me.
  • OLED-128x32: created by me.
  • OLED-128x32-cutout: Same as above, but show the display area. Data came from @rain on Discord
  • OLED-128x32-double-sided: Same as above, but has jumpers on both sides allowing the OLED to be installed on both sides. The jumpers on the reverse side of the display are to be soldered.
  • OLED-128x64: created by me.
  • TM022HDH26: created by me. Holes follow the positions on datasheet, pads are measured data
  • TM022HDH26_back: Same as above, but pads are on the different side of PCB
  • adafruit-sharp-memory-display-1.3in: From someone on Discord, modified by me
  • adafruit-sharp-memory-display-1.3in-no-mounting: Same as above
  • adafruit-sharp-memory-display-1.3in-no-mounting-no-useless: Same as above

mcu

  • holyiot-18010, holyiot-18010-no-underside: Probably from someone on Discord, modified by me. Holyiot 18010 nRF52840 BLE module
  • xiao-smd: created by me, merged from the xiao repo. The Xiao controller with SMD pads, with throughole pads for the 4 underside pads.
  • xiao-tht: Same as above. The Xiao controller with THT pads, with throughole pads for the 4 underside pads.
  • xiao-ble-smd: Same as above. The Xiao BLE controller with SMD pads, with throughole pads for the 4 pads under USB-C connector, 2 battery pads, and 2 NFC pads.
  • xiao-ble-tht: Same as above. The Xiao BLE controller with THT pads, with throughole pads for the 4 pads under USB-C connector, 2 battery pads, and 2 NFC pads.
  • xiao-ble-tht-cutout: Same as above. The Xiao BLE controller with THT pads, with throughole pads for the 4 pads under USB-C connector, 2 battery pads, and 2 NFC pads, except there are cutouts around the underside pads, so that one can cut around the pads making it easier to solder those pads.
  • rp2040-zero-smd: created by me. The RP2040 Zero controller by WaveShare, with SMD pads and a cutout for the MCU itself.
  • rp2040-zero-tht: Same as above. The RP2040 Zero controller, with THT pads and a cutout for the MCU itself.
  • rp2040-zero-smd-pads and rp2040-zero-tht-pads: Experimental! Same as above, plus throughole pads to solder underside pads.
  • rp2040-zero-smd-pads-cutout and rp2040-zero-tht-pads-cutout: Experimental! Same as above, but the pads can be made into castellated ones by cutting through the pads?

misc

  • BA1AAAPC: From Digikey. Low profile AAA battery holder
  • auklet-cover-mount: created by me. Cover mounting positions for the Auklet steno board
  • auklet-mount: created by me. Bottom screw hole mounting positions for the Auklet steno board
  • batwings: created by me. The original batwings logo converted from some picture on the web
  • crides-pos: created by me. The logo for crides
  • crides-neg: Same as above, but inverted
  • debug-port: created by me. For use with pogo pin clamp for SWD debug
  • debug-port-single-side: Same as above, but only top side has solder mask
  • embedded: created by me. The embedded steno logo
  • hirose-df30fb-20ds-0.4v(82): probably from Digikey
  • CMS1609: created by me from datasheet
  • molex-503182-1852: probably from DigiKey
  • KXBG25-05X3F: created by me from datasheet, for a small solar cell
  • nothing: Literal nothing. Mainly for placing 3D models

switch

  • SKRHA-boss, SKRHA-no-boss: created by me, following datasheet from Alps
  • switch-MSK-12C02-smd: Not sure where from
  • EVQWGD001: Fetched from @darryldh on Discord, not sure of origin
  • SKRHA-boss: created by me, following datasheet from Alps

sensor

pg1350, pg1232 and pg1425

These footprints are autogenerated with python scripts cuz I hate hand making all the variants I need for choc. It uses my fork of kicad-footprint-generator. The changes in the generator are basically usability changes for myself, and you'll see why in the diff.

The pg1350 footprint dimensions (i.e. pin sizes & locations) is originally taken from Keebio, the pg1232 ones from here, and the pg1425 ones from Kailh documentation. They are converted to Python and modifications are added.

The outline on User.Comments is the outline of the side tabs, and the one on User.Drawings is slightly outside of the outline of the keycap, reflecting the spacing.

All of the footprints are auto generated now. Different letters signify different variations.

  • D: includes diode in the footprint. It uses choc LED hole for (optional) SOD-123 diode placement, and the internal connections are already made. The center of the footprint is placed on the center of the diode to help with PCBA, and it's meant to be used with the custom symbol signifying that it has a builtin diode;
  • R: footprint is reversible. Througholes are included for both sides, another pad is used to connect the duplicated hole, and vias are used inside of the diode pads to connect the diodes on both sides, and silkscreens are duplicated on both sides;
  • H: Hotswap footprint. Currently only supports pg1350 chocs and pg1232 choc minis, using the PCB itself as the socket. Pad shape and idea borrowed from @davidphilipbarr. Untested!
  • B: Hotswap and soldered footprint. Only available for pg1350.

All the following variants are spacing variants, which is useless for most people and I keep it here for my own sake.

  • S: shorter spacing, only affects the cap outline. To be used with 15mm vertical spacing. This as close vertical as chocs gets without modding the switch itself;
  • SS: "Super Short": even shorter spacing, only affects the cap outline. To be used with 13.5mm vertical spacing. This as close vertical as choc minis (pg1232) gets without modding the switch itself;
  • C: "compact"/"cut": for pg1232 & pg1350, with the side tabs chopped off
  • L & R: only when used with SS; off centered spacing for use with same finger double column (e.g. most commonly the 2 columns for index finger, or columns for pinky).
  • N: only when used with SS; as narrow as possible (14.5mm; or is the intersection of the L and R variants)

Models

  • adafruit-sharp-memory-display: Obtained from @petejohanson on Discord, not sure of creator
  • adafruit-sharp-memory-display-no-mounting: As above, but edited to cut off mounting screw holes
  • BA1AAAPC: From Digikey. Low profile AAA battery holder
  • holyiot-18010: From @darryldh on Discord
  • hro-type-c-31-m-12: Not sure of source; I probably got it on Discord
  • MBK-1u: From @darryldh on Thingiverse (@darryldh)
  • SKRHAD: From Alps
  • OLED-128x32: Not sure from where. Model for the 128x32 OLED displays
  • TF31-12S-0.5SH: Not sure from where exactly, should be a manufactorer model. 0.5mm pitched 12pin FPC ZIF socket
  • JST-PH-S2B-R: From SnapEDA on Digikey. JST PH SMD 2pin connector, commonly used for batteries. Product on Adafruit
  • pg1350, pg1350-mbk, pg1232, pg1232-mbk: created by me. pg1350 and pg1232 choc switch models with MBK 1u keycaps. The pg1350 model is taken from here but with the PCB and LED removed, and the MBK model from here. The pg1232 model is made by me through cutting and rejoining pieces of the pg1350 model, which should immitate the general model but is otherwise very janky. The joint choc and MBK models are simply the combinations of the switch models and the MBK model.
  • rp2040-zero: From the low pro Discord from @gerrycave from WaveShare. Giant model of the RP2040-Zero, recentered by me through FreeCAD.
  • EVQWGD001: A copy of https://grabcad.com/library/panasonic-evqwgd001-encoder-1#!. Doesn't seem to match footprint
  • TM035035: From @freznel on Discord, originated from Cirque.
  • pmw3360: A copy of https://grabcad.com/library/pmw3360dm-mouse-sensor-1. Used for PMW3610 as well
  • EC10E: From Mouser.

About

Collection of Kicad 6.0 symbols, footprints and 3D models useful in keyboard creation

Topics

Resources

License

Stars

Watchers

Forks

Languages