{"id":24757599,"url":"https://github.com/crolbar/yuki","last_synced_at":"2025-10-11T05:30:44.624Z","repository":{"id":232070918,"uuid":"783264743","full_name":"crolbar/yuki","owner":"crolbar","description":"my keyboard","archived":false,"fork":false,"pushed_at":"2025-03-27T20:15:08.000Z","size":21608,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T08:51:16.548Z","etag":null,"topics":["ergonomic-keyboard","firmware","keeb","keyberon","keyboard","keyboard-firmware","rust","split-keyboard","stm32","stm32f401","usb","yuki"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/crolbar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-07T12:06:36.000Z","updated_at":"2025-04-01T23:14:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa922d1a-b974-4c54-aeb3-1c1909cdb246","html_url":"https://github.com/crolbar/yuki","commit_stats":null,"previous_names":["crolbar/yuki"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/crolbar/yuki","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crolbar%2Fyuki","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crolbar%2Fyuki/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crolbar%2Fyuki/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crolbar%2Fyuki/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crolbar","download_url":"https://codeload.github.com/crolbar/yuki/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crolbar%2Fyuki/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006320,"owners_count":26084085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ergonomic-keyboard","firmware","keeb","keyberon","keyboard","keyboard-firmware","rust","split-keyboard","stm32","stm32f401","usb","yuki"],"created_at":"2025-01-28T15:33:21.303Z","updated_at":"2025-10-11T05:30:44.619Z","avatar_url":"https://github.com/crolbar.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eYUKI\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\nYUKI is a split diodless keyboard with a column stagger layout heavily inspired by \u003ca href=\"https://github.com/diepala/cantor\"\u003ecantor\u003c/a\u003e.\n\u003c/div\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\n![YUKI](.github/assets/YUKI-v0.2-1.jpg)\nMade with [Keyberon](https://github.com/TeXitoi/keyberon)\n\n\u003cbr/\u003e\n\n### Layers\n| Layer                                                                                     | Description              |\n|-------------------------------------------------------------------------------------------|--------------------------|\n| [layer 0](http://www.keyboard-layout-editor.com/#/gists/67aaf9d778e9b2ddf6e25b263cbe5ed5) | Firmware Dvorak          |\n| [layer 1](http://www.keyboard-layout-editor.com/#/gists/5f7a4db98ea4d0b959304c4fe80d1d7f) | Numbers \u0026 Symbols        |\n| [layer 2](http://www.keyboard-layout-editor.com/#/gists/3af9d73abaec154f56b99b5a6c55cf5e) | Less used keys \u0026 Macros  |\n| layer 3                                                                                   | Mouse movement \u0026 buttons |\n| layer 4                                                                                   | Qwerty                   |\n\n\u003cbr/\u003e\n\n### Features\n\n- 44 keys, v0.1 - Cherry MX \u0026 v0.2 - Kailh Choc V1 switches\n- Uses only 1U keycaps\n- TRRS connection is used for communication between the two halves\n- 2 USB-C connectors, with a choice from which the keyboard should send keystrokes\n- Mouse control\n- OLED display (not installed in the v0.2 picture)\n\n\u003cbr/\u003e\n\n\n# Bill of Materials\n\n| Product       | Qty | Note                                                                                                                                                                                                        |\n|---------------|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| YUKI PCB      | 2   | [KiCad](https://kicad.org/) project files can be found in `yuki_pcb` directory. I ordered them from [JLCPCB](https://jlcpcb.com). They are reversible so you will use the same pcb for both left and right. |\n| STM32F401CCU6 | 2   | Can be found on aliexpress. I have ordered mine from a local vendor.                                                                                                                                        |\n| TRRS jacks    | 2   | `PJ-320A`                                                                                                                                                                                                   |\n| TRRS cable    | 1   | 3.5mm jack cable, with 3 stripes.                                                                                                                                                                           |\n| Switches      | 44  | Cherry MX for v0.1 and Kailh Choc V1 for v0.2. Ordered from [splitkb](https://splitkb.com/collections/switches-and-keycaps/products/kailh-low-profile-choc-switches)                                        |\n| Keycaps       | 44  | 1U keycaps. Ordered from [splitkb](https://splitkb.com/collections/switches-and-keycaps/products/blank-mbk-choc-low-profile-keycaps).                                                                       |\n\n\n# Flashing the firmware\n\nYou will need rust installed so:\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n```\n\ncargo-binutils for stripping unused data from the rust binary and other optimizations:\n```\nrustup component add llvm-tools\ncargo install cargo-binutils\n```\n\ndfu-util for flashing:\n```\nsudo pacman -S dfu-util\n```\n\nadd the rust target for the MCU:\n```\nrustup target add thumbv7em-none-eabihf\n```\n\nthen to compile the firmware:\n``` \ncargo objcopy --bin yuki --release -- -O binary yuki.bin\n```\nfor the right board add `--features right`\n\n\nto flash enter dfu by holding BOOT clicking RESET and releasing BOOT and enter (can be tricky):\n```\ndfu-util -d 0483:df11 -a 0 --dfuse-address 0x08000000:leave -D yuki.bin\"\n```\n\nAfter that to enter dfu just hold button 05 and 33 click reset and release the buttons.\n\n### Nix\n\nif you are on NixOS you could use the devShell:\n\nenter the dev shell:\n```\nnix develop\n```\n\nand use the flash script that can be found in `flash.nix`\n```\nflash right\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrolbar%2Fyuki","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrolbar%2Fyuki","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrolbar%2Fyuki/lists"}