{"id":18789145,"url":"https://github.com/hmasdev/hmproto34s","last_synced_at":"2026-02-27T17:02:02.905Z","repository":{"id":245665874,"uuid":"814701549","full_name":"hmasdev/hmproto34s","owner":"hmasdev","description":"a hand-fitted keyboard with 34 keys","archived":false,"fork":false,"pushed_at":"2025-12-05T12:40:54.000Z","size":2597,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-08T22:54:10.221Z","etag":null,"topics":["keyboard","qmk-firmware","vial"],"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,"zenodo":null}},"created_at":"2024-06-13T14:23:59.000Z","updated_at":"2025-04-27T01:44:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"354e2aec-134e-4846-af6c-de6802b15ed0","html_url":"https://github.com/hmasdev/hmproto34s","commit_stats":null,"previous_names":["hmasdev/hmproto34s"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/hmasdev/hmproto34s","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmasdev%2Fhmproto34s","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmasdev%2Fhmproto34s/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmasdev%2Fhmproto34s/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmasdev%2Fhmproto34s/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hmasdev","download_url":"https://codeload.github.com/hmasdev/hmproto34s/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmasdev%2Fhmproto34s/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29905554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T14:46:13.553Z","status":"ssl_error","status_checked_at":"2026-02-27T14:46:10.522Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["keyboard","qmk-firmware","vial"],"created_at":"2024-11-07T21:06:48.452Z","updated_at":"2026-02-27T17:02:02.888Z","avatar_url":"https://github.com/hmasdev.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hmproto34s\n\n![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/hmasdev/hmproto34s?sort=semver)\n![GitHub Liecense](https://img.shields.io/github/license/hmasdev/hmproto34s)\n![GitHub last commit](https://img.shields.io/github/last-commit/hmasdev/hmproto34s)\n![Scheduled Build](https://github.com/hmasdev/hmproto34s/actions/workflows/compile-firmware-on-schedule.yaml/badge.svg)\n![Scheduled Sync With hmproto34](https://github.com/hmasdev/hmproto34s/actions/workflows/sync-with-hmproto34.yaml/badge.svg)\n\nhmproto34s is a hand-fitted keyboard with 34 keys.\n\nhmproto34s is a derivative of [hmproto34](https://github.com/hmasdev/hmproto34).\n\nhmproto34s has 3D-style and normal-style.\n\n![hmproto34s-normal-style](./pics/hmproto34s.jpg)\n\n![hmproto34s-3d-style](./pics/hmproto34s-3d-style.jpg)\n\n\n\n## How to Use\n\nThe most simple way to use hmproto34s is to flash the pre-built firmware to your keyboard.\n\nDownload the latest firmware from [Releases](https://github.com/hmasdev/hmproto34s/releases), which enables you to customize the keymap using [Vial](https://vial.rocks/).\n\nThen 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/hmproto34s.git\n   ```\n\n4. Build firmware\n\n   ```sh\n   qmk compile -kb hmproto34s -km default\n   ```\n\nGood! Now, you have a built firmware in `~/qmk_firmware/.build/hmproto34s_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/hmproto34s_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 hmproto34s 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/hmproto34s/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 hmproto34s -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 | 1 | [Gerber files](./pcb) |\n| Top Plate | 2 | [Gerber files](https://github.com/hmasdev/hmproto34/tree/main/top_plate) |\n| Pro Micro | 1 | |\n| Tactile Switch | 1 | 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(Optional) if you want to use hmproto34s in 3D style, you need to prepare the following components\n\n| Component | Quantity | Note |\n| --- | --- | --- |\n| PCB for 3D style | 2 | [Gerber files](./pcb-for-3d-style) |\n| M3 Screw | 8 | 6mm or 8mm |\n| M3 Spacers (femail-femail) | 4 | 70mm |\n| 2x12 PinHeader P2.54mm Vertical | 2 ||\n\n### Assembly Steps\n\n#### Normal Style\n\n1. Solder PCB Sockets to the bottom of the PCB;\n2. Attach diodes to the top of the PCB and solder them on the bottom of the PCB;\n3. Attach a tactile switch to the top of the PCB and solder it on the bottom of the PCB;\n4. Attach a Pro Micro to the top of the PCB;\n5. Attach key switches to the top plate;\n\n   ![Attach Key Switches to Top Plate](https://github.com/hmasdev/hmproto34/blob/main/pics/attach-keyswitches-to-top-plate.jpg?raw=true)\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. Enjoy typing!\n\n#### 3D Style\n\n1. Solder PCB Sockets to the bottom of the PCB for 3D style;\n2. Attach diodes to the top of the PCB for 3D style and solder them on the bottom of the PCB for 3D style;\n3. Attach a tactile switch to the top of the PCB and solder it on the bottom of the PCB;\n4. Attach 2x12-pinheaders to the bottom of the PCB for 3D style;\n5. Attach the 3D-style PCB and the other PCB using M3 screws and spacers, and plug the 2x12 pin headers into the top of the PCB;\n6. Attach a Pro Micro to the top of the PCB;\n7. Attach key switches to the top plate;\n8. Joint the top plate and the top of the PCBs for 3D style;\n9. Build and flash firmware;\n10. Enjoy typing!\n\n## PCB and Top Plate\n\n### PCB\n\nGerber files are located in [./pcb](./pcb) directory.\nYou can order the PCB from PCB manufacturers like JLCPCB etc.\n\nThe gerber files for 3D-style of PCB are located in [./pcb-for-3d-style](./pcb-for-3d-style) directory.\n\n### Top Plate\n\nSee [Top Plate of hmproto34](https://github.com/hmasdev/hmproto34/tree/main/top_plate).\n\n## How to Contribute\n\n1. Fork the repository: [https://github.com/hmasdev/hmproto34s](https://github.com/hmasdev/hmproto34s)\n2. Clone the repository\n\n   ```bash\n   git clone https://github.com/{YOURE_NAME}/hmproto34s.git\n   cd hmproto34s\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/hmproto34s/compare](https://github.com/hmasdev/hmproto34s/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- Vial: [https://get.vial.today/](https://get.vial.today/)\n- Vial-QMK: [https://github.com/vial-kb/vial-qmk](https://github.com/vial-kb/vial-qmk)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhmasdev%2Fhmproto34s","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhmasdev%2Fhmproto34s","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhmasdev%2Fhmproto34s/lists"}