Đây là cấu hình ZMK cho bàn phím split Noru64 với thiết bị bên trái làm center và thiết bị bên phải làm peripheral.
noru64_split/
├── config/
│ ├── boards/arm/noru64_split/
│ │ ├── noru64_split_center.dts # Cấu hình cho thiết bị center (bên trái)
│ │ ├── noru64_split_peripheral.dts # Cấu hình cho thiết bị peripheral (bên phải)
│ │ ├── noru64_split.dtsi # Cấu hình chung
│ │ ├── noru64_split_center_pinctrl.dtsi # Pin control cho center
│ │ ├── noru64_split_peripheral_pinctrl.dtsi # Pin control cho peripheral
│ │ ├── noru64_split_center_defconfig # Defconfig cho center
│ │ ├── noru64_split_peripheral_defconfig # Defconfig cho peripheral
│ │ ├── Kconfig, Kconfig.board, Kconfig.defconfig # Cấu hình Kconfig
│ │ ├── board.cmake # Cấu hình build
│ │ ├── noru64_split.yaml, noru64_split.yml # Metadata
│ │ └── *.keymap # Keymap files
│ ├── info.json # Layout information
│ ├── keymap.json # Keymap configuration
│ ├── west.yml # West manifest
│ ├── noru64_split_center.conf # Config cho center
│ └── noru64_split_peripheral.conf # Config cho peripheral
├── build.yaml # GitHub Actions build matrix
└── README.md # Hướng dẫn này
- Split Keyboard: Thiết bị bên trái là center, bên phải là peripheral
- Bluetooth Low Energy (BLE): Kết nối không dây giữa hai nửa
- RGB Underglow: Hỗ trợ đèn LED WS2812
- Battery Monitoring: Theo dõi pin cho cả hai thiết bị
- USB Connectivity: Kết nối USB cho center
- 3 Layers: Default, Function, và Control layers
Không cần cài đặt gì trên máy local! Project này có GitHub Actions được cấu hình sẵn để tự động build firmware:
- Fork repository này về GitHub account của bạn
- Push code lên GitHub - Actions sẽ tự động build
- Download firmware từ tab "Actions" → "Artifacts" sau khi build hoàn thành
- ✅ Tự động build khi push code
- ✅ Build cho cả 2 board (center + peripheral)
- ✅ Upload firmware artifacts (.uf2 files)
- ✅ Build logs khi có lỗi
- ✅ Release automation khi tạo tag
- ✅ Không cần cài đặt Zephyr SDK, CMake, Ninja
- Zephyr SDK
- West tool
- Python 3.8+
- Clone repository này
- Khởi tạo west workspace:
west init -l config west update
west build -p -b noru64_split_center app -- -DZMK_CONFIG="$(pwd)/config"west build -p -b noru64_split_peripheral app -- -DZMK_CONFIG="$(pwd)/config"Sau khi build thành công, flash firmware vào từng thiết bị:
# Flash center
west flash -b noru64_split_center
# Flash peripheral
west flash -b noru64_split_peripheralKeymap được định nghĩa trong các file:
config/boards/arm/noru64_split/noru64_split.keymap- Keymap chungconfig/keymap.json- Cấu hình keymap JSON
- Default Layer: Các phím cơ bản
- Function Layer: F1-F12, media controls, RGB controls
- Control Layer: Bluetooth controls, bootloader, power management
Fn(mo 1): Chuyển sang Function layerFn(mo 2): Chuyển sang Control layerSpace: Space bar (cả hai nửa)Shift,Ctrl,Alt: Modifier keysEnter,Backspace: Các phím chức năng
- Flash firmware cho center trước
- Flash firmware cho peripheral sau
- Center sẽ tự động kết nối với peripheral qua BLE
- Kết nối center với máy tính qua USB
- Đảm bảo đã cài đặt đầy đủ Zephyr SDK
- Kiểm tra west version:
west --version - Xóa build folder và build lại nếu có lỗi
- Đảm bảo cả hai thiết bị đã được flash firmware
- Reset cả hai thiết bị nếu không kết nối được
- Kiểm tra pin của peripheral
Chỉnh sửa file config/boards/arm/noru64_split/noru64_split.keymap hoặc config/keymap.json
Chỉnh sửa các file .dts và .dtsi trong thư mục config/boards/arm/noru64_split/
Chỉnh sửa các file *_defconfig và *.conf
MIT License - Xem file LICENSE để biết thêm chi tiết.
.github/workflows/zmk-build.yml- Main build workflow.github/workflows/release.yml- Release automation.github/workflows/build.yml- Simple build workflow
- Fork repository này về GitHub account của bạn
- Enable Actions trong repository settings
- Push code - Actions sẽ tự động chạy
- Download firmware từ tab "Actions" → "Artifacts"
Bạn có thể trigger build thủ công:
- Vào tab "Actions" trong GitHub
- Chọn "ZMK Firmware Build"
- Click "Run workflow"
- Chọn board cần build (hoặc "all")
Workflow sẽ build cho:
noru64_split_center- Left side (Center)noru64_split_peripheral- Right side (Peripheral)
Sau khi build thành công, bạn sẽ có:
firmware-noru64_split_center-{commit}.uf2firmware-noru64_split_peripheral-{commit}.uf2build-info.md- Thông tin build
- Build fails: Kiểm tra logs trong tab "Actions"
- Missing artifacts: Đảm bảo build thành công
- Permission errors: Kiểm tra repository permissions
- Đảm bảo đã cài đặt đầy đủ Zephyr SDK
- Kiểm tra west version:
west --version - Xóa build folder và build lại nếu có lỗi
- Đảm bảo cả hai thiết bị đã được flash firmware
- Reset cả hai thiết bị nếu không kết nối được
- Kiểm tra pin của peripheral