15 releases

0.3.6 Apr 13, 2021
0.3.5 Mar 16, 2021
0.3.2 Feb 26, 2021
0.2.3 Jan 5, 2021
0.1.1 Feb 27, 2020
Download history 190/week @ 2021-03-31 127/week @ 2021-04-07 216/week @ 2021-04-14 190/week @ 2021-04-21 248/week @ 2021-04-28 449/week @ 2021-05-05 272/week @ 2021-05-12 180/week @ 2021-05-19 143/week @ 2021-05-26 89/week @ 2021-06-02 92/week @ 2021-06-09 79/week @ 2021-06-16 67/week @ 2021-06-23 64/week @ 2021-06-30 122/week @ 2021-07-07 118/week @ 2021-07-14

970 downloads per month

MIT license

1.5K SLoC

System76 EC

System76 EC is a GPLv3 licensed embedded controller firmware for System76 laptops.



Install dependencies using the provided script.


If rustup was installed as part of this, then the correct cargo will not be available in the running session. Start a new shell session or source the env file to update PATH.

source $HOME/.cargo/env

Then build the firmware for your laptop model.

make BOARD=system76/<model>

See Flashing for how to use the new firmware image.


The EC firmware itself does not have tagged releases. Any commit of this repo may be used as a part of a System76 Open Firmware release.

In official releases the EC shares the same version as the BIOS firmware. Run the follow command from firmware-open to determine the corresponding EC commit for a release.

git ls-tree <release_hash> ec


System76 EC is copyright System76 and contributors.

System76 EC firmware is made available under the terms of the GNU General Public License, version 3. See LICENSE for details.

  • firmware: GPL-3.0-only
  • ecflash: LGPL-2.1-or-later
  • ecsim: MIT
  • ectool: MIT

Datasheets for ITE embedded controllers cannot be shared outside of System76.


~21K SLoC