Saleae Logic PWM generator

In a recent project I need a 3.3V PWM signal generator. Initially I think the fastest  way to do it is using an Arduino and write a simple program with analogWrite() function. But I’m too lazy to setup the breadboard… so I tried google.

Soon I come across a free software called “PWM Logic“. Supposedly it will turn Saleae Logic Analyzer into a PWM generator. An original Saleae Logic is somewhat too steep for my pocket right now. But I do have a cheap Chinese clone lying aroung. So I hook it up. Not surprisingly it does not work.

Salea Logic clone
Salea Logic clone

Knowing that Saleae Logic hardware is nothing but a Cypress CY68013A chip (that is why it is so easy to clone),  I decide to take a further step to reverse engineer the board and check why.

Some more googling leads me to the schematic of a cloned USBEE AX. USBEE AX is basically the same as Saleae except for two analog channels with limited function. On the schematic there is a 74LCV245 octal bus transceiver in between the testing terminals and CY68013A. The direction pin is connected to “DIR” net, but does not seems to link to anywhere else.

USBEE AX (clone) schematic
USBEE AX (clone) schematic

Tracing the board, the culprit is found immediately. On my Saleae clone, the 74245 direction pin is grounded, which means it can only receive signal from the terminals, not output to them. While examine the original Saleae teardown, there is no 74245 at all, the terminals are directly connected to CY68013A (with some schottky barrier, maybe). So the Chinese copycat actually did some “innovation” to include a buffer chip, for protection?

Since the reason is found, the next step is simple: break the 74245 direction pin and install a jumper to select input/output function.

Jumper added (front)
Jumper added (front)
Jumper added (back)
Jumper added (back)
Finished LA/PWM box
Finished LA/PWM box

Now I have a dual function Logic Analyzer / PWM Generator 🙂

PWM Logic screen shot
PWM Logic screen shot

P.S. CY68013A based logic analyzer is as good as its companion software does. Saleae have put a lot of efforts into its Logic software. Buying a clone and pirate the original software is not legal.

Update 28/09/2013: The PWM Logic homepage seems to be down at the moment. I have a local mirror here: PwmLogicSetup



11 thoughts on “Saleae Logic PWM generator

  1. Quote:- “Buying a clone and pirate the original software is not legal.”

    What exactly do you mean by that. The Saleae software has not been patented or protected in any manner. If you download the software from Saleae site it does not ask you to sign any agreement regarding its application. I do not believe that either Saleae device or the software has been registered.

    The hardware and scheme is actually originated with the manufacturer of the uProcessor, Cypress who released this to the public domain. The software is very good indeed, hands down, but it is Saleae who chose to make it public and is too late to impose any condition on it now as the SW is already out in the open.

    If Saleae had a half decent price on their products many would prefer to buy from them but no, they choose to sell it for an astronomical price with some rather useless features like Aluminum case. A better device (with a buffer HC245) is sold for around 10US$ ex China. Having been in the PCB manufacturing business for over 10 years I can estimate that the whole thing ( China version) is worth 6-7 US$ max.

    I am very strongly against SW/HW piracy but cannot stand sellers who try to gouge buyers and will falsely knock competitors/Clones. Excessive prices are the prime reason for privacy and the seller knows that. But, calculates that this price will maximize his profit.

    And the final irony is that the author of the above article Baoshi himself actually uses the clone but likes to berate the buyer of the clone as being a criminal.

    I strongly object.


    1. Hi Azzythehillbilly,
      Thanks for the comment. Very good input.
      I wish to make my point clear that Saleae Logic is a combination of hardware and software. They’ve put the software freely downloadable does not means the software is public domain. It is still copyrighted work and I believe Saleae has invested majority of the work into the software. These have to be compensated. Therefore value of the hardware portion solely based on the BOM cost is unfair. Being in the software industry for over 15 years I think the listing price of $149 is not absurd, and considering the convenience and market value for a logic analyser this is pretty much affordable, not for the hobbyist market though.
      It is indeed embarrassment when I object the piracy of Saleae Logic yet published this article with a clone. But it is also my intention to find the clone another usage so that I can use it “legally”. I actually bought a bus pirate and a scope and I have never use the logic analyser ever since. Meanwhile I’m saving for a Logic 16.
      BTW I’ve heard Saleae is currently working on a low cost logic analyser (Arduino firmware) for the hobbyist market.
      Thanks for the comment, again.


  2. Hi,

    I’m the author of the PWM Logic generator software. Unfortunately due to a lack of spare time, the project came to a grinding halt and I took down the website some time ago. For those who are interested, the source code is available on GitHub:

    Kind regards,

    (Ps. I know it’s been a while, but I hope this might help a Googler or two 😉 )


  3. Hi Joost, (still listening?)
    thanks for this nice software and “hardware investigation”! Although I have another clone style, it worked very well.
    It seems, that the software is prepared for each output having its individual frequency?! But how can I set different frequencies?
    Best regards, Lars


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s