μLA (Micro Logic Analyzer) is a SUMP/OLS compatible logic analyzer firmware based on the RP2040 board. By using this firmware, you can quickly turn a Raspberry Pi Pico (or any RP2040 board) into a simple logic analyzer.
Github Link:
https://github.com/dotcypress/ula
Features:
-
16 Channels
-
100 MHz Sampling Rate, 1 sample per second tick
-
200KB Sampling Storage
-
Fast trigger function implemented using PIO
-
Directly compatible with sigrok (a portable, cross-platform, free, and open-source signal analysis suite that supports commonly used protocols such as I2C, SPI, CAN, 1-Wire, UART, SD, IR) and the ready-to-use GUI PulseView.
Supported Hardware
-
Raspberry Pi Pico
-
RP2040-Zero
-
Most RP2040 development boards with USB connection and emulated GPIO 0-15 functionality
-
Of course, it also includes custom-designed RP2040 hardware
Installation
-
Download the latest firmware version from the release page
-
While connecting the development board to the computer, hold down the BOOTSEL button and copy the downloaded firmware file to the RPi-RP2 disk
-
Finally, users can connect the probe for data analysis using PulseView or SigrokCli.
Software
-
PulseView is a logic analyzer graphical interface based on the Qt framework for sigrok protocols. When connecting μLA with PulseView, select “Openbench Logic Sniffer” and “SUMP compatible protocol”.
-
SigrokCli is a command-line interface used to scan devices and collect data samples.
Firmware Compilation (Source code is written in Rust)
-
Follow the instructions at https://rustup.rs to install rustup
-
Install Cortex-M0, M0+, and M1 (ARMv6-M architecture) targets: rustup target add thumbv6m-none-eabi
-
Install LLVM tools: rustup component add llvm-tools-preview
-
Install cargo-binutils: (Note: On some Linux distributions (like Ubuntu), you may need to install build-essential, gcc-arm-none-eabi, libssl-dev, and pkg-config packages before installing cargo-binutils) cargo install cargo-binutils
-
Install elf2uf2: cargo install elf2uf2-rs
-
Clone this repository: git clone [email protected]:dotcypress/ula.git && cd ula
-
Hold down the BOOTSEL button while connecting the mainboard to the computer
-
Flash microcontroller: cargo run –release
Now, turn your Raspberry Pi into a logic analyzer!
Follow the WeChat public account “Embedded Talk” for more interesting embedded project information.