A while back I went looking for a new laptop and ended up with a Framework. The pitch is modular hardware: repairable, upgradeable, parts swap with a single screwdriver. Mine arrived with a bad motherboard, and the replacement took less than fifteen minutes. That alone was worth the price of admission.
But the thing that really got me was the expansion modules.
Most laptops give you a fixed set of ports — a couple of USBs, maybe HDMI, maybe Ethernet if you’re lucky. Framework instead has small rectangular cards that slide into the chassis and connect over USB-C [CHECK: Thunderbolt is available on some host configurations but the slot itself is USB-C]. Framework sells a handful of them — extra ports, an SSD card, a few others — and openly encourages people to build their own.
That last part is the interesting part.
So I started thinking about my bench. Most of the tools I reach for during hardware work — logic analyzers, serial bridges, low-end power supplies, voltmeters — are mostly front-end hardware bolted to a USB connection. The computation happens on the host. If the front-end fits inside roughly 20 x 20 mm of board, there’s no reason it can’t ride along in a slot on the laptop.
The first one I wanted was a multi-protocol bus tool. Something like a Bus Pirate, but as a card I never have to plug in because it’s already part of the laptop.

Design constraints#
The card form factor sets most of the constraints:
- The board has to fit roughly 20 x 20 mm, single layer if possible, so I can hand-assemble.
- I2C, SPI, and UART at minimum.
- LEDs for status and activity.
- Configurable IO levels: 1.8 V, 3.3 V, 5.0 V.
- 500 mA budget. Soft limit — USB-PD can push 3 A — but I’d rather stay polite.
That’s it. No host software to install, no extra drivers, no second cable.