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
YAFICross-platform GTK4/Adwaita GUI for Framework EC
Framework Tool TUITerminal-based dashboard for Framework hardware
fw-fanctrlFan control daemon for Framework laptops
EC Card 2Hardware debugging expansion card for the Framework EC

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 ↩

  4. DHowett/FrameworkWindowsUtils — GitHub ↩

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