{"id":13830722,"url":"https://github.com/system76/ec","last_synced_at":"2025-10-16T06:38:59.404Z","repository":{"id":37053050,"uuid":"211413030","full_name":"system76/ec","owner":"system76","description":"System76 Open Source Embedded Controller","archived":false,"fork":false,"pushed_at":"2025-03-24T21:52:43.000Z","size":2053,"stargazers_count":340,"open_issues_count":61,"forks_count":73,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-04-03T16:04:37.171Z","etag":null,"topics":[],"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/system76.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":"docs/security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-27T22:50:43.000Z","updated_at":"2025-04-02T03:41:47.000Z","dependencies_parsed_at":"2023-02-16T21:16:03.285Z","dependency_job_id":"901ac80b-325c-42d4-9c6f-1d6dedd289c8","html_url":"https://github.com/system76/ec","commit_stats":{"total_commits":980,"total_committers":16,"mean_commits":61.25,"dds":0.3734693877551021,"last_synced_commit":"1b4f5cc8ace9042b01e5ce5a06507ee90a1c7939"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/system76%2Fec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/system76%2Fec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/system76%2Fec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/system76%2Fec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/system76","download_url":"https://codeload.github.com/system76/ec/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248314228,"owners_count":21083013,"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":[],"created_at":"2024-08-04T10:01:06.677Z","updated_at":"2025-10-16T06:38:54.348Z","avatar_url":"https://github.com/system76.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# System76 EC\n\nSystem76 EC is a GPLv3 licensed embedded controller firmware for System76\nlaptops.\n\n## Documentation\n\n- [Supported embedded controllers](./docs/controllers.md)\n- [Flashing firmware](./docs/flashing.md)\n- [Debugging](./docs/debugging.md)\n- [Creating a custom keyboard layout](./docs/keyboard-layout-customization.md)\n- [Development environment](./docs/dev-env.md)\n- [Adding a new board](./docs/adding-a-new-board.md)\n\n## Quickstart\n\nInstall dependencies using the provided script.\n\n```sh\n./scripts/deps.sh\n```\n\nIf rustup was installed as part of this, then the correct `cargo` will not be\navailable in the running session. Start a new shell session or source the env\nfile to update `PATH`.\n\n```sh\nsource $HOME/.cargo/env\n```\n\nThen build the firmware for your laptop model.\n\n```sh\nmake BOARD=system76/\u003cmodel\u003e\n```\n\nSee [Flashing](./docs/flashing.md) for how to use the new firmware image.\n\n## Releases\n\nThe EC firmware itself does not have tagged releases. Any commit of this repo\nmay be used as a part of a [System76 Open Firmware][firmware-open] release.\n\nIn official releases the EC shares the same version as the BIOS firmware. Run\nthe follow command from firmware-open to determine the corresponding EC commit\nfor a release.\n\n```\ngit ls-tree \u003crelease_hash\u003e ec\n```\n\n[firmware-open]: https://github.com/system76/firmware-open\n\n## Legal\n\nSystem76 EC is copyright System76 and contributors.\n\nSystem76 EC firmware is made available under the terms of the GNU General\nPublic License, version 3. See [LICENSE](./LICENSE) for details.\n\n- firmware: GPL-3.0-only\n- ecflash: LGPL-2.1-or-later\n- ecsim: MIT\n- ectool: MIT\n\nDatasheets for the ITE embedded controllers used in System76 laptops cannot be\nshared outside of company. (However, the IT81202 datasheet is [publicly\navailable][it81202]. While it uses a different core, a significant portion of\nthe register information is the same as IT8587/IT5570.)\n\n[it81202]: https://www.ite.com.tw/en/product/cate2/IT81202\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystem76%2Fec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsystem76%2Fec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystem76%2Fec/lists"}