Giter Site home page Giter Site logo

dao-zmk-config's Introduction

ZMK Firmware for Dao keyboard

This is a repository for a ZMK Firmware for both Dao42 and Dao44 keyboards.

  • main branch is for Dao42
  • dao44 branch is, obviously, for Dao44

Default keymap

Dao42

Visual representation of the default keymap in keyboard-layout-editor: KLE

This layout is heavily inspired by this

Dao44

Visual representation of the default keymap in keyboard-layout-editor: KLE

This layout is heavily inspired by this

Because of current ZMK limitations, Dao44 keymap is in the branch dao44

FAQ

How to change the keymap?

  1. Fork the repository https://github.com/yumagulovrn/dao-zmk-config
  2. Make changes to the dao.keymap file in your repository OR use wonderful https://nickcoutsos.github.io/keymap-editor/
  3. Commit changes to your repository
  4. Go to Actions tab in your repository
  5. Wait for the GitHub Action to complete
  6. Grab firmware.zip file - it contains firmware for both of your halves

How to flash the keyboard?

  1. Obtain firmware.zip
  2. Unzip firmware.zip - you should have dao_left.uf2 and dao_right.uf2 files
  3. Turn off the power for selected halve (move slider to position OFF)
  4. Connect selected halve to the PC via USB-C cable
  5. Press RESET button twice to enter DFU mode - you should see new USB device in your file manager
  6. Copy the corresponding firmware to the root directory of the new USB device
  7. Disconnect selected halve from the PC
  8. Repeat steps 3-7 for the other halve

How to pair halves?

  1. Turn off the power for both halves (move slider to position OFF)
  2. Turn on the power for both halves (move slider to position ON)
  3. Press RESET button once on both halves simultaneously

Problems

I'm getting File Transfer Error after copying firmware to the keyboard

It's OK. Proof: https://zmk.dev/docs/troubleshooting#file-transfer-error

dao-zmk-config's People

Contributors

doctorcooper avatar ladniy avatar olegshirko avatar pashutk avatar radikru96 avatar yumagulovrn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dao-zmk-config's Issues

undefined node label 'reset'

Hi yumagulovrn, thanks for putting this together! Been loving my keyboard.

I'm not sure if I'm the only one encountering this issue, but I can't seem to run the github action even when running a fresh fork of the repository. I've pasted part of the github action error below. Based on this it seems like the reset is causing the issue. undefined node label 'reset'

Any pointers would be much appreciated!

Run west build -s zmk/app -b dao_left -- -DZMK_CONFIG=${GITHUB_WORKSPACE}/config  
-- west build: generating a build system
Loading Zephyr default modules (Zephyr base).
-- Application: /__w/dao-zmk-config/dao-zmk-config/zmk/app
-- Adding ZMK config directory as board root: /__w/dao-zmk-config/dao-zmk-config/config
-- ZMK Config directory: /__w/dao-zmk-config/dao-zmk-config/config
-- Using keymap file: /__w/dao-zmk-config/dao-zmk-config/config/boards/arm/dao/dao_left.keymap
-- Found Python3: /usr/bin/python3.8 (found suitable exact version "3.8.10") found components: Interpreter 
-- Cache files will be written to: /__w/dao-zmk-config/dao-zmk-config/zephyr/.cache
-- Zephyr version: 3.2.0 (/__w/dao-zmk-config/dao-zmk-config/zephyr)
-- Found west (found suitable version "0.1[4](https://github.com/LukeAndersonTrocme/dao-zmk-config/actions/runs/4846907985/jobs/8636719027#step:9:5).0", minimum required is "0.7.1")
-- Board: dao_left
-- ZEPHYR_TOOLCHAIN_VARIANT not set, trying to locate Zephyr SDK
-- Found host-tools: zephyr 0.1[5](https://github.com/LukeAndersonTrocme/dao-zmk-config/actions/runs/4846907985/jobs/8636719027#step:9:6).2 (/opt/zephyr-sdk-0.15.2)
-- Found toolchain: zephyr 0.15.2 (/opt/zephyr-sdk-0.15.2)
-- Found Dtc: /opt/zephyr-sdk-0.15.2/sysroots/x8[6](https://github.com/LukeAndersonTrocme/dao-zmk-config/actions/runs/4846907985/jobs/8636719027#step:9:7)_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6") 
-- Found BOARD.dts: /__w/dao-zmk-config/dao-zmk-config/config/boards/arm/dao/dao_left.dts
-- Found devicetree overlay: /__w/dao-zmk-config/dao-zmk-config/config/boards/arm/dao/dao_left.keymap
devicetree error: /keymap/adjust_layer: undefined node label 'reset'
CMake Error at /__w/dao-zmk-config/dao-zmk-config/zephyr/cmake/modules/dts.cmake:230 (message):
-- In: /__w/dao-zmk-config/dao-zmk-config/build/zephyr, command: /usr/bin/python3.[8](https://github.com/LukeAndersonTrocme/dao-zmk-config/actions/runs/4846907985/jobs/8636719027#step:9:9);/__w/dao-zmk-config/dao-zmk-config/zephyr/scripts/dts/gen_defines.py;--dts;/__w/dao-zmk-config/dao-zmk-config/build/zephyr/zephyr.dts.pre;--dtc-flags;'';--bindings-dirs;/__w/dao-zmk-config/dao-zmk-config/zmk/app/drivers/zephyr/dts/bindings;/__w/dao-zmk-config/dao-zmk-config/zmk/app/dts/bindings;/__w/dao-zmk-config/dao-zmk-config/zephyr/dts/bindings;--header-out;/__w/dao-zmk-config/dao-zmk-config/build/zephyr/include/generated/devicetree_generated.h.new;--dts-out;/__w/dao-zmk-config/dao-zmk-config/build/zephyr/zephyr.dts.new;--edt-pickle-out;/__w/dao-zmk-config/dao-zmk-config/build/zephyr/edt.pickle;--vendor-prefixes;/__w/dao-zmk-config/dao-zmk-config/zmk/app/dts/bindings/vendor-prefixes.txt;--vendor-prefixes;/__w/dao-zmk-config/dao-zmk-config/zephyr/dts/bindings/vendor-prefixes.txt
  gen_defines.py failed with return code: 1
Call Stack (most recent call first):
  /__w/dao-zmk-config/dao-zmk-config/zephyr/cmake/modules/zephyr_default.cmake:108 (include)
  /__w/dao-zmk-config/dao-zmk-config/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
  /__w/dao-zmk-config/dao-zmk-config/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:[9](https://github.com/LukeAndersonTrocme/dao-zmk-config/actions/runs/4846907985/jobs/8636719027#step:9:10)2 (include_boilerplate)
  CMakeLists.txt:[15](https://github.com/LukeAndersonTrocme/dao-zmk-config/actions/runs/4846907985/jobs/8636719027#step:9:16) (find_package)


-- Configuring incomplete, errors occurred!
FATAL ERROR: command exited with status 1: /usr/local/bin/cmake -DWEST_PYTHON=/usr/bin/python3 -B/__w/dao-zmk-config/dao-zmk-config/build -GNinja -DBOARD=dao_left -DZMK_CONFIG=/__w/dao-zmk-config/dao-zmk-config/config -S/__w/dao-zmk-config/dao-zmk-config/zmk/app
Error: Process completed with exit code 1.

Keymap diagram omits "<" & ">"

Keymap diagram omits "<" & ">". This was frustrating until I found it by experimentation. It was right where it is usually found, default layer, shift over comma and period. Thank you to yumagulovrn for this terrific keyboard!

Build failed

Seems like it's caused by Zephyr update, fresh build from main branch starts to fail:

Run west build -s zmk/app -d "/tmp/tmp.vK5ENHs8Ax" -b "dao_right" -- -DZMK_CONFIG=/__w/dao-zmk-config/dao-zmk-config/config  
+ west build -s zmk/app -d /tmp/tmp.vK5ENHs8Ax -b dao_right -- -DZMK_CONFIG=/__w/dao-zmk-config/dao-zmk-config/config
-- west build: generating a build system
Loading Zephyr default modules (Zephyr base).
-- Application: /__w/dao-zmk-config/dao-zmk-config/zmk/app
-- CMake version: 3.28.1
-- Found Python3: /usr/bin/python3 (found suitable version "3.8.10", minimum required is "3.8") found components: Interpreter 
-- Cache files will be written to: /__w/dao-zmk-config/dao-zmk-config/zephyr/.cache
-- Zephyr version: 3.5.0 (/__w/dao-zmk-config/dao-zmk-config/zephyr)
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Adding ZMK config directory as board root: /__w/dao-zmk-config/dao-zmk-config/config
-- ZMK Config directory: /__w/dao-zmk-config/dao-zmk-config/config
-- Using keymap file: /__w/dao-zmk-config/dao-zmk-config/config/dao.keymap
-- Using keymap file: /__w/dao-zmk-config/dao-zmk-config/config/dao.keymap
-- Board: dao_right
-- ZEPHYR_TOOLCHAIN_VARIANT not set, trying to locate Zephyr SDK
-- Found host-tools: zephyr 0.16.3 (/opt/zephyr-sdk-0.16.3)
-- Found toolchain: zephyr 0.16.3 (/opt/zephyr-sdk-0.16.3)
-- Found Dtc: /opt/zephyr-sdk-0.16.3/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6") 
-- Found BOARD.dts: /__w/dao-zmk-config/dao-zmk-config/config/boards/arm/dao/dao_right.dts
-- Found devicetree overlay: /__w/dao-zmk-config/dao-zmk-config/config/dao.keymap
devicetree error: 'pinctrl-0' is marked as required in 'properties:' in /__w/dao-zmk-config/dao-zmk-config/zephyr/dts/bindings/serial/nordic,nrf-uarte.yaml, but does not appear in <Node /soc/uart@40002000 in '/__w/dao-zmk-config/dao-zmk-config/zephyr/misc/empty_file.c'>
CMake Error at /__w/dao-zmk-config/dao-zmk-config/zephyr/cmake/modules/dts.cmake:279 (message):
-- In: /tmp/tmp.vK5ENHs8Ax/zephyr, command: /usr/bin/python3;/__w/dao-zmk-config/dao-zmk-config/zephyr/scripts/dts/gen_defines.py;--dts;/tmp/tmp.vK5ENHs8Ax/zephyr/zephyr.dts.pre;--dtc-flags;'';--bindings-dirs;/__w/dao-zmk-config/dao-zmk-config/zmk/app/module/dts/bindings;/__w/dao-zmk-config/dao-zmk-config/zmk/app/dts/bindings;/__w/dao-zmk-config/dao-zmk-config/zephyr/dts/bindings;--header-out;/tmp/tmp.vK5ENHs8Ax/zephyr/include/generated/devicetree_generated.h.new;--dts-out;/tmp/tmp.vK5ENHs8Ax/zephyr/zephyr.dts.new;--edt-pickle-out;/tmp/tmp.vK5ENHs8Ax/zephyr/edt.pickle;--vendor-prefixes;/__w/dao-zmk-config/dao-zmk-config/zmk/app/dts/bindings/vendor-prefixes.txt;--vendor-prefixes;/__w/dao-zmk-config/dao-zmk-config/zephyr/dts/bindings/vendor-prefixes.txt
  gen_defines.py failed with return code: 1
Call Stack (most recent call first):
  /__w/dao-zmk-config/dao-zmk-config/zephyr/cmake/modules/zephyr_default.cmake:[12](https://github.com/radio-van/dao-zmk-config/actions/runs/8036779131/job/21950895208#step:11:13)9 (include)
  /__w/dao-zmk-config/dao-zmk-config/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
  /__w/dao-zmk-config/dao-zmk-config/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  CMakeLists.txt:8 (find_package)


-- Configuring incomplete, errors occurred!
FATAL ERROR: command exited with status 1: /usr/local/bin/cmake -DWEST_PYTHON=/usr/bin/python3 -B/tmp/tmp.vK5ENHs8Ax -GNinja -DBOARD=dao_right -DZMK_CONFIG=/__w/dao-zmk-config/dao-zmk-config/config -S/__w/dao-zmk-config/dao-zmk-config/zmk/app
Error: Process completed with exit code 1.

Bluetooth connection issues with multiple devices

I have serious problems connecting since my last changes two months ago. I can't connect to multiple devices anymore when switching to another device as the previous connection seems to be held. I tried multiple BT_CLRs and sys resets. i didn't have any problems two months ago.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.