{"id":31447946,"url":"https://github.com/roshbhatia/terminus-est","last_synced_at":"2026-02-15T18:31:17.973Z","repository":{"id":315510951,"uuid":"1059557506","full_name":"roshbhatia/terminus-est","owner":"roshbhatia","description":"insane behemoth mess of an ergo-inspired keyboard for vim fanatics","archived":false,"fork":false,"pushed_at":"2025-10-17T04:26:40.000Z","size":22677,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-18T07:37:38.640Z","etag":null,"topics":["keyboard","keyboard-layout","vim"],"latest_commit_sha":null,"homepage":"","language":"Python","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/roshbhatia.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":"2025-09-18T15:52:27.000Z","updated_at":"2025-10-17T04:26:44.000Z","dependencies_parsed_at":"2025-10-05T05:21:42.469Z","dependency_job_id":"f4bad3ad-8f42-4260-bf2d-7c822cf7b9c4","html_url":"https://github.com/roshbhatia/terminus-est","commit_stats":null,"previous_names":["roshbhatia/terminus-est"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/roshbhatia/terminus-est","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roshbhatia%2Fterminus-est","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roshbhatia%2Fterminus-est/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roshbhatia%2Fterminus-est/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roshbhatia%2Fterminus-est/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roshbhatia","download_url":"https://codeload.github.com/roshbhatia/terminus-est/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roshbhatia%2Fterminus-est/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29486508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T15:33:17.885Z","status":"ssl_error","status_checked_at":"2026-02-15T15:32:53.698Z","response_time":118,"last_error":"SSL_read: 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","keyboard-layout","vim"],"created_at":"2025-10-01T02:15:38.976Z","updated_at":"2026-02-15T18:31:17.968Z","avatar_url":"https://github.com/roshbhatia.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terminus-est\n\n\u003e Resolution and a plan are better than a sword, because a man whets his own edges on them.\n\u003e \u003e Gene Wolfe - The Citadel of the Autarch\n\n---\n\n## Background\nTerminus Est is a ergonomic (but somewhat conventional) split keyboard tuned to my developer workflow.\nI've tended to cluster my actions around vim-inpsired keybindings with discrete \"leader\" keys, and started to wish that my leader keys were a bit easier to hit.\nRather than using stabilizers with longer keys, I've decided to use multiple 1U keys in some places, mostly for aesthetics. However, the keymapping may change in the future.\n\nThis project was frustratingly complicated, too expensive, and ultimately worse than my perfectly fine, working keyboards. But it's worth it to build something cool.\n\nThanks to @dededecline for the great advice and @kh3dron for making the plate look nice when I couldn't figure out the CAD stuff.\n\n---\n\n## Gallery\n\n\u003cdetails open\u003e\n\u003csummary\u003ePCB\u003c/summary\u003e\n\n### Front\n\u003cimg src=\"./assets/pcb_front.png\" width=\"800\"\u003e\n\n### Back\n\u003cimg src=\"./assets/pcb_back.png\" width=\"800\"\u003e\n\n### Traces\n\u003cimg src=\"./assets/pcb_traces.png\" width=\"800\"\u003e\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003eLayout\u003c/summary\u003e\n\n\u003cimg src=\"./assets/layout.png\" width=\"800\"\u003e\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003ePlate\u003c/summary\u003e\n\n\u003cimg src=\"./assets/plate.png\" width=\"800\"\u003e\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003eCase\u003c/summary\u003e\n\n\u003cimg src=\"./assets/case.png\" width=\"800\"\u003e\n\u003c/details\u003e\n\n---\n\n## Pinout\n\n```mermaid\ngraph LR\n    subgraph Columns[\"Columns\"]\n        COL0[\"COL0\"]\n        COL1[\"COL1\"]\n        COL2[\"COL2\"]\n        COL3[\"COL3\"]\n        COL4[\"COL4\"]\n        COL5[\"COL5\"]\n        COL6[\"COL6\"]\n        COL7[\"COL7\"]\n        COL8[\"COL8\"]\n        COL9[\"COL9\"]\n        COL12[\"COL12\"]\n        COL13[\"COL13\"]\n        COL14[\"COL14\"]\n        COL15[\"COL15\"]\n        COL16[\"COL16\"]\n        COL17[\"COL17\"]\n        COL18[\"COL18\"]\n        COL19[\"COL19\"]\n        COL20[\"COL20\"]\n        COL21[\"COL21\"]\n    end\n\n    subgraph RPi[\"Raspberry Pi Pico\"]\n        GP0[\"GP0\"]\n        GP1[\"GP1\"]\n        GP2[\"GP2\"]\n        GP3[\"GP3\"]\n        GP4[\"GP4\"]\n        GP5[\"GP5\"]\n        GP6[\"GP6\"]\n        GP7[\"GP7\"]\n        GP8[\"GP8\"]\n        GP9[\"GP9\"]\n        GP10[\"GP10\"]\n        GP11[\"GP11\"]\n        GP12[\"GP12\"]\n        GP13[\"GP13\"]\n        GP14[\"GP14\"]\n        GP15[\"GP15\"]\n        GP16[\"GP16\"]\n        GP17[\"GP17\"]\n        GP18[\"GP18\"]\n        GP19[\"GP19\"]\n        GP20[\"GP20\"]\n        GP21[\"GP21\"]\n        GP22[\"GP22\"]\n        GP26[\"GP26\"]\n        GP27[\"GP27\"]\n        GP28[\"GP28\"]\n    end\n\n    subgraph Rows[\"Rows\"]\n        ROW0[\"ROW0\"]\n        ROW1[\"ROW1\"]\n        ROW2[\"ROW2\"]\n        ROW3[\"ROW3\"]\n        ROW4[\"ROW4\"]\n        ROW5[\"ROW5\"]\n    end\n\n    GP0 --\u003e COL0\n    GP1 --\u003e COL1\n    GP2 --\u003e COL2\n    GP3 --\u003e COL3\n    GP4 --\u003e COL4\n    GP5 --\u003e COL5\n    GP6 --\u003e COL6\n    GP7 --\u003e COL7\n    GP8 --\u003e COL8\n    GP9 --\u003e COL9\n    GP16 --\u003e COL12\n    GP17 --\u003e COL13\n    GP18 --\u003e COL14\n    GP19 --\u003e COL15\n    GP20 --\u003e COL16\n    GP21 --\u003e COL17\n    GP22 --\u003e COL18\n    GP26 --\u003e COL19\n    GP27 --\u003e COL20\n    GP28 --\u003e COL21\n\n    GP10 --\u003e ROW0\n    GP11 --\u003e ROW1\n    GP12 --\u003e ROW2\n    GP13 --\u003e ROW3\n    GP14 --\u003e ROW4\n    GP15 --\u003e ROW5\n```\n\n---\n\n## Built With\n\n- [Raspberry Pi Pico](https://www.raspberrypi.com/products/raspberry-pi-pico/)\n- [KLE (Keyboard Layout Editor)](http://www.keyboard-layout-editor.com/)\n- [KiCad](https://www.kicad.org/)\n- [Fusion 360](https://www.autodesk.com/products/fusion-360/)\n- [keyboard-tools.xyz](https://keyboard-tools.xyz/)\n- [kbplate (ai03)](https://kbplate.ai03.com/)\n- [KMK Firmware](https://github.com/KMKfw/kmk_firmware)\n- [OpenSCAD](https://openscad.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froshbhatia%2Fterminus-est","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froshbhatia%2Fterminus-est","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froshbhatia%2Fterminus-est/lists"}