EC Card 2
EC Card 2 is a closed-case debugging (CCD) expansion card for the Framework Laptop 13, created by Dustin Howett (DHowett). It provides UART serial access to the laptop's embedded controller (EC) through a self-contained USB-to-serial interface, enabling real-time EC debug console access without opening the laptop chassis1. The project was funded through Framework's Expansion Card Developer Program1.
Background
On the Framework Laptop 13, the rear-right USB-C port doubles as a CCD port. When CC1 and CC2 are each pulled to GND through 5.1 kΩ resistors, the SBU1 and SBU2 pins switch to EC TX and EC RX respectively, exposing a 3.3V TTL UART at 115200 8N11. This debug port works whenever the embedded controller is powered — including when the laptop is turned off — making it invaluable for diagnosing power sequencing issues and recovering from bad EC firmware flashes1.
Prior to EC Card 2, the main options for accessing this debug port were Google's Servo boards (largely unobtainable outside of ChromeOS development) or generic USB-C breakouts, which often didn't pass CC and SBU signals correctly1.
Design
DHowett designed EC Card 2 as a self-contained expansion card that plugs into a Framework laptop's expansion card slot on one end (connecting to the EC's UART via SBU pins) and presents a USB serial interface on the other end via a microUSB port, using an FTDI FT230X USB-to-UART bridge IC1. This eliminates the need for an external USB-to-serial adapter.
The card was preceded by EC Card 1, an earlier prototype that DHowett described as having poor layout (trusting the auto-router too much, no ground plane) and which never reached production after Framework engineers provided feedback1.
EC Card 2 was produced by PCBway. A prototype run of 10 assembled cards cost approximately $150 USD (2022)1. The USB-C connectors were hand-soldered since PCBway could not assemble them. Expansion card shells were 3D-printed at a library1.
Debug Port Pinout
The Framework Laptop 13 CCD configuration uses the USB-C receptacle as follows1:
| Pin | Signal | Notes |
|---|---|---|
| A4, A9, B4, B9 | GND | |
| A5 (CC1) | —5.1 kΩ→ GND | Enables CCD mode |
| B5 (CC2) | —5.1 kΩ→ GND | Enables CCD mode |
| A8 (SBU1) | EC TX | 3.3V TTL, 115200 8N1 |
| B8 (SBU2) | EC RX | 3.3V TTL, 115200 8N1 |
This configuration only works in one USB-C plug orientation1.
Technical Specifications
| Specification | Details |
|---|---|
| Interface | FT230X USB-to-UART1 |
| UART | 3.3V TTL, 115200 8N1, no flow control1 |
| USB Port | microUSB (host-side connection)1 |
| Target | Framework Laptop 13 EC (MEC1521) via SBU pins1 |
| Source | DHowett/framework-ec-debug-card (GitLab)2 |
| Production | PCBway prototype run (~$150 for 10 assembled, 2022)1 |
Known Issues
DHowett documented several issues with the v2 design1:
- The USB-C port is off-center on the PCB
- The microUSB port hangs over the card edge with sharp edges
- A minor power leakage from the FT230X's RX pull-up into the EC can power the EC unintentionally, causing it to send garbage data before the power button is pressed (the MEC1521 appears to be undamaged by this)
- FTDI chips are relatively expensive for this use case
Use Cases
EC Firmware Development
EC Card 2 is primarily used for embedded controller firmware development and debugging. The Framework Laptop's EC (a Microchip MEC1521H) handles power sequencing, keyboard, thermal management, and battery charging. The EC debug console provides interactive access to EC commands and logs13.
Firmware Recovery
DHowett used EC Card 2 to recover two Framework laptops that were bricked by a compiler-induced undefined behavior bug in custom EC firmware. The bug caused the EC to panic with a watchdog failure on boot. With serial console access, DHowett built a recovery payload that overwrote the miscompiled code in memory, successfully restoring both machines14.
The Framework EC flash contains two firmware regions (RO and RW). DHowett submitted a pull request to Framework's EC repository that enables the RW firmware region, providing a recovery mechanism if the primary firmware fails15. AMD-based Framework boards natively support the RW image without additional patches6.
Josh Cook's EC Debug Card
In June 2023, community member Josh Cook announced plans to manufacture and sell EC debug expansion cards at $15 USD each, designed to fit within standard expansion card enclosures6. By July 2024, Cook had assembled working cards compatible with both Framework 13 and 166. The cards were briefly available through the i2clabs store7. DHowett endorsed Cook's effort, noting it would bring the card to a broader market than the prototype run6.
v3 Plans
DHowett has outlined potential improvements for a v3 revision1:
- Replace microUSB with USB-C to fit standard expansion card shells (suggested by Framework VP nrp)
- Set back the USB port to eliminate the sharp overhang
- Address the voltage leakage from the host machine to the DUT
- As of March 2026, community members have had v3 designs manufactured through JLCPCB, Eurocircuits, and PCBWay6
Compatibility
| Platform | CCD Support | Notes |
|---|---|---|
| Framework Laptop 13 (11th Gen Intel) | Yes | Confirmed by DHowett1 |
| Framework Laptop 13 (12th Gen Intel) | Likely | Believed to be identical1 |
| Framework Laptop 13 (13th Gen Intel) | Unknown | Not confirmed as of April 20231 |
| Framework Laptop 13 (AMD) | Unknown | Not confirmed as of April 20231 |
| Framework Laptop 16 | Partial | Josh Cook's variant confirmed working6 |
Related Projects
- DHowett/framework-ec — Fork of Framework's EmbeddedController firmware with RW support and other enhancements5
- ECTool.efi — A UEFI shell tool for communicating with the Framework EC, including firmware reflashing8
- framework-espi-recovery — A recovery tool for bricked EC firmware4
- Exploring the Embedded Controller — Framework Community thread on EC hacking