/zmk-config

ZMK firmware for Hillside ergonomic keyboards

MIT LicenseMIT

Hillside 48 ZMK firmware

This is a more concise readme suited for Hillside 48. Check the board developer's Readme for a complete take.

image

Build

This is the ZMK firmware for the Hillside family of split ergonomic keyboards.

It contains keymap definition files for the board in ./config:

  • Hillside 48 with 3x6+1+5 keys

Pushing changes will build all the keyboards. You need to be signed in to a GitHub account to push changes and build the firmware. To not waste build time, comment out the keyboards in ./build.yaml that you do not have.

Building the Firmware

  • Fork this repo on GitHub
  • Clone your fork locally
  • Trigger a build:
    • Make a trivial change to ./build.yaml (or any non *.md file)
    • Push that change
  • Look in the Actions tab for the build triggered by that change.
  • Wait for the build to finish
  • Click on the build link next to the green checkbox
  • Download the artifact file with the firmware
  • See Installing The Firmware for more details from there. But a TLDR is below

Flashing UF2 Files

  • Once firmware is downloaded, extract the zip and you can verify it should contain one or more uf2 files, which will be copied to your keyboard.
  • To flash the firmware, first put your board into bootloader mode by double clicking the reset button (either on the MCU board itself, or the one that is part of your keyboard).
  • Copy the correct UF2 file (e.g. left or right if working on a split), and paste it onto the root of that USB mass storage device
  • When the flash is complete, the controller should unmount the USB storage, automatically restart and load your newly flashed firmware
  • After flashing each half individually you can connect them together by resetting them at the same time.

Outro

Once your board works with the default firmware, you can modify the keymap. Your copies of the default Hillside keymaps are in:

Modify those as needed. Pushing the change will trigger a build as above.

If you want to enable features, modify the appropriate ./config/hillside*.conf file.

The Hillside shield definition files should not need to be modified and are in ./config/boards/shields.

More information about each keymap is in their readme files.