Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andornaut/splinter-keyboard
A 62-key split columnar ergonomic keyboard
https://github.com/andornaut/splinter-keyboard
arduino diy ergonomics keyboard pcb
Last synced: 3 months ago
JSON representation
A 62-key split columnar ergonomic keyboard
- Host: GitHub
- URL: https://github.com/andornaut/splinter-keyboard
- Owner: andornaut
- Created: 2023-03-22T22:44:58.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-15T13:01:43.000Z (7 months ago)
- Last Synced: 2024-07-15T15:27:16.928Z (7 months ago)
- Topics: arduino, diy, ergonomics, keyboard, pcb
- Language: JavaScript
- Homepage:
- Size: 14.6 MB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Splinter keyboard
A 62-key split columnar ergonomic keyboard
* [andornaut@github /til](https://github.com/andornaut/til/)
* [3D Printing](https://github.com/andornaut/til/blob/master/docs/3d-printing.md)
* [Electronics](https://github.com/andornaut/til/blob/master/docs/electronics.md)
* [Keyboards](https://github.com/andornaut/til/blob/master/docs/keyboards.md)
* [Splinter qmk_firmware](https://github.com/andornaut/qmk_firmware/tree/splinter/keyboards/splinter)## Versions
Version | Description | Layout
--- | --- | ---
[v1](./v1) | 61-keys. Asymetrical enclosures. Traditional layout. | [![v1](./v1/v1-300width.jpg)](./v1/v1.jpg)
[v2](./v2) | 62-keys. Symmetrical enclosures. Non-traditional placement of backspace and backslash keys. | [![v2](./v2/v2-300width.jpg)](./v2/v2.jpg)## Installation
* [Ergogen](https://github.com/ergogen/ergogen)
* [Footprints by ceoloide](https://github.com/ceoloide/ergogen-footprints)
* [Footprints by infused-kim](https://github.com/infused-kim/kb_ergogen_fp)
* [Footprints by sboysel](https://github.com/sboysel/ergogen/tree/develop/src/footprints)
* [Helper scripts](https://github.com/infused-kim/kb_ergogen_helper)
* [KiCad](https://www.kicad.org)
* [KiKit automation tools](https://github.com/yaqwsx/KiKit)
* [OrcaSlicer](https://github.com/SoftFever/OrcaSlicer)```bash
# Include submodules when cloning
git clone --recursive [email protected]:andornaut/splinter-keyboard.git
cd splinter-keyboard# Install dependencies, including Ergogen
nvm use
npm install# Install KiCad
sudo add-apt-repository ppa:kicad/kicad-8.0-releases
sudo apt install kicad# Install KiKit
# Must use the same Python interpreter as KiCad (will not work in a venv)
sudo pip install kikit --break-system-packages# Update submodules
git submodule update --recursive --remote
```Alternatively, you can install OrcaSlicer and Kicad using [these Ansible tasks](https://github.com/andornaut/ansible-ctrl/blob/master/roles/dev/tasks/hobbies.yml).
## Developing
1. Set the `VERSION` environment variable in [`.env`](./.env) to one of "v1" or "v2"
1. Prototype a keyboard layout using [Keyboard Layout Editor](http://www.keyboard-layout-editor.com/)
1. Convert the prototype to a production-ready design using [Ergogen](https://github.com/ergogen/ergogen)
1. Design the PCBs using [KiCad](https://www.kicad.org/)
* Print the PCBs using [JLCPCB](https://jlcpcb.com/), [OSH Park](https://oshpark.com/), or [PCBWay](https://www.pcbway.com/)
1. Model a case using [OnShape](https://cad.onshape.com)
1. Print the case using [OrcaSlicer](https://github.com/SoftFever/OrcaSlicer)
1. Install the [custom QMK firmware](https://github.com/andornaut/qmk_firmware/tree/splinter/keyboards/splinter)### Fix error when running `npm run build`
The `pcbnew` Python library, which is packaged with Kicad, may fail if it cannot find libTKBO, eg.:
```
$ python3
Python 3.12.3 (main, Apr 10 2024, 05:33:47) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pcbnew
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python3/dist-packages/pcbnew.py", line 12, in
import _pcbnew
ImportError: libTKBO.so.7: cannot open shared object file: No such file or directory
```Workaround this issue by installing the missing library:
```
sudo apt install libocct-modeling-algorithms-7.6t64
```