LeCroy X-Stream oscilloscope support

libsigrok now supports the LeCroy X-Stream series of oscilloscopes (and possibly others).

This includes models from the WaveAce, WaveJet, WaveSurfer, and WaveRunner series in theory; some models may also be manufactured/rebranded by Atten, Iwatsu, or Siglent.

All these devices seem to use a common SCPI protocol and LeCroy's common waveform template format, so they should all work in theory.

Testing and/or patches fixing implementation details to support more models are highly welcome!

The code was contributed by Sven Schnelle, thanks a lot!


New protocol decoder: adf435x

libsigrokdecode now features yet another protocol decoder. This time: adf435x.

This decoders supports the SPI-based protocol of the Analog Devices ADF4350 and ADF4351 RF synthesizers.

The decoder was contributed by Joel Holdsworth, thanks a lot!

You can watch episode 005 ("4.4GHz RF Synthesizer Board - ADF4351 - Theory, Setup, Reverse Engineering, Experiments") on Joel's OpenTechLab YouTube channel for a lot more details about the ADF435x devices and how they can be used, as well as how sigrok can help with making chip-specific protocols like this one easier to understand and debug.

New protocol decoder: iec

libsigrokdecode has gained support for the iec decoder.

This decodes the Commodore serial IEEE-488 (IEC) protocol.

As usual, there's sample files and test-cases for the PD in our git repos.

The decoder was contributed by Marcus Comstedt, thanks a lot!


Hantek 6022BL support

libsigrok now supports the Hantek 6022BL device.

This is a 2-channel USB oscilloscope (48MHz sampling rate, 20MHz analog bandwidth as per vendor); it can also be used as a 24MHz logic analyzer alternatively (but not both at the same time).

We use our open-source sigrok-firmware-fx2lafw firmware for the device, which has been extended to also support the Hantek 6022BL (it supported the Hantek 6022BE already since 0.1.4).

With some additional changes in libsigrok, the Hantek 6022BL is now officially supported.

The respective code was contributed by Sebastian Tabares Amaya and Jan Losinski, thanks a lot!

For the curious, we have the usual set of teardown photos and hardware info in the wiki.


libsigrokdecode 0.4.1 released!

We're happy to announce that libsigrokdecode 0.4.1 has been released.

You can download the libsigrokdecode-0.4.1.tar.gz source tarball from sigrok.org/download as usual.

This is mostly a bugfix-release, the C library API was not changed. This means existing frontends that work with / are linked against libsigrokdecode 0.4.0 will continue to work just fine, without requiring relinking or recompiling.

However, some of the protocol decoders' output changed in ways which are not compatible with the state of the decoders in the last libsigrokdecode release. This means, if you're using any scripts to parse decoder output, or if you have any "private" protocol decoders that stack on top of one of those shipped with libsigrokdecode, you will have to do some adaptations. You're also encouraged to submit such decoders to be included in libsigrokdecode proper, of course!

In addition to all kinds of improvements and bugfixes in existing protocol decoders (PDs), you're probably most interested in what new protocol decoders are now supported (backported from git HEAD). So here's the list:

  • aud: Renesas/Hitachi Advanced User Debugger (AUD) protocol
  • avr_pdi: Atmel proprietary interface for the ATxmega MCU
  • dmx512: Professional lighting control protocol
  • em4305: EM4205/EM4305 100-150kHz RFID protocol
  • gpib: IEEE-488 GPIB / HPIB protocol
  • ps2: PS/2 keyboard/mouse interface
  • rgb_led_ws281x: RGB LED string protocol (WS281x)
  • ssi32: Synchronous Serial Interface (32bit) protocol
  • t55xx: T55xx 100-150kHz RFID protocol
  • wiegand: Wiegand interface for electronic entry systems

This adds up to currently 70 supported PDs in total.

Please check the libsigrokdecode NEWS file for the full list of user-visible changes in this release. As always, we're happy about bug reports, feature suggestions, comments about which protocol decoders you'd want supported next, or even better — patches :)

Happy decoding!

PeakTech 2170 support

Another new device was recently added to the list of libsigrok-supported hardware: PeakTech 2170.

This is a 20000 counts handheld LCR meter with USB connectivity.

It's using a standard Prolific PL2303 IC for communication with the host, and the Cyrustek ES51919/ES51920 chipset for the actual measurements.

You can find the usual set of teardown photos over in the sigrok wiki.

The device support was added to the existing (now more generic) driver for ES51919-based devices by Gerhard Sittig, thanks a lot!


New protocol decoder: gpib

Another protocol decoder was recently added to libsigrokdecode: GPIB.

This PD decodes the General Purpose Interface Bus (GPIB, previously also HPIB) protocol, a.k.a. IEEE-488.

This protocol is often used in all kinds of test & measurement equipment, ranging from bench multimeters to power supplies, oscilloscopes and lots more.

We have a few example files in the sigrok-dumps repo, and some test-cases in sigrok-test, as usual.

The decoder was contributed by Rudolf Reuter, thanks a lot!


PeakTech 3330 support

libsigrok now supports yet another multimeter: this time it's the PeakTech 3330.

This is a 4000 counts, CAT III (1000V) — at least in theory — multimeter with RS232 and USB connectivity and some neat features not seen in most other DMMs of this price-range.

It uses the common Fortune FS9721 chip which is already supported by the serial-dmm driver in libsigrok, so adding support for the DMM was pretty straight-forward.

As usual we also have a bunch of teardown photos and some more hardware info in the wiki if you're interested.

This DMM was added and tested by Gerhard Sittig, thanks a lot!

New protocol decoder: ps2

libsigrokdecode now supports another new protocol decoder: ps2.

This PD decodes the PS/2 (low-level) protocol for keyboards, mice, and some other PS/2-attached devices.

As usual, we have a bunch of example files in the sigrok-dumps repository, and a few test-cases in the sigrok-test repo.

The decoder was contributed by Daniel Schulte, thanks a lot!


sigrok-firmware-fx2lafw 0.1.4 released!

We're happy to announce the sigrok-firmware-fx2lafw 0.1.4 release. This is an open-source firmware that allows you to use almost any of the popular Cypress FX2 based devices as logic analyzers.

The source code and pre-built firmware files are available from the usual place:

This release adds support for the CWAV USBee ZX logic analyzer as well as a new set of devices:

These devices all use one of the "official" sigrok/fx2lafw USB VID/PID pairs:

  • 1D50:608E: fx2lafw-hantek-6022be.fw, fx2lafw-sainsmart-dds120.fw

This new VID/PID pair is used by the Hantek 6022BE (plus devices very similar to that, such as the SainSmart DDS120 and Rocktech BM102). It was allocated for sigrok/fx2lafw via the awesome "Open registry for community / homebrew USB Product IDs" service of the Openmoko project.

The firmware implementation for these devices is different from the "usual" firmware for FX2-based logic analyzers. It was originally written by Jochen Hoenicke (thanks a lot!) for another project and was included into sigrok-firmware-fx2lafw mostly for convenience reasons; see the sigrok-firmware-fx2lafw README for details.

Finally, this release also adds initial support for analog channels on FX2-based logic analyzers, such as the CWAV USBee AX (and various clones).

The NEWS file contains some more details.

The new firmware files require the soon-to-be-released libsigrok >= 0.4.1 (or current git HEAD). The Windows sigrok-cli installer and PulseView installer (nightly builds) we provide already include these firmware files and a libsigrok version that is new enough.



Subscribe to The ever-expanding world of sigrok RSS