{"id":48591843,"url":"https://github.com/rowanclarke/hummingbird","last_synced_at":"2026-04-08T20:02:19.674Z","repository":{"id":284999539,"uuid":"835362350","full_name":"rowanclarke/hummingbird","owner":"rowanclarke","description":"A 30-key ergonomic keyboard.","archived":false,"fork":false,"pushed_at":"2025-10-07T18:15:27.000Z","size":9784,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-07T18:18:56.995Z","etag":null,"topics":["ergogen","ergonomic","ergonomic-keyboard","keyboard"],"latest_commit_sha":null,"homepage":"","language":"Scheme","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rowanclarke.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-07-29T17:17:25.000Z","updated_at":"2025-10-07T18:15:32.000Z","dependencies_parsed_at":"2025-03-28T21:22:10.284Z","dependency_job_id":"71fc4165-c7be-4047-b14b-bbc8be3b9860","html_url":"https://github.com/rowanclarke/hummingbird","commit_stats":null,"previous_names":["rowanclarke/hummingbird"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rowanclarke/hummingbird","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rowanclarke%2Fhummingbird","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rowanclarke%2Fhummingbird/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rowanclarke%2Fhummingbird/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rowanclarke%2Fhummingbird/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rowanclarke","download_url":"https://codeload.github.com/rowanclarke/hummingbird/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rowanclarke%2Fhummingbird/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31571601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"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":["ergogen","ergonomic","ergonomic-keyboard","keyboard"],"created_at":"2026-04-08T20:02:18.497Z","updated_at":"2026-04-08T20:02:19.638Z","avatar_url":"https://github.com/rowanclarke.png","language":"Scheme","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# `hummingbird`\n\n**A 30-key ergonomic keyboard.**\n\n![Top view](images/top.png)\n\n\u003c/div\u003e\n\n## Assembly\n\n### Components\n\n- [3.7V 300mAh 401030 Lithium Polymer Li-Po Rechargeable Battery](https://www.aliexpress.com/item/1005007586854504.html)\n- [TENSTAR 2pcs NRF52840 Development Board](https://www.aliexpress.com/item/1005007738886550.html)\n- [5PCS 1x40P 2.54mm Round Hole Female Header](https://www.aliexpress.com/item/10000000838267.html)\n- [Kailh Hot Swap Socket for 1350 Chocolate Switches Low Profile](https://www.aliexpress.com/item/1005005449803412.html)\n- [50PCS Mini 7-Pin On/Off 1P2T SPDT MSK-12C02 SMD Toggle Slide Switch](https://www.aliexpress.com/item/4000685483225.html)\n- 5 x [6PCS Low Profile Keycaps For 1350 Chocolate Switch](https://www.aliexpress.com/item/1005005902080016.html)\n- [30PCS Kailh Choc Low Profile Switch 1350 Chocolate Keyboard](https://www.aliexpress.com/item/1005005066585322.html)\n\n**Optional**\n\n- [1.5mm, M1.4 (OD2.3mm) Brass Insert](https://www.aliexpress.com/item/1005005776999972.html)\n- [4mm M1.4 Black Stainless Steel Countersunk Head Screw](https://www.aliexpress.com/item/1005003116991205.html)\n- [PORON Supper Soft Cotton Filling Mechanical Keyboard Bottom](https://www.aliexpress.com/item/1005004684031433.html)\n- [100 Pcs/sheet Self Adhesive Buffer Bumper](https://www.aliexpress.com/item/1005003989623791.html)\n\n### Equipment\n\n- Soldering Iron\n- Solder Wire\n- Solder Flux Paste\n\n**Optional**\n\n- Craft Knife and Mat\n\n### Processing\n\n- PCB\n  - Build keyboard: `cd ergogen \u0026\u0026 ergogen .` \n  - Add tracks: `sed -i ':a; $!{N; ba}; s/\\(.*\\))/\\1'\"$(sed -e ':a; N; $!ba; s/\\n/\\\\n/g' -e 's/\\\u0026/\\\\\u0026/g' tracks.scm)\"\\)'/' output/pcbs/hummingbird.kicad_pcb`\n  - Build the tracks and zones:\n    - Open `output/pcbs/hummingbird.kicad_pcb` in KiCad\n    - Get the round-tracks plugin and round the tracks\n    - Fill the ground zone with `B`\n  - Plot `.gerber` files and drill files to `../gerber`\n  - Zip: `zip hummingbird.zip output/gerber/hummingbird-*.{gbr,drl}`\n\n- Case\n  - Open `freecad/*.FCStd` in FreeCAD\n  - Export each top-level mesh to STEP\n\n### Manufacturing\n\n- PCB - JLCPCB\n  - Base Material: FR-4\n  - Product Type: Industrial/Consumer electronics\n  - Mark on PCB: Remove Mark\n  - Layers: 2\n  - PCB Qty: 5\n  - PCB Thickness: 1.6mm\n\n- Case - JLC3DP\n  - 3D Technology: SLS(Nylon)\n  - Material: 1172Pro Nylon\n  - Colors: White\n\n### Building\n\n- Download [latest firmware](https://github.com/rowanclarke/kbd/actions/workflows/build.yml)\n- Ground RST on the microcontroller twice within half a second to enter bootloader\n- Mount microcontroller and copy the firmware to the device\n- Reboot device and test\n- Solder all components on the PCB\n- Heat-set threaded inserts on cover plates\n- Assemble\n- Tape and cut out the PORON foam on the base plates\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frowanclarke%2Fhummingbird","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frowanclarke%2Fhummingbird","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frowanclarke%2Fhummingbird/lists"}