Skip to content

Commit d2e0ed3

Browse files
feat: update documentation and improve configuration
- Add documentation and keymap visualization - Update ZMK configuration for better power management - Add keyboard image for visual reference - Add ZMK Studio support, debounce time optimization
1 parent 2ae85f7 commit d2e0ed3

File tree

6 files changed

+117
-37
lines changed

6 files changed

+117
-37
lines changed

.vscode/extensions.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"recommendations": [
3+
"plorefice.devicetree"
4+
]
5+
}

README.md

Lines changed: 108 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,116 @@
1-
- [中文](README.md)
2-
- [English](README_EN.md)
1+
# 👾 Sofle Keyboard 👾
32

4-
# 更新列表
3+
Here is my configuration guide for the Sofle v2 RGB Bluetooth keyboard kit (created by [@a741725193](https://github.com/a741725193/zmk-sofle)) as found on AliExpress or Taobao.
54

6-
- 2024/12/21
7-
1. 增加zmk-studio支持(只需要刷新左手即可使用)。
8-
- 2024/10/24
9-
1. 修改供电模式,功耗降低。
10-
2. 修正RGB供电自动关闭的功能。
5+
The Sofle is a 6x4+5 keys column-staggered split keyboard with encoder support, which has been [open sourced in 2020](https://josef-adamcik.cz/electronics/let-me-introduce-you-sofle-keyboard-split-keyboard-based-on-lily58.html) by [Josef Adamcik](https://josef-adamcik.cz/). It is based on [Lily58](https://github.com/kata0510/Lily58), [Corne](https://github.com/foostan/crkbd) and [Helix](https://github.com/MakotoKurauchi/helix) keyboards. You can find more details in the GitHub repo for the project and if you like to build it from scratch, here is the [build guide](https://josefadamcik.github.io/SofleKeyboard/build_guide.html).
6+
7+
This Sofle kit is a great and affordable starting point if you want to get into the world of split keyboards but don't yet want to do any soldering.
8+
9+
![Sofle Keyboard](./keyboard.jpg)
10+
11+
## What you will need
12+
13+
**1. Case & PCB**
14+
15+
- [Sofle on AliExpress](https://s.click.aliexpress.com/e/_ooUVBk5)
16+
- NOTE: there are multiple sellers offering the same, but the keyboard builds are ultimately from the same person
17+
- Version 2 of the Sofle only supports MX switches that can be hot swapped
18+
- You will need 58 switches & keycaps
19+
- Bluetooth chip used is the https://www.nordicsemi.com/Products/nRF52840
20+
21+
**2. Switches**
22+
23+
- [Y3 on AliExpress](https://s.click.aliexpress.com/e/_okfiSdT)
24+
- Any MX switches will work, I'm using Y3 linear switches https://www.aliexpress.com/item/1005007821220888.html with an actuation force of 48g
25+
26+
**3. Keycaps**
27+
28+
- I use a combination of keycap sets:
29+
- [SA profile black/yellow PBT keycaps on AliExpress](https://s.click.aliexpress.com/e/_onvZN6v)
30+
- [XDA profile white/yellow PBT keycaps on AliExpress](https://s.click.aliexpress.com/e/_oovVSRn)
31+
32+
## How to get started
33+
34+
Once you have everything, assembly is easy and fully plug & play. After you've inserted the switches and installed the keycaps, you can turn on both sides of the keyboard using the middle switch, and then go to Bluetooth in your settings and pair the device. You can find the default keymap configuration [here](https://github.com/a741725193/zmk-sofle).
35+
36+
### Firmware
37+
38+
Contrary to the original Sofle, this version uses [ZMK](https://zmk.dev) instead of [QMK](https://qmk.fm), which as far as I know is mainly due to better support for wireless using Bluetooth. _"ZMK Firmware is an open source (MIT) keyboard firmware built on the [Zephyr™ Project](https://zephyrproject.org/) Real Time Operating System (RTOS). ZMK's goal is to provide a modern and powerful firmware that is designed for power-efficiency, flexibility, and broad hardware support. ZMK is capable of being used for both wired and wireless input devices."_
1139

12-
> 如果您的键盘于10月24日之前更新,请更新最新的固件。
13-
>
14-
---
15-
# 联系我
40+
### Folder structure
1641

17-
如需3D打印的模型文件或者键盘有任何异常和故障,请联系380465425@qq.com
42+
```shell
43+
.
44+
├── boards/arm/eyelash_sofle # Board definition and configuration files for the Sofle keyboard hardware
45+
│ ├── board.cmake # CMake build script for board-specific build instructions
46+
│ ├── eyelash_sofle_left_defconfig # Default configuration for the left half of the keyboard
47+
│ ├── eyelash_sofle_right_defconfig # Default configuration for the right half of the keyboard
48+
│ ├── eyelash_sofle_left.dts # Device tree source for the left half (hardware layout and connections)
49+
│ ├── eyelash_sofle_right.dts # Device tree source for the right half
50+
│ ├── eyelash_sofle-layouts.dtsi # Shared device tree include for key layouts
51+
│ ├── eyelash_sofle.dtsi # Main device tree include for board hardware definitions
52+
│ ├── eyelash_sofle.keymap # Keymap file for the board (ZMK format)
53+
│ ├── eyelash_sofle.yaml # Board metadata/configuration in YAML format
54+
│ ├── eyelash_sofle.zmk.yml # ZMK-specific board configuration in YAML
55+
│ ├── Kconfig.board # Kconfig options for board selection
56+
│ ├── Kconfig.defconfig # Default Kconfig options for the board
57+
58+
├── config # Configuration and keymap files
59+
│ ├── eyelash_sofle.conf # Main ZMK configuration for the Sofle board
60+
│ ├── eyelash_sofle.json # Keymap and layout in JSON format (for visualization/tools)
61+
│ ├── eyelash_sofle.keymap # Keymap file for firmware (ZMK format)
62+
│ └── west.yml # West manifest for managing Zephyr/ZMK modules and dependencies
63+
64+
├── keymap-drawer # Keymap visualizations and YAML definitions for documentation and tools
65+
│ ├── eyelash_sofle.svg # SVG visualization of the Sofle keymap
66+
│ └── eyelash_sofle.yaml # YAML definition of the Sofle keymap (for keymap-drawer)
67+
68+
├── zephyr
69+
│ └── module.yml # Zephyr module configuration for ZMK integration
70+
```
1871

19-
# Sofle键位图
72+
### Customizing keymap
73+
74+
If you want to customize the keymap, you have three options:
75+
76+
1. [ZMK Studio](https://zmk.studio)
77+
78+
- Allows you to do runtime keymap configuration for ZMK devices i.e., you can make changes without the need to flash new firmware onto your keyboard
79+
- First MVP released to the general public in November 2024, does not yet support all ZMK features
80+
- Here is a list of features currently supported: https://zmk.dev/docs/features/studio#capabilities
81+
- NOTE: ZMK Studio does not yet support export `.keymap` files, hence, many people suggest to first try out your keymap layout with ZMK Studio and once you like it port over the changes to a `.keymap` file so that you can compile a custom ZMK firmware, version control the configuration and flash your keyboard with this firmware.
82+
83+
2. [nickcoutsos/keymap-editor](https://github.com/nickcoutsos/keymap-editor)
84+
85+
- A web based graphical editor of ZMK keymaps, which leverages GitHub Actions to compile the firmware.
86+
- You can try it here: https://nickcoutsos.github.io/keymap-editor/
87+
- Created in August 2020 and since July 2023 the source code is no longer updated as commercial entities have branded and used this project to sell their ZMK based keyboards without contributing back to the original `keymap-editor` project. Hence, the original author [@nickcoutsos](https://github.com/nickcoutsos) decided to pull the plug and no longer make updates to the source code available publicly.
88+
- NOTE: If you want to use the updated Keymap-Editor app you will need to authorize it with your GitHub account so that it can push updates and trigger the GitHub Action.
89+
- If you do not want this you could self-host an older version of `keymap-editor` from when the source code was shared or do a firmware update without the graphical editor as described in option 3
90+
91+
3. [Flashing of ZMK firmware without a graphical editor](https://zmk.dev/docs/user-setup)
92+
93+
- This is the recommended process of setting up and configuring ZMK as described in the documentation
94+
- NOTE: If you've forked this repository, you can manually edit the [eyelash_sofle.keymap](./config/eyelash_sofle.keymap) file and push any changes, which will trigger GitHub actions to build the new firmware file
95+
96+
To flash the firmware for option 2 & 3, download the firmware from GitHub Actions once it has successfully completed. _"Then 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). The controller should appear in your OS as a new USB storage device."_
97+
98+
_"Once this happens, 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. Once the flash is complete, the controller should unmount the USB storage, automatically restart and load your newly flashed firmware. It is recommended that you test your keyboard works over USB first to rule out hardware issues, before trying to connect to it wirelessly."_ Complete instructions can be found here: https://zmk.dev/docs/user-setup#installing-the-firmware
99+
100+
### Current keymap configuration
20101

21102
<img src="keymap-drawer/sofle.svg" >
22103

104+
## Changelog
105+
106+
- 2025/3/30
107+
1. Increase sleep entry time by 1 hour, increase debounce time, optimize post-sleep power consumption.
108+
- 2024/12/21
109+
1. Added support for zmk-studio (just refresh the left hand to use).
110+
- 2024/10/24
111+
1. Modified power supply mode to reduce power consumption.
112+
2. Fixed the automatic shut-off feature for RGB power supply.
113+
114+
> If your keyboard was updated before October 24, please update to the latest firmware.
115+
116+
For 3D printed model files or any issues and malfunctions with the keyboard, please contact 380465425@qq.com

README_EN.md

Lines changed: 0 additions & 23 deletions
This file was deleted.

config/eyelash_sofle.conf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,6 @@ CONFIG_ZMK_BACKLIGHT=y
4545
CONFIG_ZMK_BACKLIGHT_BRT_START=100
4646
CONFIG_ZMK_BACKLIGHT_ON_START=y
4747
CONFIG_ZMK_BACKLIGHT_AUTO_OFF_IDLE=n
48+
49+
CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=8
50+
CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=8

keyboard.jpg

305 KB
Loading

keymap-drawer/eyelash_sofle.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
layout: {zmk_keyboard: eyelash_sofle}
12
layers:
23
LAYER0:
34
- $$mdi:keyboard-esc$$

0 commit comments

Comments
 (0)