finds.dev← search

// the find

dotcypress/ula

★ 926 · Rust · Apache-2.0 · updated Feb 2025

μLA: Micro Logic Analyzer for RP2040

Firmware that turns a $4 Raspberry Pi Pico into a 16-channel 100 MHz logic analyzer, using the RP2040's PIO state machines for hardware-accelerated triggering. It speaks the SUMP/OLS protocol, so it drops straight into PulseView or sigrok-cli without any custom client software. Aimed at embedded developers who want a cheap but real instrument on their bench.

PIO-based triggering is the right call — offloading trigger detection to the state machines means you're not burning CPU cycles polling GPIO and missing edges. 100 MHz at 1 sample per sys tick is honest and accurate for the hardware. SUMP protocol compatibility is a significant practical win: the entire sigrok ecosystem (decoders for UART, I2C, SPI, CAN, etc.) works out of the box. The install path is genuinely simple — drag a UF2 file, open PulseView, done.

200 KB of sample memory is tight. At 100 MHz that's 1.6 ms of capture time across all 16 channels — enough to catch a single SPI transaction but not to trace a slow boot sequence. No mention of analog thresholds or adjustable voltage levels, so you're stuck at 3.3V logic; level shifting is your problem. The codebase is tiny (four source files) which is appropriate for firmware, but there's no documentation on the trigger syntax or the PIO implementation, making it hard to debug or extend. Last meaningful activity was early 2025 and it appears to be a one-person project, so don't count on active maintenance.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →