Skip to content

Commit 2278265

Browse files
committed
Add custom README instructions for building custom firmware
1 parent fb981ca commit 2278265

File tree

1 file changed

+31
-8
lines changed

1 file changed

+31
-8
lines changed

README.md

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,36 @@
1-
# Zephyr™ Mechanical Keyboard (ZMK) Firmware
1+
# ZMK (For Use With the Ergo S-1 Keyboard)
22

3-
[![Discord](https://img.shields.io/discord/719497620560543766)](https://zmk.dev/community/discord/invite)
4-
[![Build](https://github.com/zmkfirmware/zmk/workflows/Build/badge.svg)](https://github.com/zmkfirmware/zmk/actions)
5-
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](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.
64

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.
86
9-
Check out the website to learn more: https://zmk.dev/.
7+
To create a custom layout and build your own firmware:
108

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)
1214

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

Comments
 (0)