Bus Pirate
What it does
The Bus Pirate is a compact, scriptable interface that speaks many low-level protocols (SPI, I2C, UART, 1-Wire, JTAG), letting you interrogate and dump chips from one device. Instead of carrying separate adapters, you switch protocols from a serial terminal - ideal for fast recon and one-off dumps on hardware you don't recognise yet.
Use cases
Switch modes from a terminal to try SPI, then I2C, against the same header until one talks back.
Drive flashrom straight over the Bus Pirate's serial connection.
Enumerate addresses to find sensors or EEPROMs you didn't know were there.
How you use it
Connect over USB, open a terminal, pick a mode, then hand it to flashrom or use its own I2C scan:
screen /dev/ttyUSB0 115200
# type 'm' to pick a mode (e.g. SPI), set speed and pull-ups
flashrom -p buspirate_spi:dev=/dev/ttyUSB0 -r dump.binWiring
Set pull-ups for I2C. I2C needs pull-up resistors; the Bus Pirate can supply its own, but forgetting them reads as a dead bus.
Slower than a dedicated programmer. Its SPI dumps run slower than a CH341A - fine for recon, less fun for a large flash chip.