Prototype for the [eepyBoard](https://git.0xbd.space/binaryDiv/eepyBoard). Simplified split keyboard to find out the optimal distance and rotation.
Go to file
Lexi / Zoe c0049b6d43
Firmware: Add right half of keyboard, add Fn layer
2024-07-01 10:10:51 +02:00
ergogen PCB: Update outline and place mounting holes 2024-06-12 20:46:47 +02:00
kicad KiCad: Generate gerber files for rev1 2024-06-13 00:53:47 +02:00
qmk_keyboards/binarydiv/protoeepyboard/v1 Firmware: Add right half of keyboard, add Fn layer 2024-07-01 10:10:51 +02:00
.gitignore Initial commit 2024-06-06 00:13:41 +02:00
LICENSE Initial commit 2024-06-06 00:13:41 +02:00
Makefile Firmware: Add initial QMK firmware code and keymap 2024-06-21 01:55:51 +02:00
README.md Add routed KiCad PCB file 2024-06-13 00:13:22 +02:00
package-lock.json Initial commit 2024-06-06 00:13:41 +02:00
package.json Initial commit 2024-06-06 00:13:41 +02:00

README.md

eepyBoard Prototype

Prototype for the eepyBoard, which is going to be a custom ergonomic mechanical keyboard with low-profile (Kailh Choc) switches.

This prototype is a simplified split keyboard to find out the optimal distance and rotation for the actual eepyBoard, which is going to be a singular/non-split keyboard with a split layout.

Repository structure

  • /layouts: Keyboard layouts created with the Keyboard Layout Editor
  • /ergogen: Ergogen files to generate outlines, cases and PCBs
  • /kicad: KiCad PCBs and generated files
  • /3d_prints: 3D models for the enclosure
  • /qmk_keyboards: QMK keyboard files to compile and flash the QMK firmware

How-to

Generating the PCB

The KiCad PCB files are generated using Ergogen. Then they need to be manually routed and finalized in KiCad before they can be exported as Gerber files and send to a PCB manufacturer.

Generating KiCad files with Ergogen

To generate the KiCad PCB file with Ergogen, first install Ergogen using npm: npm install.

Then, run npm run ergogen. You can find the KiCad file in ergogen/output/pcbs/protoeepyboard.kicad_pcb. Copy the file to kicad/protoeepyboard.kicad_pcb.

Routing and finalizing the KiCad files

Open the file in KiCad (create a project if non exists yet). Finalize the PCB in KiCad.

  1. (Optional) Run the Design Rules Checker. Check the errors. Most of them can be ignored/excluded.
    • All "Footprint not found in libraries" can be ignored completely. This is due to how Ergogen generates the PCB.
  2. Route all signal traces.
  3. Run the Design Rules Checker and make sure there are no (relevant) violations.
  4. Add some fancy text on the F.Silkscreen layer.

Export Gerber files

Now you can generate the gerber, drill and map files.

  1. Generate Gerber files.
    • Menu: File -> Fabrication Output -> Gerbers
    • Select plot format Gerber.
    • Set output directory to gerber/rev1/ (adjust for current revision).
    • Set coordinate format to 4.6, unit mm.
    • Click Plot to generate files.
  2. Generate drill and map files.
    • In the previous dialog, click Generate Drill Files....
    • Set drill file format to Excellon.
    • Set drill units to millimeters.
    • Set same output directory as above.
    • Click Generate Drill File, then Generate Map File
  3. Create zip file with all generated files from kicad/gerber/{REVISION}.
    • No subdirectories, only files.
    • Ideally name the file protoeepyboard_{REVISION}.zip.
  4. Upload zip file to manufacturer and make sure everything is correct.
  5. Add all generated files to version control (the zip should be on gitignore).

Compile and flash QMK firmware

To compile the QMK firmware, you first need the qmk CLI and a local copy of the QMK firmware.

  1. Install the qmk CLI using your favorite package manager.
  2. Run qmk setup to clone a local copy of the QMK firmware. (By default in ~/qmk_firmware, feel free to adjust.)

The firmware for this keyboard is compiled using the local copy of QMK and the keyboard definitions in qmk_keyboards which are automatically symlinked to your installed QMK firmware directory (defaults to ~/qmk_firmware, can be overridden by setting QMK_HOME in your environment). A Makefile is provided to simplify compiling and flashing.

To compile and flash the firmware, run make qmk-flash.

After compiling the firmware, you will be asked to put your keyboard into bootloader mode. This can be done either by pressing the reset button on the backside of the keyboard, or by using the QK_BOOTLOADER keycode (TODO: where is the keycode mapped to on the protoEepyBoard?).

You can also run make qmk-activate which will run qmk config to set user.keyboard and user.keymap to this keyboard. This allows you to use the qmk CLI directly without specifying the keyboard and keymap everytime.

Used software

Resources