{"id":50577375,"url":"https://github.com/gabibrawl/nibunkatsu","last_synced_at":"2026-06-04T23:02:38.008Z","repository":{"id":327470536,"uuid":"1109449112","full_name":"GabiBrawl/Nibunkatsu","owner":"GabiBrawl","description":"にぶんかつ ✦ A Custom Split Keyboard","archived":false,"fork":false,"pushed_at":"2025-12-13T18:40:45.000Z","size":43130,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-14T17:36:49.183Z","etag":null,"topics":["blueprint","kmk-firmware","pcb","split-keyboard"],"latest_commit_sha":null,"homepage":"https://blueprint.hackclub.com/projects/4052","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GabiBrawl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-assets","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-03T20:24:51.000Z","updated_at":"2025-12-13T18:40:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/GabiBrawl/Nibunkatsu","commit_stats":null,"previous_names":["gabibrawl/nibunkatsu"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GabiBrawl/Nibunkatsu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabiBrawl%2FNibunkatsu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabiBrawl%2FNibunkatsu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabiBrawl%2FNibunkatsu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabiBrawl%2FNibunkatsu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GabiBrawl","download_url":"https://codeload.github.com/GabiBrawl/Nibunkatsu/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabiBrawl%2FNibunkatsu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33923190,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"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":["blueprint","kmk-firmware","pcb","split-keyboard"],"created_at":"2026-06-04T23:02:37.137Z","updated_at":"2026-06-04T23:02:38.001Z","avatar_url":"https://github.com/GabiBrawl.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nibunkatsu One ✦ にぶんかつ\n### A Split Mechanical Keyboard Built with Hack Club Blueprint\n\n![Nibunkatsu One](assets/hero2.png)\n\n\u003e にぶんかつ ✦ Nibunkatsu comes from the Japanese word for splitting in half.\n\nNibunkatsu is a compact split keyboard for typing and programming. I'll be using the ESP32-S3 microcontroller with KMK firmware, featuring RGB under the keys, an OLED display on the left half, and a rotary encoder in the right half!!\n\nThis project was created as part of the [Hack Club Blueprint](https://blueprint.hackclub.com) program that empowers high school students to design and build real hardware projects.\n\n**Project Stats:** ~70 hours over the course of 1 week of active work and learning!\n\n---\n\n## Features\n\n- **Split Design** — 5x7 layout per half, including a number row\n- **RGB Underglow** — 28 individually addressable WS2812C LEDs per half\n- **OLED Display** — 0.91\" display for layer status and other keyboard info\n- **Rotary Encoder** — PEC11 encoder for volume control and maybe more?\n- **Hotswap Sockets** — Simple switch replacement without constant soldering\n- **KMK Firmware** — Programmable using Python\n- **TRRS Connection** — A 3.5mm audio cable for split communication between both halves. Also with ESD protection, protecting the MCU's TX/RX pins.\n\n## Repository Structure\n\n```\n├── firmware/     - KMK firmware code and configuration\n├── PCB/          - EasyEDA PCB project files and schematics\n├── CAD/          - 3D models for the keyboard case and plates (.3mf and .step)\n└── assets/       - Work screenshots and photos \n├── bom.csv       - Bill of Materials with supplier links, prices and quantities\n```\n\n---\n\n## Hardware Specifications\n\n### Core Components\n- **Microcontroller:** ESP32-S3-WROOM-1-N4R2\n- **Switches:** Cherry MX compatible hotswap sockets (I'll be personally using Gateron Banana low profile switches)\n- **RGB LEDs:** WS2812C-2020\n- **Display:** 0.91\" OLED (128×32 pixels)\n- **Encoder:** PEC11 rotary encoder with 24 steps and push button\n- **Connection:** TRRS cable for communication between halves\n\n### Schematics\n\n![PCB Schematic](PCB/Rev1/other%20assets/Schematics.png)\nCheck the PCB designs in [here](/PCB/Rev1/)\n\n### Case \u0026 Mounting\nThe case was designed in Shapr3D with 4 printable models:\n- Left case + Left plate\n- Right case + Right plate\n\nBo th available in `.3mf` and `.step` formats positioned in the [`CAD/`](CAD/) directory!\n\n![3D Case Model](assets/day6image2_1.png)\n\n---\n\n## Keymap\n\n3-layer configuration:\n\n- **Layer 0 (Base):** QWERTY layout with a number row\n- **Layer 1 (Shortcuts):** Some operating system shortcuts maybe\n- **Layer 2 (Navigation):** Arrow keys and media controls\n\n## Firmware\n\nWritten in Python using the [KMK firmware framework](https://github.com/KMKfw/kmk_firmware).\n\nThe firmware source code is available in [`firmware/`](firmware/).\n\n---\n\n## Bill of Materials\n\n**Total cost:** €153.11\n\n| Component Type | Part Name | Qty | Other Notes |\n| :--- | :--- | :--- | :--- |\n| **Microcontroller** | ESP32-S3-WROOM-1-N4R2 | 3 | MCU |\n| **Switches** | Gateron Low Profile (Banana) | 54 | Tactile yet silent |\n| **Keycaps** | PBT Low Profile | 1 | Double-shot PBT, getting shine-through letters |\n| **PCB Fabrication** | Custom PCB | 5 | via JLCPCB |\n| **RGB LEDs** | WS2812C-2020 | 55 | Per-key RGB underglow |\n| **Connectivity** | TRRS Cable | 1 | Interconnect cable |\n| **Sockets** | Kailh Hot-Swap Sockets | 100 | Solder-free switch replacement |\n| **Display** | 0.91\" OLED | 1 | 128×32 pixel status display |\n| **Controls** | PEC11 Rotary Encoder | 1 | Volume control |\n| **Misc Electronics** | Diodes, Capacitors, LDOs, Resistors | ~150 | Logic, power regulation, ESD protection |\n\nThe complete CSV with supplier links is available here: [`bom.csv`](bom.csv)\n\n---\n\n## License\n\nThis project uses a three-part licensing model to appropriately protect hardware, software, and documentation.\n\n| Component | License | Covers |\n| :--- | :--- | :--- |\n| **Hardware** | [CERN-OHL-W-2.0](LICENSE-hardware) | PCB designs, schematics, mechanical CAD files |\n| **Firmware** | [MIT License](LICENSE-firmware) | Python/KMK firmware and source code |\n| **Documentation** | [CC BY-SA 4.0](LICENSE-assets) | Assets, photos, diagrams, written guides |\n\n### Why Three Licenses?\n\n- **Hardware (CERN OHL):** Covers physical manufacturing rights and ensures attribution for derivative designs\n- **Firmware (MIT):** Permissive software license allowing easy reuse and integration\n- **Assets (CC BY-SA):** Ensures proper attribution for media assets and documentation\n\n\u003e **Note:** Third-party project dependencies may have different licenses. Please refer to their respective repositories for licensing information.\n\n---\n\n## Acknowledgments\n\nDesigned with 💙 by 𝕲𝕭\n\nSpecial thanks to the Hack Club community for their support!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabibrawl%2Fnibunkatsu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabibrawl%2Fnibunkatsu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabibrawl%2Fnibunkatsu/lists"}