New protocol decoder: microwire

Yup, it's time for a new protocol decoder again. libsigrokdecode supports the microwire decoder since a few days.

Microwire is a "serial interface" (like so many others) that was specified by National Semiconductor (now TI) in 1992. The spec (PDF) is publically available.

It's often used in serial EEPROMs such as the 93LC56, 93C66 and various others from many different vendors.

As usual, there are some example files in sigrok-dumps and some test-cases in sigrok-test.

The protocol decoder was contributed by Kevin Redon, thanks a lot!

A higher-level decoder which stacks on top of this one and decodes the 93Cxx EEPROM-specific commands is available as well, more on that later.

New protocol decoder: dsi

libsigrokdecode now supports yet another protocol decoder: dsi.

This decodes the Digital Serial Interface (DSI) lighting control protocol.

As usual, there are some example files in sigrok-dumps and some test-cases in sigrok-test.

The decoder was contributed by Jeremy Swanson, thanks a lot!


Rohde&Schwarz HMC 8043 support

libsigrok now supports the Rohde&Schwarz (previously Hameg) HMC 8043 programmable power-supply.

This is a 3-channel power-supply with USBTMC and LXI connectivity.

The protocol is SCPI-based, so the patch for libsigrok was relatively straight-forward, extending the existing scpi-pps driver.

Other, similar SCPI-based power-supplies could be added with relatively little work as well. Patches are always welcome!

The code was contributed and tested by Marc Schink, thanks a lot!


New protocol decoder: dali

libsigrokdecode now features another protocol decoder: dali.

This decodes the Digital Addressable Lighting Interface (DALI) protocol.

As usual, there are some example files in sigrok-dumps and some test-cases in sigrok-test.

The decoder was contributed by Jeremy Swanson, thanks a lot!


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 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!



Subscribe to The ever-expanding world of sigrok RSS