As mentioned up above, I use
Some things to consider:
- The USB logic analyzers tend to split into two groups based on their capture mode. There is a group with deep sample memory that always captures in real time. This leads to a trade-off between duration and precision, where sampling at 100 MHz into a 1 Mb buffer fills the buffer in only 10 msec.
The other class has shallower buffers (typically a few Kb) but can tag each sample with a timestamp, so sampling at 100 MHz is still possible throughout an event that lasts several seconds. On the other hand, if there's a channel with a lot of activity then the buffer will be filled correspondingly quickly.
- Pay attention to the maximum input voltage range and also to the trigger range. There are some inexpensive USB LAs that have a fixed front-end range of 0-5 VDC and a fixed trigger threshold but ones that handle at least +/- 20 VDC with adjustable triggers aren't much more expensive.
- Back in the day, one feature of LAs was the ability to load a machine language interpreter and, with the proper assignment of channels to address, data, and control busses, to trace program execution and trigger on events like the change of a memory location. Nowadays, at least in microcontroller land, not so much. Instead, look for the ability to interpret common serial protocols like CANbus, I2C, etc.