This is a ZMK user config repository for the Sofle keyboard with RGB underglow, OLED displays, and rotary encoders.
- Keyboard: Sofle RGB
- Controller: nice!nano v2 (or compatible nRF52840 board)
- Features: RGB underglow, OLED displays, rotary encoders
The keymap includes 4 layers:
- Base Layer: Standard QWERTY layout
- Lower Layer: Function keys, numbers, and symbols
- Raise Layer: Navigation, Bluetooth controls, and media keys
- Adjust Layer: RGB controls (accessed by holding both Lower and Raise)
- BT Clear: Clear Bluetooth bonds
- BT 1-5: Select Bluetooth profiles
- RGB Toggle: Toggle RGB underglow on/off
- RGB HUE +/-: Adjust hue
- RGB SAT +/-: Adjust saturation
- RGB BRI +/-: Adjust brightness
- RGB Effect: Cycle through effects
- Ext Power: Toggle external power
This repository uses GitHub Actions to automatically build firmware when you push changes.
- Fork this repository
- Enable GitHub Actions in your fork
- Push changes to trigger a build
- Download the firmware from the Actions artifacts
You can edit your keymap visually using the web-based keymap editor:
- Go to https://nickcoutsos.github.io/keymap-editor/
- Sign in with GitHub
- Select this repository
- Edit your keymap visually
- Commit changes directly from the editor
- GitHub Actions will automatically build the new firmware
If you prefer to build locally:
# Install west and dependencies
pip3 install --user -U west
# Initialize workspace
west init -l config/
west update
# Build firmware
west build -s zmk/app -b nice_nano_v2 -- -DSHIELD=sofle_left
west build -s zmk/app -b nice_nano_v2 -- -DSHIELD=sofle_right- Download the
.uf2files from GitHub Actions artifacts or your local build - Connect the keyboard half to your computer
- Double-tap the reset button to enter bootloader mode
- Drag and drop the corresponding
.uf2file to the mounted drive - Repeat for the other half
- Keymap: Edit
config/sofle.keymap - Settings: Edit
config/sofle.conf - Build targets: Edit
build.yaml
MIT License - see LICENSE file for details