No description
Find a file
2026-05-16 23:19:27 +07:00
.github/workflows fix: downgrade to v0.3 2026-05-02 11:35:38 +07:00
boards/shields feat: initial setup for Sofle v1 wireless 2025-05-30 11:13:20 +07:00
config perf(sofle): fix Bluetooth stability 2026-05-16 23:19:27 +07:00
zephyr feat: initial setup for Sofle v1 wireless 2025-05-30 11:13:20 +07:00
.envrc feat: initial setup for Sofle v1 wireless 2025-05-30 11:13:20 +07:00
.gitignore build: local build target 2026-05-16 22:53:21 +07:00
build.yaml fix: downgrade to v0.3 2026-05-02 11:35:38 +07:00
flake.lock feat: initial setup for Sofle v1 wireless 2025-05-30 11:13:20 +07:00
flake.nix build: local build target 2026-05-16 22:53:21 +07:00
LICENSE docs: add license 2025-05-30 13:16:14 +07:00
Makefile build: local build target 2026-05-16 22:53:21 +07:00
README.md build: local build target 2026-05-16 22:53:21 +07:00

ZMK Config

Hardware

Sofle v1

  • NRF52840 bluetooth
  • nice!view v2 OLED.

Current firmware info:

UF2 Bootloader 0.6.0 lib/nrfx (v2.0.0) lib/tinyusb (0.10.1-41-gdf0cda2d) lib/uf2 (remotes/origin/configupdate-9-gadbb8c7)
Model: nice!nano
Board-ID: nRF52840-nicenano
SoftDevice: S140 version 6.1.1
Date: Jun 19 2021

Flashing

  • Download firmware.zip from GitHub Actions
  • Extract firmware.zip
  • Flash one half at a time (flash the left half first and test it over USB):
    • Put the half into bootloader mode by double-clicking reset on the back
    • Plug in USB, a NICENANO volume should appear
    • Copy the matching file to the volume (*left*.uf2 or *right*.uf2)
    • Wait for the volume to unmount automatically
  • Power off both halves
  • Power both halves back on to let them pair

If a half stops working, flash *settings_reset*.uf2 first, then flash that half again.

Local build

Build firmware with the same ZMK container used by GitHub Actions:

make

Generated UF2 files are written to ./build/artifacts.