Everything You Need To Know About Logic Probes

We just spent the last hour watching a video, embedded below, that is the most comprehensive treasure trove of information regarding a subject that we should all know more about — sniffing logic signals. Sure, it’s a long video, but [Joel] of [OpenTechLab] leaves no stone unturned.

At the center of the video is the open-source sigrok logic capture and analyzer. It’s great because it supports a wide variety of dirt cheap hardware platforms, including the Salae logic and its clones. Logic is where it shines, but it’ll even log data from certain scopes, multimeters, power supplies, and more. Not only can sigrok decode raw voltages into bits, but it can interpret the bits as well using protocol decoder plugins written in Python. What this all means is that someday, it will decode everything. For free.

[Joel] knows a thing or two about sigrok because he started the incredibly slick PulseView GUI project for it, but that doesn’t stop him from walking you through the command-line interface, which is really useful for automated data capture and analysis, if that’s your sort of thing. Both are worth knowing.

But it’s actually the hardware details where this video shines. He breaks down all of the logic probes on his bench, points out their design pros and cons, and uses that basis to explain just what kind of performance you can expect for $20 or so. You’ll walk away with an in-depth understanding of the whole toolchain, from grabber probes to GUIs.

Indeed, toward the end, [Joel] simulates the parasitic inductance of using flying-lead connectors and demonstrates how it destroys high-frequency signals. Even if the logic analyzer were able to sample fast enough, no signal makes it that far. But he doesn’t wave his hands around the problem — he shows you. And then he mentions hard-core-hacker-friendly tricks to get up into the hundreds of megahertz, with a hat-tip to [Bunnie Huang].

In our opinion sigrok, and the el cheapo hardware logic probes that it supports deserve a place in every hacker’s toolbox. This video is the best introduction to the software, and the topic in general, that we’ve ever seen.

We’ve featured two other videos from the [OpenTechLab], one on the ICE40 FPGA and one on high-frequency synthesis, that you might also like. So put away whatever brain-rotting Hollywood blockbuster you have on the shelf, and make some popcorn for quality nerd time.

43 thoughts on “Everything You Need To Know About Logic Probes

    1. You should be pretty happy with that. It’ll do 99% of what you’ll ever need. I’ve got fancier tools (beagle logic, DS1054Z and what not) and I almost never use ’em for that. Those FX2LP cheapos have enough lines for I2C/SPI/I2S and what not, as well as being fast enough for most things (if your SPI bus is clocked too fast on a project, well, temporarily change your SPI init to something slower, debug, then put it back). I prefer PulseView to the “real” Logic8 or USBee analyzers too.

      1. Note that the “general CU768013A” development boards work in Sigrok with 16 channels.
        Sometimes I need more then 8 when my uC project has multiple Uart / I2C / SPI connections. But you can do quite a lot with 8 channels.

        1. Addition:
          The general CY68013A development boards have no input protection, but just the I/O pins.
          So Add some protection (& a buffer?) yourself.

          As well known by now Some Chinese try to rip off their customers.
          There is an older version of the CY7C68013A which does not have the “A” appended.
          I’ve had boxes where the top of the chip has been ground off and lasered again with the “A” appended. The CY7C68013 draws 120mA from USB right after connection and can get quite hot in the little box (Measured 96 Celcius.)

      1. There really isn’t much difference to the “original” except the buffer chips.
        Sigrok did have a bug which would prevent it from working faster than 4Ms/s (or there abouts) with FX2 based logic analyzers, but that’s been fixed quite a long time ago. I think it was something to do with either how they used the USB library they use or a bug in it.

    1. Digital of course. (As far as we stay in the electronics part of the hackers & makers).
      Analog is not, and will never be obsolete but over 90% of the interesting stuff is in the digital domain.
      Just open an electronics magazine, uC’s in almost every circuit.
      Look at the popularity of Arduino’s Raspi’s and all the other uC boards.
      And because almost all firmware is in reprogrammable FLASH it’s all easily accessiable.
      TP-Link with alternative firmware, and others.
      Look at the stuff shops like Adafruit, Watterrot and all the other “hobby / maker” oriented shops sell.
      Look at hackaday’s articles, kickstarters, indiegogo / crowdsupply.com.
      The whole world is turning digital. (Well almost).

      1. Or younger ones who want to understand the basis of electonics, and intentionally seek out analog projects to understand them.

        Radio is something like that, that I try to understand on the analog domain, so it’s closer to physics.

        Making a whole CPU based out of transitors/logic gates is fascinating, too.

        It’s nice to be an allrounder, especially if you want to go into the physical world, and understand some of the analog sideeffects that are still relevant to the digital world, such as sampling analog signals correctly, or producing analog signals (audio), or properly driving physical things such as coils to create certain magnetic effects.

        It’s a balance.

        Most certainly focus on digital only, and really software. But it’s more than tradition or age. Curiosity matters more.

  1. Logic Analysers are wonderfull pieces of equipment for any hacker dabling with digital electronics.
    Even though one of the first Elector (Elektuur, Dutch) magazines I bought back in 1989 was because of the logic analyser article, I put off making / buying one for a long, long time.
    Back in 1989 a LA was a multiple PCB design with lots of through hole chips and guzzling multiple amps out of it’s power supply. They also tended to have loads of inputs to sample all the wires of address and data busses. That kind of LA is still being made, but only for the higher-end market (with comparable prices).

    Back then a LA was a bit above my budget and I forgot about them. Only a few years back I bumped into them again when I noticed the 16 channel LA would be overkill for the “average” hacker and I rarely need more than 8 myself.
    Lately I’ve been working on a HX711 (Ali express special 24-bit ADC with pre-amplifier).
    It uses a simple 2 wire protocol, Clock & data. Channel selection is done by sending the chip up to 3 extra clock pulses after data is read. It gets a bit complicated because the chip can pull the Data line high to indicate a “busy” state, and as long as that is high you can not read data from the chip.

    Pretty trivial to work around in software, but a simple logic analyser surely helps a lot while debugging.

    1. Dunno but it’s virtually the same thing being discussed. The only difference is that a logic probe has a high-impedance driver close to the probes to reduce wire length and improve signal integrity. The underlying principles are still the same.

        1. Sure, if you want to intentionally misunderstand me, be my guest. The guy who made the video discusses the cabling of the logic analyzer in great detail and my point is that for this discussion, there is almost no difference to discussing a logic probe.

    2. A better title should be “ode to the clones” because in this video piracy is glorified. Saleae analyzers are great and when the company started, the costs of their devices was highly competitive and very interesting for hobby purposes. I bought one as soon as they came out, using it for many many years now.
      But now the costs gone way up, which is a pitty as I now longer can recommend it to my friends with a small hobby budget.

      The problem I have with the clones is that the “pirates” put the name Saleae on the product while it has nothing to do with Saleae other then ripping them off. And worse… if the clone causes problems the name Saleae will be mentioned on forums and videos and soon people start to think that Saleae caused the problems and not the pirate who build the clone. Which makes me very very sad. As it could happen to the things I make too.

      If we were to make a video with music form a certain pop-artist then all hell breaks loose if we put it on youtube.
      Here in this video (which is a good video from a technical point of view) Saleae clones are being glorified as a substitue for the original Saleae products. It doens’t say it with those words, but the message I get is: “It’s OK to buy pirated hardware guys… but don’t forget to look at the website of the guy’s who invented it and then straight to ebay to buy the clone… it’s much cheaper and you won’t know the difference”.

      A guy making a video about pirated hardware is fine by me, but it makes me sad that hackaday promotes this video and therefore promotes hardware piracy… it makes you wonder, since they don’t seem to care, how long will it take before hackaday put’s pirated hardware into their own webshop?

      1. This is definately not true.
        The name saleae Is also never mentioned in this hackaday article.
        Also the hardware mentioned does not have any firmware in it.
        It is a pretty dumb box and the firmware is being up/down loaded into the
        CY768013A after it is connected to a PC.
        The only stuff on the pcb is the uC, a HC245 buffer and protrection resistors and some small stuff. Title should not be “Ode to Piracy” but “Ode to Cypress” where the “clones” are conserned. It is the hardware in this particular microcontroller which makes these boxes so wonderfull.

        I do agree that it is unfortunate that some Chinese still put that name on some boxes.
        But it is diminsing rapidly. The name “Saleae” is not a very good search term anymore on Ali Express. Ever more Chinese are removing the name “Saleae” from these boxes and they are now nameless.

        A good way to find these “clones” is by the magic words “24m 8ch”.

        So I want to ask all Hackaday users:
        Send the Chinese a message & ask them if their “24m 8ch” works with Sigrok.
        In the beginning they probably don’t know what you talk about, But after a while they will start putting the “works with sigrok” logo on Ali Express.

        1. The Saleae have a page about piracy on their web site, where they explain the software is where the real value of their product lies — it’s a shame they don’t seem to sell the software separately from the hardware, I think they are missing a trick.

          Re. Signrok – I’m pretty proficient with Linux but never managed to get Pulseview up and running. A bit of documentation or packaging would help massively with adoption there I think. (Apologies if that sounds greedy).

          1. I just updated my install after writing the article. On Arch Linux, sigrok and Pulseview are in “community” and install straight out of the package manager.

            I had issues compiling the new binary firmware for the salae clones, but ended up just downloading it pre-compiled from the sigrok site myself.

            One thing that [Joel] doesn’t mention in his video is that sigrok doesn’t support run-length-encoding on the the OpenBench logic sniffer, which really helps with its limited memory. But I don’t usually need more than 8 channels, so the salae clone is just fine.

      2. After re-watching the video with your post in mind [Joel] clearly explains the ethical part & limits in the first 2 minutes. FOSS engineers can get quite anal about this subject, and rightly so.
        @ 10 minutes into the video he even prises Saleae of their high quality (but pricey) products.

        Now try to imagine Saleae promoting the clones as a “low quality, low price” alternative.

        The final nail in the coffin for Saleae for me was when they decided to completely ditch the 24M 8CH version.
        They only seem to be interested in the “professional” market where price doesn’t matter much.

        Saleae could easily have made cheap versions (plastic box instead of the expensive CNC’d box) available at reasonable prices and/or even only sell them in batches of 10 or more to schools etc.
        I am sure Saleae could have made a profit out of this. I would have bought a USD20 Saleae instead of a USD5 Clone.
        But I positively refuse to pay USD100 (which was it’s price) for a box with a USD5 microcontroller.
        Selling lots of cheap boxes (to schools) would spread their name and they have a nice grow path to more capable & expensive hardware.

        Sigrok is working so good now that I won’t even go back to the Saleae software even if I got their hardware for free.
        To me Saleae is “kaput”. They are very nice guys and they make wonderfull software but because of their marketing strategy I wil never buy a product from them. Ever since them I call tem Salaea.

  2. Thank you for linking this highly interesting video! Sigrok looks really nice and i have to try it. Maybe it will make a usable device out of my Openbench Logic Sniffer, because last time i tried (years ago) the avaible GUIs were awful crap. Also the Cypress-USB-something-i-already-forget-the-name dev boards for $10 could be quite useful to do other stuff by reusing the code from the Sigrok-projet. FOSS is great.

      1. Sure, here is a post i made 11mo ago on that
        “I just reinstalled it on FC24x64, which gives me “pulseview-0.3.0-1” with “libsigrok-0.4.0-1” and other dependencies. I’m using one of the $10 8ch clones.
        Upon first run I’m presented with “Failed to Select Device”. When I try to select a device, IIRC it should be the fx2 driver, nothing is detected.
        For giggles in an attempt to test all the options I then selected “ASIX”, the first one, and it immediately core dumped without any further action. On second run, it opens without error on “Demo Device”. I tried others (IKALOGICs, lecroy, pipistrillo, all core dumped as well before trying to detect) for nothing

        I re-plugged it in while running and it changed to Saleae Lgoic (and detects under fx2), but clicking Run core dumps.”

        Perhaps its getten better (read: actually working) since last year, but they left such a bad taste in my mouth i havent felt the need to try yet again

    1. I hear you on that. One thing that’s great about the Saleae software is a way to save setups.

      I mostly use Pulseview for messing around in the first stages, and then write everything down and do a sigrok-cli capture in the end. The “setup” is all in the parameters, and the command-line modes streamlines getting the data out and into the next stage.

      Anyway, saved presets would be a great improvement, and it can’t be all that hard to implement… Raise an issue?

  3. For some reason I’d completely failed to get the triggering working right in the past and thought it was just a limitation of my analyser, this video completely changed my perspective on that! I only discovered the parallel decoder last week too, which has saved a lot of time reading binary numbers off from the signals – high and low lines are a bit tricker than just ones and zeroes.

    Now the triggering is working I can remove all the artificial count downs in my arduino code, that were there to give me a warning of when to press the run button! https://twitter.com/CodeSubversive/status/891989797840891906

  4. Low-cost CY7C68013A Logic Analyser @ 48Msps on 4 channels.
    These days a Logic Analyser [LA] with 8 channels and up to 24Msamples per second cost less than $/€ 5,-. And with open source program PulseView from Sigrok.org – thank you all – every hobbyist can trace and decode digital signals.
    Until he/she comes across a SPI-signal with a 12MHz clock, like a LCD from an older printer . That’s the moment to think of a trick.
    That trick is: delay the clock- and data-signals half a sample-time and feed them, together with the non-delayed signals to the LA. Run an acquisition with 24Msps, long enough to catch the desired data and export the acquisition in binary form as “SingleSamples.bin” to disk, in the same directory as “DoubleSamples.py”
    Next Python-program “DoubleSamples.py” reads that “SingleSamples.bin” file and puts the delayed signals together with the non-delayed signals in a new or over-written “DoubleSamples.bin” file of twice the length in the channels 0 to 3. A 100Msample file takes approx. 62s , so . . . be patient.
    Now import the “DoubleSamples.bin” in PulseView with settings: 4 channels and 48Msps.
    Ready to decode.
    Two buffers of SN74HC244 (Vcc: 5V) in serie per signal can be used for a 25ns delay. (20.8ns is optimal) .
    Channel D4, D5, D6 and D7 signals are the delayed signals and channel D0, D1, D2 and D3 the non-delayed signals.
    old_b = ”
    f = open(“DoubleSamples.bin”, mode=’wb’)
    with open(“SingleSamples.bin”, mode=’rb’) as r:
    bytes = memoryview(file.read(r)).tolist()
    for b in bytes :
    if b old_b:
    old_b = b
    uit = ‘{:c}{:c}’.format( b >> 4 , b & 0x0F )

  5. I am looking for information about how to get the Saleae Logic 16 clone (top center of the video start page) to function on a Windows 10 machine using Sigrok Pulseview. The video shows how to do the logic probing, but doesn’t explain how to get it all running in the first place. I know this is an old thread, but I have found nothing else. Hope someone is still listening and can offer some time, or even how I could get in touch with Elliot Williams or Joel at OpenTechLab.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.