|
1 | | -# Zephyr™ Mechanical Keyboard (ZMK) Firmware |
| 1 | +# ZMK (For Use With the Ergo S-1 Keyboard) |
2 | 2 |
|
3 | | -[](https://zmk.dev/community/discord/invite) |
4 | | -[](https://github.com/zmkfirmware/zmk/actions) |
5 | | -[](CODE_OF_CONDUCT.md) |
| 3 | +This repo is a fork of [ZMK](https://github.com/zmkfirmware/zmk) that allows you to build custom firmware for your Ergo S-1 keyboard. |
6 | 4 |
|
7 | | -[ZMK Firmware](https://zmk.dev/) is an open source ([MIT](LICENSE)) keyboard firmware built on the [Zephyr™ Project](https://www.zephyrproject.org/) Real Time Operating System (RTOS). ZMK's goal is to provide a modern, wireless, and powerful firmware free of licensing issues. |
| 5 | +> NOTE: This repo is intended to provide customization for the [Ergo S-1](https://github.com/wizarddata/Ergo-S-1) keyboard only. These instructions will probably not work with any other custom keyboards. |
8 | 6 |
|
9 | | -Check out the website to learn more: https://zmk.dev/. |
| 7 | +To create a custom layout and build your own firmware: |
10 | 8 |
|
11 | | -You can also come join our [ZMK Discord Server](https://zmk.dev/community/discord/invite). |
| 9 | + - First, follow the instructions in [my other GitHub repo](https://github.com/arcanemachine/ergo-s-1-zmk-config) to create a custom keymap file. (The file will be located at `config/ergo_s1_oe.keymap` in the other repo.) |
| 10 | + - You can also just copy the keymap directly from the Keymap Editor web application and paste its contents to the correct path in this repo (described in the next steps). |
| 11 | + - Once you have created a keymap, clone this repo (the one you are currently reading) so you can set up a ZMK development environment and build a custom firmware using your new keymap. |
| 12 | + - Copy your new keymap file to the correct location in this repo (the one you are currently reading): `app/boards/shields/ergo_s1_oe/ergo_s1_oe.keymap` |
| 13 | + - Set up your ZMK development environment (NOTE: The native version did not work for me, but the Dockerized version (using Devcontainers CLI) did work): [Link to docs](https://zmk.dev/docs/development/local-toolchain/setup/container?container=cli), [Archived link to docs](https://archive.is/hkw83) |
12 | 14 |
|
13 | | -To review features, check out the [feature overview](https://zmk.dev/docs/). ZMK is under active development, and new features are listed with the [enhancement label](https://github.com/zmkfirmware/zmk/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement) in GitHub. Please feel free to add 👍 to the issue description of any requests to upvote the feature. |
| 15 | +> NOTE: If you install the Dockerized version, ensure that you are running the following commands from the Devcontainers CLI terminal that is running inside the container. |
| 16 | +
|
| 17 | + - Once you have installed your ZMK development environment, run the following commands to build the custom firmware for each side of the keyboard: |
| 18 | + - Navigate to the `app` directory: `cd app` |
| 19 | + - Build the firmware for the left side: `west build -d build/left -p -b nice_nano -- -DSHIELD=ergo_s1_oe_left` |
| 20 | + - Build the firmware for the right side: `west build -d build/right -p -b nice_nano -- -DSHIELD=ergo_s1_oe_right` |
| 21 | + - (If using Docker) Move the files to a path that is outside the Docker volume: |
| 22 | + - `mv build/left/zephyr/zmk.uf2 ../ergo_s1_oe_left.uf2` |
| 23 | + - `mv build/right/zephyr/zmk.uf2 ../ergo_s1_oe_right.uf2` |
| 24 | + - Now that you have the firmware files, you can flash them to the keyboard. Perform the following instructions for each side of the keyboard: |
| 25 | + - Double-press the reset button on the back of the keyboard to enter the bootloader mode. |
| 26 | + - Plug in a USB cable to the keyboard so you can flash the firmware file. |
| 27 | + - The keyboard will appear as a mounted drive in your file explorer. |
| 28 | + - Copy the firmware file for the correct side to this mounted drive. |
| 29 | + - After the file is copied, the keyboard will automatically reset itself, and will be working with the new firmware. |
| 30 | + - Now, repeat these steps to flash the correct firmware for the other side of the keyboard. |
| 31 | + |
| 32 | +Congratulations! You have finished flashing your custom keymap to your Ergo S-1 keyboard! |
| 33 | + |
| 34 | +--- |
| 35 | + |
| 36 | +Special thanks to the creator of the Ergo S-1 keyboard! |
0 commit comments