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
| Feature | Description |
|---|---|
| Fan control | Set fan speed via EC commands |
| LED color | Choose and apply colors to the power LED and side LEDs |
| Battery charge limit | Set maximum charge threshold |
| Cross-platform | Supports both Windows and Linux |
Dependencies
The GUI wraps command-line ectool binaries, which must be provided separately2:
| Platform | Required tool | Source |
|---|---|---|
| Linux | ectool (built from source) | DHowett/fw-ectool3 |
| Windows | ectool.exe | DHowett/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
- Set the path to the ectool binary in the GUI2
- Choose a color for LEDs and press Set2
- 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
| Detail | Value |
|---|---|
| Language | Python |
| GUI toolkit | PySimpleGUI + tkinter |
| License | MIT |
| Stars | 8 |
| Commits | 6 |
| Contributors | 1 (boredom101) |
| Releases | None (run from source) |
| Created | March 2022 |
| EC interface | Wraps 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.
Related Projects
| Project | Description |
|---|---|
| DHowett/fw-ectool | Command-line tool for Framework EC communication3 |
| DHowett/FrameworkWindowsUtils | Windows EC driver and utilities4 |
| FrameworkComputer/EmbeddedController | Official Framework EC firmware source6 |
| YAFI | Cross-platform GTK4/Adwaita GUI for Framework EC |
| Framework Tool TUI | Terminal-based dashboard for Framework hardware |