Skip to main content

YAFI — Yet Another Framework Interface

YAFI (Yet Another Framework Interface) is a cross-platform GUI application for interacting with the Framework Laptop Embedded Controller (EC). Created by Stephen Horvath (GitHub: Steve-Tech) and announced on the Framework Community forum on September 8, 2025, it provides fan control, LED brightness management, battery charge limiting, hardware monitoring, and system information — all without requiring beta BIOS versions, unsigned drivers, or command-line tools1.

Unlike other Framework EC tools that wrap ectool or framework-system, YAFI communicates directly with the EC hardware using Steve-Tech's own CrOS_EC_Python library, which reads sensor data from the EC memory map more efficiently than ectool's command-based approach12. YAFI is built with Python and GTK4/Adwaita, licensed under GPL-2.0-or-later, and available on Linux and Windows3.

Features

Fan Control

  • View all temperature sensors with real-time readings
  • Fan RPM readout and manual control (set target RPM or duty percentage)
  • Auto fan control toggle
  • Fan set points — configurable on/max temperature thresholds handled entirely by the EC, surviving reboots without a background daemon (added in v0.7)14

LED Control

  • Power LED brightness control
  • Keyboard backlight brightness control
  • Per-channel RGB color selection for supported LEDs
  • Automatic LED detection based on hardware capabilities (added in v0.6)5
  • Unsupported LED options hidden on older hardware (e.g., blue power LED disabled on 11th gen)1

Battery Management

  • Battery statistics page: charge percentage, voltage, current, temperature, design capacity, cycle count6
  • Configurable charge limit percentage (slider)
  • Battery extender mode
  • "Override Charge Limit" button for temporary 100% charge1

Hardware Information

  • Manufacturer, model, SKU, board info
  • BIOS vendor, version, date
  • EC version, chip info (vendor, name, revision), build info, protocol version
  • Chassis open count and intrusion status
  • Coin cell ever removed status
  • Privacy switch status
  • Active charge PD chip info1

Sensors

  • Ambient light sensor (12th gen+; reports zero on 11th gen due to hardware differences — the ALS is not connected to the MEC1521 EC on 11th gen boards)1
  • Lid open sensor5

Technical Details

ComponentDetails
LanguagePython (93.4%), Meson (6.1%)
UI FrameworkGTK4 with Adwaita theme
EC CommunicationCrOS_EC_Python (direct EC access, not an ectool wrapper)
Build SystemMeson
LicenseGPL-2.0-or-later
RepositorySteve-Tech/YAFI3
Flathubau.stevetech.yafi (~403 downloads/month)

EC Communication Interfaces

YAFI supports multiple methods of communicating with the Framework EC, abstracted through CrOS_EC_Python2:

InterfacePlatformNotes
/dev/cros_ec deviceLinux (recommended)Requires cros_ec and cros_ec_lpcs kernel modules, udev rules for non-root access
LPC bus via portioLinux (fallback)Direct port I/O access
MEC LPC interfaceLinux/Windows (Intel 11th–13th gen)For Microchip MEC-based EC; v1.0 added Windows MEC support
Framework official EC driverWindows (recommended)No admin needed, requires supported BIOS
PawnIOWindows (fallback)Signed scriptable kernel driver from pawnio.eu; requires admin
WinRing0Windows (deprecated)On Microsoft Vulnerable Driver Blocklist; not recommended

Supported Models

ModelLinuxWindows
Framework Laptop 13 Intel 11th/12th/13th GenYes (cros_ec_lpc or MEC)Yes (PawnIO MEC, v1.0+)
Framework Laptop 13 AMD 7040 SeriesYesYes
Framework Laptop 13 AMD AI 300 SeriesYesYes (confirmed)
Framework Laptop 13 Intel Core UltraLikely (NPCX EC)Likely
Framework Laptop 16 AMD 7040 SeriesYesYes
Framework DesktopYes (thermals confirmed)

Development History

Early Development (March–April 2025)

The YAFI GitHub repository was created on March 18, 2025, building on Steve-Tech's CrOS_EC_Python library (started April 2024). The first three releases preceded the forum announcement1:

VersionDateKey Changes
v0.1March 20, 2025Initial release: fan control, temp monitoring, LED brightness, battery limiter, chassis count, privacy switches (Linux only)7
v0.2March 24, 2025Windows support added, LED list bug fix8
v0.3April 13, 2025PawnIO driver support (replacing insecure WinRing0), battery limiter percentage indicator9

Forum Announcement and Rapid Iteration (September 2025)

Steve-Tech announced YAFI on the Framework Community forum on September 8, 2025, coinciding with the v0.4 release which added support for Framework's official Windows EC driver and a new battery statistics page61.

Community feedback was immediate. User Arnix reported a LED tab crash on FW13 11th gen (Void Linux), which Steve-Tech patched in a CI build the same day1. Jacob_Padgett reported HiDPI scaling issues on FW16 Windows, fixed by rounding the GTK4 scaling factor instead of flooring1. LukiG noted the battery discharge limit slider always showed zero — Steve-Tech confirmed the EC firmware does not implement a minimum charge limit and removed the non-functional control in v0.51.

Community member XenoCow designed three professional logo mockups (Core Calibrator, DASH, ECtoplasm) with SVG source files. Steve-Tech designed his own gear-shaped logo with feedback from XenoCow on rounding the corners1.

VersionDateKey Changes
v0.4September 6, 2025Official Framework EC driver on Windows (no admin), faster PawnIO, battery statistics page6
v0.5September 16, 2025LED crash fix, scaling fix, removed non-working discharge limit, debug traceback10
v0.6September 29, 2025New gear logo, advanced LED detection, ALS/lid sensors, splash screen, published on Flathub5

Fan Set Points and v1.0 (December 2025–March 2026)

v0.7, released on December 25, 2025, added fan set points — the EC's on/max temperature thresholds. Unlike other YAFI settings which are reset by BIOS initialization on reboot, fan set points are handled entirely by the EC and survive reboots without a daemon4.

The v1.0 release on March 21, 2026 was the major milestone: Windows MEC support for Intel 11th, 12th, and 13th gen Framework Laptops. Steve-Tech purchased Intel hardware specifically to implement and test the MEC LPC protocol, resolving the longstanding "Cannot find EC memmap" issue that had made YAFI completely non-functional on Intel Windows systems. The release also introduced a new GNOME-style logo by contributor oiimrosabel11. Steve-Tech stated that every current Framework device is now supported on both Windows and Linux11.

VersionDateKey Changes
v0.7December 25, 2025Fan set points (survive reboots), LED fixes, streamlined udev rules4
v1.0March 21, 2026Windows MEC support (Intel 11th–13th gen), new GNOME-style logo by oiimrosabel, temperature sensor error display, battery page fixes11

Known Limitations

LimitationDetails
Settings don't survive rebootBIOS initialization resets most EC settings (charge limit, LED states). Fan set points are the exception. A planned daemon mode would restore settings at startup (GitHub issue #21)1
No custom fan curvesOnly on/max set points are supported. Full curves require a background daemon and more complex GTK widgets1
Override Charge Limit may not workThe button is supposed to charge to 100% and reset after unplugging, but this behavior has been confirmed as not working correctly1
Fan percentage mode buggySetting fan to percentage mode can cause 100% speed when RPM target was previously >=300 RPM. YAFI-specific issue not reproducible with framework_tool1
ALS reports zero on 11th genHardware limitation — the ambient light sensor is not connected to the EC on 11th gen boards1
GTK4 fractional scalingGTK4 only supports integer scaling; fractional values (e.g., 150%) result in upscaled rendering1
Flatpak requires udev rulesThe Flatpak sandbox does not automatically have EC access; udev rules must be installed separately1

Installation

flatpak install flathub au.stevetech.yafi

Then install udev rules for non-root EC access:

curl -Lfs yafi.stevetech.au/udev.sh | sudo sh
sudo udevadm control --reload-rules && sudo udevadm trigger

Ensure cros_ec and cros_ec_lpcs kernel modules are loaded: lsmod | grep cros3.

Linux (pip)

pip install yafi

Requires system GTK4/Adwaita dependencies (Debian/Ubuntu: sudo apt install python3-gi gir1.2-gtk-4.0 gir1.2-adw-1)3.

Windows

Download YAFI.exe or YAFI.zip from GitHub Releases. The Framework official EC driver (included in Framework's driver bundles) is recommended and requires no admin privileges. Alternatively, install PawnIO with the LpcCrOSEC module (requires admin)3.

  • CrOS_EC_Python — Steve-Tech's EC communication library used by YAFI. Also proposed as a replacement for ectool in fw-fanctrl PR #1642
  • Framework Control — Alternative GUI by Kemal_Ozturk (Rust + Svelte web UI) with fan curve editor, telemetry, and power management12
  • Framework Deck — All-in-one desktop companion by ToySnail (Tauri 2) integrating telemetry, keyboard config, and LED matrix editing
  • fw-fanctrl — CLI systemd service for fan control; Steve-Tech submitted PR to use CrOS_EC_Python instead of ectool regex parsing
  • FrameworkComputer/framework-system — Official Framework CLI tool for EC interaction
  • DHowett/ectool — Patched Chrome OS EC tool for Framework laptops
  • Exploring the Embedded Controller — Foundational community thread on Framework EC internals (281 replies, 49K+ views)13

Footnotes

  1. [GitHub] Steve-Tech/YAFI — Yet Another Framework Interface — Framework Community (Steve-Tech, et al., September 2025 – March 2026) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

  2. Steve-Tech/CrOS_EC_Python — GitHub (Stephen Horvath, April 2024) 2 3

  3. Steve-Tech/YAFI — GitHub (Stephen Horvath, March 2025) 2 3 4 5

  4. YAFI v0.7 — Fan Set Points — GitHub (December 25, 2025) 2 3

  5. YAFI v0.6 — New Logo — GitHub (September 29, 2025) 2 3

  6. YAFI v0.4 — Battery Stats and Native Windows Driver — GitHub (September 6, 2025) 2 3

  7. YAFI v0.1 — GitHub (March 20, 2025)

  8. YAFI v0.2 — Windows Support — GitHub (March 24, 2025)

  9. YAFI v0.3 — PawnIO Driver — GitHub (April 13, 2025)

  10. YAFI v0.5 — Bug Fixes — GitHub (September 16, 2025)

  11. YAFI v1.0 — First Major Release — GitHub (March 21, 2026) 2 3

  12. Framework Control — Linux & Windows tool for fan control, sensors, power control, battery information — Framework Community (Kemal_Ozturk, August 2025)

  13. Exploring the Embedded Controller — Framework Community (281 replies, 49K+ views)