{"id":16897665,"url":"https://github.com/texitoi/keyberon-f4","last_synced_at":"2025-04-06T23:16:10.219Z","repository":{"id":45032052,"uuid":"230820838","full_name":"TeXitoi/keyberon-f4","owner":"TeXitoi","description":"A handwired unsplitted ergo keyboard","archived":false,"fork":false,"pushed_at":"2024-10-25T14:33:56.000Z","size":8527,"stargazers_count":144,"open_issues_count":2,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-17T11:58:44.747Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TeXitoi.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":"2019-12-30T00:36:00.000Z","updated_at":"2025-03-15T06:13:04.000Z","dependencies_parsed_at":"2022-07-25T23:30:58.552Z","dependency_job_id":"17f64bd8-e2a3-423b-80e6-cff008bfe5a4","html_url":"https://github.com/TeXitoi/keyberon-f4","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeXitoi%2Fkeyberon-f4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeXitoi%2Fkeyberon-f4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeXitoi%2Fkeyberon-f4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeXitoi%2Fkeyberon-f4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TeXitoi","download_url":"https://codeload.github.com/TeXitoi/keyberon-f4/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247563935,"owners_count":20958971,"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","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":[],"created_at":"2024-10-13T17:39:06.470Z","updated_at":"2025-04-06T23:16:10.189Z","avatar_url":"https://github.com/TeXitoi.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Unsplitted ergo Keyberon [![Build status](https://travis-ci.org/TeXitoi/keyberon-f4.svg?branch=master)](https://travis-ci.org/TeXitoi/keyberon-f4)\n\n## Presentation\n\nA handwired unsplitted ergo keyboard. It uses\n[keyberon](https://github.com/TeXitoi/keyberon) for its firmware.\n\nThe case is totally parametric: you can customize a lot of things, including:\n - number of rows\n - number of columns\n - number of thumb keys\n - angle between the two halves\n - column stagger\n\n## Gallery\n\n### First version\n\n![Keyberon 56](images/keyberon-56.jpg)\n\n### Second version\n\nThe dev board has a dedicated cutout.\n\n6×3+4 layout with a bit more stagger.\n\n![Keyberon 44](images/keyberon-44.jpg)\n\n### Third version\n\nThe \"plate\" is now thick and play the role of case, with just a flat\nsheet for the back.\n\nDefault version (6×3+4):\n\n![Keyberon v3](images/keyberon-f4-v3.jpg)\n\nMinimal version, for testing, with\n```\nnb_cols=2;\nnb_rows=2;\nnb_thumbs=2;\n```\n\n![Keyberon mini](images/keyberon-f4-2x2+2.jpg)\n\n### Fourth version\n\nChoc height and spacing (optional), aligned thumb cluster (optional).\n\n![Keyberon v4](images/keyberon-f4-v4.jpg)\n\nSide view, with choc switches on the left, and MX switches on the\nright. 5 euro cent coin (21.25 mm of diameter) for scale.\n\n![Keyberon side view](images/keyberon-f4-side-view.jpg)\n\nI use this keyboard mostly over the laptop keyboard.\n\n![Keyberon over the laptop](images/keyberon-f4-v4-laptop.jpg)\n\n## Bill of Materials\n\n - a [WeAct MiniF4 development board](https://www.aliexpress.com/item/1005001456186625.html)\n - a 3D printed [plate](cad/plate.stl)\n - a 3D printed [case](cad/case.stl)\n - 44 [Cherry MX compatible keyboard\n   switches](https://www.aliexpress.com/item/32840007937.html) (for\n   the default parameters)\n - 44 [Cherry MX compatible 1U\n   keycaps](https://www.aliexpress.com/item/32830177884.html) (for the\n   default parameters)\n - 44 [1N4148 diodes](https://www.aliexpress.com/item/32660088529.html)\n   (for the default parameters)\n - [Polyurethane Enameled Copper Wire 0.2mm](https://www.aliexpress.com/item/1005003388771247.html)\n - 8 [4mm M3 screws](https://www.aliexpress.com/item/32948746653.html)\n   (or 9 if you opt for center screw in the parameters)\n - 8 [3mm M3 brass inserts](https://www.aliexpress.com/item/32958273559.html)\n   (or 9 if you opt for center screw in the parameters)\n - a [USB-C cable](https://www.aliexpress.com/item/4000624424432.html)\n - a [soldering kit](https://www.aliexpress.com/item/4000019437594.html)\n\nEverything can be found for less than $60 new on Aliexpress without\nthe case.\n\n## Building\n\nYou can follow the [building guide of keyberon\ngrid](https://github.com/TeXitoi/keyberon-grid/blob/master/BUILDING.md)\nor any other handwiring guide. I recommand to read a few to have\ndifferent visions.\n\nFor the wiring of the dev board, refer to the source code for the pins.\n\n## Compiling\n\nInstall the rust toolchain\n\n```shell\ncurl https://sh.rustup.rs -sSf | sh\nrustup target add thumbv7em-none-eabihf\nrustup component add llvm-tools-preview\ncargo install cargo-binutils\n```\n\nCompile the firmware\n\n```shell\ncargo objcopy --bin keyberon-f4 --release -- -O binary keyberon.bin\n```\n\n## Flashing using DFU\n\nPut the developement board in DFU mode by pushing reset while pushing\nboot, and then release boot. Then flash it:\n```shell\ndfu-util -w -d 0483:df11 -a 0 --dfuse-address 0x08000000:leave -D keyberon.bin\n```\n\nThe LED on the board should react to caps lock (if you push caps lock\non another keyboard, the light should toggle), and the user button\nsend space.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftexitoi%2Fkeyberon-f4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftexitoi%2Fkeyberon-f4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftexitoi%2Fkeyberon-f4/lists"}