{"id":18789147,"url":"https://github.com/hmasdev/hmproto34","last_synced_at":"2026-02-23T18:07:34.270Z","repository":{"id":240957218,"uuid":"803815885","full_name":"hmasdev/hmproto34","owner":"hmasdev","description":"a hand-fitted splitted keyboard with 34 keys.","archived":false,"fork":false,"pushed_at":"2024-12-29T06:16:08.000Z","size":1104,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-29T07:19:43.984Z","etag":null,"topics":["keyboard","qmk-firmware"],"latest_commit_sha":null,"homepage":"","language":"C","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/hmasdev.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-05-21T12:40:50.000Z","updated_at":"2024-12-29T06:16:11.000Z","dependencies_parsed_at":"2024-09-05T15:47:13.025Z","dependency_job_id":"91f21d0c-efff-463f-975d-8526b5bf1058","html_url":"https://github.com/hmasdev/hmproto34","commit_stats":null,"previous_names":["hmasdev/hmproto34"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmasdev%2Fhmproto34","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmasdev%2Fhmproto34/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmasdev%2Fhmproto34/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmasdev%2Fhmproto34/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hmasdev","download_url":"https://codeload.github.com/hmasdev/hmproto34/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239709210,"owners_count":19684214,"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":["keyboard","qmk-firmware"],"created_at":"2024-11-07T21:06:48.574Z","updated_at":"2025-12-25T23:30:12.566Z","avatar_url":"https://github.com/hmasdev.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hmproto34\n\n![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/hmasdev/hmproto34?sort=semver)\n![GitHub Liecense](https://img.shields.io/github/license/hmasdev/hmproto34)\n![GitHub last commit](https://img.shields.io/github/last-commit/hmasdev/hmproto34)\n![Scheduled Build](https://github.com/hmasdev/hmproto34/actions/workflows/compile-firmware-on-schedule.yaml/badge.svg)\n![Scheduled Sync With hmproto34s](https://github.com/hmasdev/hmproto34/actions/workflows/sync-with-hmproto34s.yaml/badge.svg)\n\nhmproto34 is a hand-fitted keyboard with 34 keys.\n\n![hmproto34](./pics/hmproto34.jpg)\n\n## How to Use Firmware\n\nThe most simple way to use hmproto34 is to flash the pre-built firmware to your keyboard.\n\nDownload the latest firmware from [Releases](https://github.com/hmasdev/hmproto34/releases) and follow the instructions in [How to Flash Firmware](#how-to-flash-firmware).\n\nThe next 2 subsections explain how to build firmware and flash it to your keyboard.\n\nIf you want to know how to build the keyboard, see [How to Build Keyboard](#how-to-build-keyboard).\n\n### How to Build Firmware\n\n1. Setup your QMK environment\n   - if you use Windows, install [QMK MSYS](https://msys.qmk.fm/)\n   - See [https://docs.qmk.fm/#/newbs_getting_started?id=set-up-your-environment](https://docs.qmk.fm/#/newbs_getting_started?id=set-up-your-environment) for more information.\n   - NOTE: assume that `qmk_firmware` directory is located at `~/qmk_firmware` in the following steps.\n\n2. Open QMK MSYS\n   - If you use Windows, open QMK from the start menu. See [https://msys.qmk.fm/guide.html#next-steps](https://msys.qmk.fm/guide.html#next-steps).\n\n3. Clone this repository\n\n   ```sh\n   cd ~/qmk_firmware/keyboards\n   git clone git@github.com:hmasdev/hmproto34.git\n   ```\n\n4. Build firmware\n\n   ```sh\n   qmk compile -kb hmproto34 -km default\n   ```\n\nGood! Now, you have a built firmware in `~/qmk_firmware/.build/hmproto34_default.hex`.\n\n### How to Flash Firmware\n\n1. Visit [Pro Micro Web Updater](https://sekigon-gonnoc.github.io/promicro-web-updater/index.html);\n2. Select the firmware file (`~/qmk_firmware/.build/hmproto34_default.hex`);\n3. Connect your left keyboard to your computer and press its reset button;\n4. Click the `Flash` button on the website;\n5. Wait for the flashing process to complete;\n6. Repeat steps 3-5 for the right keyboard.\n\nOK. Now, you can use your hmproto34 keyboard! Try typing something!\n\n## How to Customize Keymap\n\n1. After step 3. of [How to Build Firmware](#how-to-build-firmware), edit `~/qmk_firmware/keyboards/hmproto34/keymaps/default/keymap.c` to customize your keymap. If you want to add a new keymap, run `qmk new-keymap`;\n\n2. Build firmware again;\n\n   ```sh\n   qmk compile -kb hmproto34 -km {default or your keymap name}\n   ```\n\n3. [Flash firmware again](#how-to-flash-firmware);\n\n## How to Build Keyboard\n\n### Required Components\n\n| Component | Quantity | Note |\n| --- | --- | --- |\n| PCB | 2 | [Gerber files](./pcb) |\n| Top Plate | 2 | [Gerber files](./top_plate) |\n| Pro Micro | 2 | |\n| TRRS Jack | 2 | |\n| TRRS Cable | 1 | 3 or 4 poles |\n| Tactile Switch | 2 | Reset Switch |\n| Kalih PCB Socket | 34 | For MX Compatible Switch |\n| MX Compatible Switch | 34 | |\n| KeyCap | 30 (1u), 4 (1u-2u) | |\n| Micro USB Cable | 1 | the type of USB depends on the Pro Micro |\n\n### Assembly Steps\n\n1. Solder PCB Sockets to the bottom of PCBs;\n2. Attach diodes to the top of PCBs and solder them on the bottom of PCBs;\n3. Attach tactile switches and TRRS jacks to the top of PCBs and solder them on the bottom of PCBs;\n4. Attach Pro Micros to the top of PCBs;\n\n   ![Top of PCBs](./pics/top-of-pcb.jpg)\n\n   ![Bottom of PCBs](./pics/bottom-of-pcb.jpg)\n\n5. Attach key switches to the top plate;\n\n   ![Attach Key Switches to Top Plate](./pics/attach-keyswitches-to-top-plate.jpg)\n\n6. Joint the top plate and PCBs;\n7. Build and flash firmware;\n   - See [How to Build Firmware](#how-to-build-firmware) and [How to Flash Firmware](#how-to-flash-firmware) for more information.\n8. Connect the left and right keyboards with a TRRS cable;\n9. Enjoy typing!\n\n## PCB and Top Plate\n\n### PCB\n\nGerber files are located in [./pcb](./pcb) directory.\nYou can order PCBs from PCB manufacturers like JLCPCB etc.\n\n### Top Plate\n\nGerber files are located in [./top_plate](./top_plate) directory.\nYou can order PCBs from PCB manufacturers like JLCPCB etc.\n\nSee [./top_plate/hmproto34-Edge_Cuts.svg](./top_plate/hmproto34-Edge_Cuts.svg) for the shape of the top plate.\n\n## How to Contribute\n\n1. Fork the repository: [https://github.com/hmasdev/hmproto34](https://github.com/hmasdev/hmproto34)\n2. Clone the repository\n\n   ```bash\n   git clone https://github.com/{YOURE_NAME}/hmproto34.git\n   cd hmproto34\n   ```\n\n3. Checkout your working branch\n\n   ```bash\n   git checkout -b your-working-branch\n   ```\n\n4. Make your changes\n\n5. Commit your changes\n\n   ```bash\n   git add .\n   git commit -m \"Your commit message\"\n   ```\n\n6. Push your changes\n\n   ```bash\n   git push origin your-working-branch\n   ```\n\n7. Create a pull request: [https://github.com/hmasdev/hmproto34/compare](https://github.com/hmasdev/hmproto34/compare)\n\n## LICENSE\n\n- [GPLv3](./LICENSE)\n\n## Author\n\n- [hmasdev](https://github.com/hmasdev)\n\n## References\n\n- QMK Firmware: [https://docs.qmk.fm/](https://docs.qmk.fm/#/)\n- QMK MSYS: [https://msys.qmk.fm/](https://msys.qmk.fm/)\n- kbd:[https://github.com/foostan/kbd](https://github.com/foostan/kbd), [https://github.com/7-rate/kbd](https://github.com/7-rate/kbd)\n- Pro Micro Web Updater: [https://sekigon-gonnoc.github.io/promicro-web-updater/index.html](https://sekigon-gonnoc.github.io/promicro-web-updater/index.html)\n- 自作キーボード設計入門: [https://pskbd.booth.pm/items/1044084](https://pskbd.booth.pm/items/1044084)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhmasdev%2Fhmproto34","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhmasdev%2Fhmproto34","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhmasdev%2Fhmproto34/lists"}