6.9 KiB
Practical Field Manual
This manual is written for real use, not for theory.
Use it when you need to:
- prepare a Linux machine for a sharing session
- verify a logic-analyzer software stack quickly
- run a demo without hardware
- perform a first capture with real hardware
- decode UART, I2C, or SPI with the least amount of guesswork
The examples assume Arch Linux, but the workflow itself is generic.
1. Prepare the machine
Install the default stack
sudo pacman -S pulseview sigrok-cli sigrok-firmware-fx2lafw
What each package is for:
pulseview: GUI capture and decoder workflowsigrok-cli: command-line verification and scripted demossigrok-firmware-fx2lafw: support for common FX2-based analyzers
Verify that the binaries exist
command -v pulseview
command -v sigrok-cli
If either command prints nothing, the install is not complete.
2. Verify the stack without hardware
This is the safest first check.
Scan devices
sigrok-cli --scan
A healthy software-only result should still show the built-in demo device.
Inspect the demo driver
sigrok-cli --driver demo --show
This confirms that:
- the backend loads
- the driver is visible
- the channel groups are available
Run a small capture
sigrok-cli -d demo -c samplerate=1000 -C D0,D1,D2,D3 --samples 32 -O ascii
If you want a more compact output:
sigrok-cli -d demo -c samplerate=1000 -C D0,D1,D2,D3 --samples 32 -O bits
If these commands work, the software stack is already usable for a live walkthrough.
3. Open the GUI before hardware arrives
Start the GUI even if no analyzer is connected yet.
pulseview
Check the following:
- the application starts normally
- the decode UI is reachable
- adding protocol decoders does not crash
- session save and export menus are present
This matters because workshop failures are often GUI failures, not device failures.
4. First capture with real hardware
Once hardware is available, use this sequence.
Step 1: Detect the device
sigrok-cli --scan
If no device appears:
- reconnect USB
- try a different cable
- try a different port
- re-run the scan
Step 2: Open PulseView
Choose the detected device and set:
- active channels
- sample rate
- capture depth or capture time
- threshold or trigger settings if the device supports them
Step 3: Keep the first capture simple
For the first run:
- enable only the channels you need
- use a moderate sample rate
- avoid complicated trigger rules
- verify that the waveform looks electrically plausible before adding decoders
Step 4: Decode only after the waveform looks correct
Do not start by tuning decoder settings blindly.
First confirm:
- idle level looks correct
- edges are stable
- the clock actually toggles
- chip select or start condition is visible
Then add protocol decoders.
5. UART recipe
Use this when debugging boot logs, MCU shells, or sensor modules with TX/RX.
Wiring checklist
- connect analyzer ground to target ground
- probe at least one data line:
TXorRX - probe both if you want duplex visibility
Capture checklist
- start with a sample rate comfortably above the baud rate
- verify the idle level
- identify start bits and stop bits visually
Decoder settings
Typical values to check:
- baud rate
- data bits
- parity
- stop bits
- bit order
- inverted or non-inverted line
Common failure patterns
If the decoded text is nonsense:
- wrong baud rate
- inverted logic level
- wrong probe point
- insufficient sample rate
6. I2C recipe
Use this for sensors, PMICs, EEPROMs, and board bring-up.
Wiring checklist
- connect ground
- probe
SCL - probe
SDA
What to verify in the raw waveform
- both lines idle high
SDAchanges whileSCLis low, except for start and stop- start and stop conditions are clearly visible
Decoder settings
The basic decoder setup is usually enough if the waveform is clean.
If decoding fails:
- check whether the line is actually I2C and not a GPIO imitation
- confirm pull-ups exist
- reduce the number of enabled channels
- increase sample rate
Common failure patterns
- no pull-up, so the lines never return high
- noise or ringing causes false transitions
- probing on the wrong side of level shifters
7. SPI recipe
Use this for flash, displays, radios, and many digital peripherals.
Wiring checklist
- connect ground
- probe
CLK - probe
MOSI - probe
MISOif needed - probe
CS#whenever possible
What to verify in the raw waveform
- clock is present and stable
- data transitions match clock edges
- chip select brackets each transaction
Decoder settings
The important settings are:
- clock polarity
- clock phase
- bit order
- word size
- chip-select polarity
Fast diagnosis
If the bytes look shifted or wrong:
- try the other SPI mode
- verify whether the device is
MSB-firstorLSB-first - check whether
CS#is active-low or active-high
8. Minimal workshop flow
If you need a short live session, use this order:
- Show the package install command
- Run
sigrok-cli --scan - Run the built-in demo capture
- Open
PulseView - Explain how a real analyzer would replace the demo source
- Show one decoder workflow, not three
For a 10 to 15 minute slot, this is usually enough.
9. Chinese-friendly fallback
If the audience benefits from Chinese UI or Chinese-facing materials, keep DSView as a backup plan.
Use it only if:
- it was built and verified beforehand
- decoder resources are confirmed to load
- startup logs are clean
Do not rely on a first-time DSView build during a live session on a modern rolling-release Linux system.
10. Troubleshooting checklist
When the setup does not work, check in this order.
Software layer
- does
sigrok-cli --scanrun at all - does the demo driver work
- does
pulseviewstart cleanly
USB layer
- cable quality
- port quality
- hub vs direct connection
- insufficient power
Signal layer
- shared ground
- correct voltage domain
- correct probe point
- enough sample rate
Decoder layer
- correct protocol choice
- correct channel mapping
- correct polarity or inversion
- correct timing parameters
11. Cleanup after the share
If the machine was only used for preparation or a one-off workshop, remove everything cleanly.
Example package cleanup on Arch:
sudo pacman -Rns pulseview sigrok-cli libsigrok libsigrokdecode sigrok-firmware-fx2lafw boost
If local tools or builds were added, also remove:
- user-local binaries
- desktop entries
- temporary source archives
- temporary session files
- user-local decoder directories
12. Final advice
For most Linux-based embedded work:
- use
PulseView + sigrok-clias the default recommendation - keep the first live demo hardware-free if necessary
- treat raw waveforms as the truth and decoders as helpers
- prepare a fallback path before every public session