Skip to main content

Framework Embedded Controller GUI

Framework Embedded Controller GUI (fw-ec-gui) is a graphical interface for controlling the Framework Laptop 13's Embedded Controller (EC), developed by community member Yisroel Newmark (GitHub: boredom101). Written in Python with PySimpleGUI and tkinter, it provides a point-and-click interface for fan speed control, LED color selection, and battery charge limiting by wrapping DHowett's fw-ectool12.

The project was notably created before the author owned a Framework laptop — they developed it based on the documented EC protocol and sought community testers1.

Features

FeatureDescription
Fan controlSet fan speed via EC commands
LED colorChoose and apply colors to the power LED and side LEDs
Battery charge limitSet maximum charge threshold
Cross-platformSupports both Windows and Linux

Dependencies

The GUI wraps command-line ectool binaries, which must be provided separately2:

PlatformRequired toolSource
Linuxectool (built from source)DHowett/fw-ectool3
Windowsectool.exeDHowett/FrameworkWindowsUtils4

Python dependencies: pysimplegui and tkinter2.

The underlying EC protocol was reverse-engineered and documented by Dustin Howett (DHowett), a former Framework engineer, in his comprehensive writeup on the Framework Laptop's Embedded Controller5. The Framework EC is based on the Chromium EC (CrOS EC) and communicates over LPC ports5.

Usage

  1. Set the path to the ectool binary in the GUI2
  2. Choose a color for LEDs and press Set2
  3. Adjust fan speed or battery charge limit as needed

On Linux, the cros_ec_lpcs kernel driver must be loaded, and Secure Boot must be disabled (kernel lockdown prevents raw LPC port access when Secure Boot is enabled)5.

Technical Details

DetailValue
LanguagePython
GUI toolkitPySimpleGUI + tkinter
LicenseMIT
Stars8
Commits6
Contributors1 (boredom101)
ReleasesNone (run from source)
CreatedMarch 2022
EC interfaceWraps DHowett's fw-ectool via subprocess

Historical Significance

This was one of the earliest community-built GUI tools for interacting with the Framework Laptop's Embedded Controller, predating later tools like Framework Control, YAFI, Framework Tool TUI, and Framework Deck. It demonstrated the feasibility of user-friendly EC control on both Windows and Linux at a time when the only option was the command-line ectool1.

ProjectDescription
DHowett/fw-ectoolCommand-line tool for Framework EC communication3
DHowett/FrameworkWindowsUtilsWindows EC driver and utilities4
FrameworkComputer/EmbeddedControllerOfficial Framework EC firmware source6
YAFICross-platform GTK4/Adwaita GUI for Framework EC
Framework Tool TUITerminal-based dashboard for Framework hardware

Footnotes

  1. Framework Embedded Controller GUI I Made — Framework Community 2 3

  2. boredom101/fw-ec-gui — GitHub 2 3 4 5

  3. DHowett/fw-ectool — GitHub 2

  4. DHowett/FrameworkWindowsUtils — GitHub 2

  5. The Framework Laptop's Embedded Controller — HowettNET 2 3

  6. FrameworkComputer/EmbeddedController — GitHub