Author Topic: Edgewise: open source logic analyzer software (alpha)  (Read 456 times)

0 Members and 3 Guests are viewing this topic.

Offline mtharrisonTopic starter

  • Newbie
  • Posts: 5
  • Country: gb
    • Matt Harrison
Edgewise: open source logic analyzer software (alpha)
« on: September 26, 2026, 01:41:29 pm »
I'm a hobbyist and I recently bought one of the cheapo Saleae clones, I know the Logic software is quite highly regarded but for the non legit hardware Pulseview seems to be the go to choice. It gets the job done, but I think we can do a lot better. I'm an SWE so I started working on an open source alternative.

https://github.com/mtharrison/edgewise

One of the main bugbears I had with Pulseview was just simple things like zooming into a packet quickly, so I started with some table stakes like cmd highlights a burst and you can click to fit to screen.

I'm just starting this project and have limited experience using logic analyzers so welcome any suggestions or things you wish Pulseview could do.

Device support is minimal for now but if I can get my hands on more devices I'll keep growing this.

This is my first post here so please be gentle on me  ;D
 

Offline shabaz

  • Super Contributor
  • ***
  • Posts: 1013
Re: Edgewise: open source logic analyzer software (alpha)
« Reply #1 on: September 26, 2026, 02:35:32 pm »
Hi,

It looks nice, and it is great you are tackling this, here are some display-related ideas.

(1) The immediate thing that stuck out cosmetically was the visual clutter. I'm guessing some of this was AI-generated, which tends to make things visually OTT. I find myself stating to the AI "Do it like Apple might", to try to restrain it. Maybe consider reducing colors for instance, see overview.png, which wasn't drawn for this purpose but still looks clearer I think. Also you've got detail at the bottom-left, but also settings for those at the top. I understand that's a status bar at the bottom, but still, it is extra clutter that could be removed if you find some of that detail can be represented in other ways or is unnecessary. For example, is the text Done needed, and if it is, the green indicator seems unusual, maybe it should be grayed out, or changed to a tick to indicate success?

(2) Consider ability to reorganize the signals and decodes, for instance, personally I think bottom-up looks better, with the decodes above the signals.

(3) Take a look at oscilloscopes as well, just in case you see any ideas you wish to build on. Also, take a look at Wireshark (a very different app for different use-cases, but there are a few ideas to glean from it perhaps).

(4) The individual characters in the decode could look bigger/clearer, and I didn't understand the need for the single-quote marks around them.

(5) The time values should improve, it's hard to count tiny zeros, so maybe the values should be in msec in your example, e.g. 2 msec instead of 2000 us, i.e. change automatically to suit.

(6) Consider ability to segment-ize, e.g. if there are long delays between bursts of data. Then, your decoded data could allow you to thumb through pages of the data. An example is in the overview png, where a burst might be a high-level file operation. You'd have to use your judgement what techniques your app could use and expose to the user, to control how bursts are determined.

(7) I have not run your app so I don't know what keys/mouse operations there are, but ability to easily page through, or pan, and zoom would be important of course, ideally with keyboard shortcuts, and also with mouse.

(8 ) You might want more than two cursors (and maybe an improved way of displaying their detail, since you'll run out of space if sticking to the current way you've got on the right side area) and also indicate where they are in the zoomed-out view at the top, just so users can quickly approximately see where a cursor is in the entire file (to me the word marker feels more intuitive than cursor by the way).
« Last Edit: September 26, 2026, 02:40:21 pm by shabaz »
 

Offline mtharrisonTopic starter

  • Newbie
  • Posts: 5
  • Country: gb
    • Matt Harrison
Re: Edgewise: open source logic analyzer software (alpha)
« Reply #2 on: September 26, 2026, 03:51:21 pm »
This is so helpful, thanks for the amount of effort you've put into your reply.

These all give me some great directions to explore.

Regarding the segmentize suggestion, would this build on the feature in the attached gif, but also perhaps give you a fwd/bwd sort of feature to skip to the next segment in the channel?

Thanks again and I'll keep this post updated as I improve things.

EDIT: not sure how viewable that gif is on here, so here's a link to the same thing: https://cap.so/s/zpk6g8sh9qm7tvg
« Last Edit: September 26, 2026, 03:53:26 pm by mtharrison »
 

Offline shabaz

  • Super Contributor
  • ***
  • Posts: 1013
Re: Edgewise: open source logic analyzer software (alpha)
« Reply #3 on: September 26, 2026, 04:22:03 pm »
Hi,

Yes, a fwd/back type function or scroll to a particular number (and display something like "segment 1 of 50"). Somewhere you'd need to select the trigger, which could be a specific byte or sequence (for example), or an amount of time, after which any previous segment would be considered complete.

In general, this set of functionality could be used when looking at a protocol more than just individual bytes, and I think it would be extremely useful. There are lots of scenarios where hundreds of thousands of bytes of data might be captured, but one needs an organized way of exploring and searching, so this would help to an extent.

As another example, WireShark goes to the next level and shows effectively a summary of each "segment" (well, packets, but some of the concepts could be translated across), at the top pane, and the user can scroll and navigate through that, and the bytes pane instantly updates.

 
The following users thanked this post: mtharrison

Offline mtharrisonTopic starter

  • Newbie
  • Posts: 5
  • Country: gb
    • Matt Harrison
Re: Edgewise: open source logic analyzer software (alpha)
« Reply #4 on: September 26, 2026, 06:28:26 pm »
I understand. Wireshark has less of a continuous timeline approach and more an ordered discrete protocol frames/packets/datagram approach. I think part of this is due to wireshark/libpcap being a tool for looking at the logical layer 2+ information where a lot of presumptions can already be made.

The logic analyser software I seen works the opposite way, it shows you the physical layer first making no assumptions, until you layer on protocol decoders yourself. But perhaps after that an additional discrete list type view that is searchable, filterable etc would be very handy.
 

Offline kloetpatra

  • Regular Contributor
  • *
  • Posts: 93
  • Country: de
Re: Edgewise: open source logic analyzer software (alpha)
« Reply #5 on: September 26, 2026, 07:29:44 pm »
Really nice project. Would be cool if there's hardware support for slogic devices which use a fork of pulseview.
https://wiki.sipeed.com/hardware/en/logic_analyzer/slogic16u3/Introduction.html
 
The following users thanked this post: mtharrison

Offline mtharrisonTopic starter

  • Newbie
  • Posts: 5
  • Country: gb
    • Matt Harrison
Re: Edgewise: open source logic analyzer software (alpha)
« Reply #6 on: September 26, 2026, 08:00:58 pm »
I wonder if I can get some vendors to send me devices to integrate  :) Alternatively I could just make it a frontend for libsigrok and automatically inherit the support for devices through that. That's probably the sensible approach, as it's mostly the UI I wanted modernise.
 

Offline mtharrisonTopic starter

  • Newbie
  • Posts: 5
  • Country: gb
    • Matt Harrison
Re: Edgewise: open source logic analyzer software (alpha)
« Reply #7 on: September 27, 2026, 03:47:33 pm »
Quick update:

I'm building platform binaries now for Linux, Windows and MacOS for releases: https://github.com/mtharrison/edgewise/releases

The only native driver remains `fx2lafw` for now and I've tested my board on the 3 platforms (screenshots attchd.).

If you install `sigrok-cli`, either the official nightlies or the fork for your specific device edgewise should pick it up in the device selector to give much wider device support. This was painless on Mac and Linux but on Windows I needed to also install Zadig to install the WinUSB driver to make my device appear and also tell it where the firmware lives. I'll try to make this smoother in future.

 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

-->