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