Waveme: Free timing diagram drawing tool - Page 1
Forum section: electronics / projects

author: nitzan
author_rank: Contributor
timestamp: September 06, 2016, 05:41:17 pm
content: Introducing WavemeA free, GUI-based, digital and analog (mixed-signal) timing diagram drawing software for Windows 10 (and Linux/MacOS viaWine).Waveme is intended primarily for documentation purposes - a diagram can be exported (stored) to an image file (BMP, PNG, SVG or TIFF) or a PDF document.Waveme can be used to draw waveforms, gaps, arrows, labels, value-lines and time axis (see attached image).Highly customizable, with a wealth of keyboard shortcuts.Website:waveme.weebly.comWaveme is distributed as a portable 64-bit single-file executable - it doesn't require installation.Please note that because it is an unsigned executable file, Windows and your browser will warn you, and it might be flagged by antivirus programs.Avoid false-positive, by always confirming with Google'swww.virustotal.com.Hope you find it useful!

author: Pack34
author_rank: Frequent Contributor
timestamp: September 06, 2016, 07:41:26 pm
content: Firewall flagged it as malicious

author: nitzan
author_rank: Contributor
timestamp: September 06, 2016, 07:54:07 pm
content: Sorry to hear that's the response you got.Could you please be more specific (e.g. which firewall, what message)?

author: alexanderbrevig
author_rank: Frequent Contributor
timestamp: September 06, 2016, 08:19:38 pm
content: Same here, instantly removed (that is, windows defender did - windows 10 pro v1607 os14393.105)

author: m98
author_rank: Frequent Contributor
timestamp: September 06, 2016, 09:28:06 pm
content: Seems all right:https://www.virustotal.com/de/file/b2ee858d2e8bb243d20025c1e671d67fea73b8bfd0ed98f4f8774fbd49762268/analysis/1473197065/So, probably some false-positives.

author: alexanderbrevig
author_rank: Frequent Contributor
timestamp: September 06, 2016, 10:34:16 pm
content: This is the message given when the file is quarantined then deleted: Trojan:Win32/Spursint.A!clI did a quick disassembly and found it's a python project compiled with mingw and I've had the same issues before. Did a quick wireshark check and everything seems in orderNow, to test the program!EDIT: Works like a charm! Nice little (well, not really so little) tool there

author: TiN
author_rank: Super Contributor
timestamp: September 07, 2016, 05:07:01 am
content: Looks like it based onWavedromengine?

author: m98
author_rank: Frequent Contributor
timestamp: September 07, 2016, 03:33:44 pm
content: Just tested it, works fine with wine under macOS. Great tool overall, just two things that bothered me a bit:Please remove those windows-style "are you sure" dialogs, they're just infuriating. You have a perfect undo functionality, so no data is lost when someone makes a mistake. Also, you might want to change the delete shortcut key to backspace, because using "d" isn't quite that intuitive on first use.Otherwise, that tool will see some regular use. Great work, keep going.

author: Pack34
author_rank: Frequent Contributor
timestamp: September 07, 2016, 04:00:21 pm
content: Can you put it up as a zip file? It might help get around the false positive blocking.Can you invert the colors? I could definitely use this to create timing diagrams for documentation.

author: nitzan
author_rank: Contributor
timestamp: September 07, 2016, 04:20:32 pm
content: Quote from: TiN on September 07, 2016, 05:07:01 amWaveme was written by me from scratch in Python + wxPython, and it does not contain nor rely on any other diagram software.I was definitely inspired by other diagram tools, as I mention in the About page on Waveme's website:http://waveme.weebly.com/about.htmlQuote from: m98 on September 07, 2016, 03:33:44 pmYou can cancel the delete object warning in:Diagram | General options | Ask before deleting an objectWhile you're at it, you can also cancel the warning before quitting the program:Diagram | General options | Ask before quitting the programAnd, to preserve this configuration of Waveme, save your new defaults by doing:Diagram | Save defaultsThis will create a defaults.xml file where Waveme.exe is, and from now on, all your diagrams will start with the defaults stored in that file, rather than those I chose for you...Thanks for trying it out and giving your feedback.

author: alexanderbrevig
author_rank: Frequent Contributor
timestamp: September 07, 2016, 04:31:34 pm
content: Any chance you'll open source it?It would be nice to have a few defaults to start from. F.ex UART, SPI, I2C, I2S to get a quick start for either specifying a custom driver/fpga interface whatever - or documenting some chip.As an example I made a diagram for APA102 just to try out. If I had an I2C to start from, it would be easier/quicker.

author: m98
author_rank: Frequent Contributor
timestamp: September 07, 2016, 04:41:46 pm
content: Quote from: Pack34 on September 07, 2016, 04:00:21 pmNot only can you invert them, you can completely customize the diagram colors in the settings.

author: mubes
author_rank: Regular Contributor
timestamp: September 07, 2016, 05:04:06 pm
content: Brilliant to have such a thing available! It's going to be another one of the things that means I keep a windows virtual machine around :-/So....Not wanting to look a gift horse in the mouth or anything, and being _very_ appreciative of your effort, , is there any chance of a linux-native version? If it's pythonic then hopefully that wouldn't be too painful to do...perhaps someone here could help with a port if you're not wanting to open source?Dave

author: Lukas
author_rank: Frequent Contributor
timestamp: September 07, 2016, 05:08:06 pm
content: Looks great. How about vector (SVG, PDF) export for embedding in LaTeX documents? I really want to avoid bitmap graphics for that kind of thing.

author: nitzan
author_rank: Contributor
timestamp: September 07, 2016, 08:36:26 pm
content: Thank you for the warm reception!I certainly hope to further develop Waveme, making it more useful to more people.With this in mind, bug finding & fixing is of the highest priority (after all, Waveme is new),then attempting to bring Waveme to more platforms, e.g. Linux.Waveme has a public Google grouphttps://groups.google.com/forum/#!forum/wavemeI encourage you to browse and contribute to,if you have feature requests, bug reports or just a question.It will help all users find answers to their issues, and me gather your feedback in one place.

author: nitzan
author_rank: Contributor
timestamp: September 07, 2016, 08:52:12 pm
content: Quote from: alexanderbrevig on September 07, 2016, 04:31:34 pmI don't currently plan to open-source Waveme. Perhaps when I'm done having fun with it...Quote from: alexanderbrevig on September 07, 2016, 04:31:34 pmHaving "baseline" or "starting point" diagrams for specific interfaces, e.g. I2C, is a nice idea!It will be up to the community to develop such diagrams, and share with one another.I think Waveme's Google group can be a natural place for sharing such diagrams (files can be attached to posts).

author: nitzan
author_rank: Contributor
timestamp: September 07, 2016, 08:59:29 pm
content: Quote from: Pack34 on September 07, 2016, 04:00:21 pmI don't think it will make a difference, since, AFAIK, ZIP files are extracted and searched too.And, since I don't have a way of testing whether it helps, I'd rather leave this case alone.Sorry for the inconvenience.

author: Pack34
author_rank: Frequent Contributor
timestamp: September 07, 2016, 09:10:25 pm
content: Quote from: nitzan on September 07, 2016, 08:59:29 pmMaybe zip a malformed file? When sharing execuitables for work I always have to replace the period with an underscore to get around the gmail blockers.

author: nitzan
author_rank: Contributor
timestamp: September 07, 2016, 09:18:05 pm
content: Quote from: Pack34 on September 07, 2016, 09:10:25 pmI'm afraid it will only confuse "the rest of the world".I'll keep it as is for now.

author: ale500
author_rank: Frequent Contributor
timestamp: September 08, 2016, 05:56:31 am
content: It would be great if it also reads and writes vcd files.

author: nitzan
author_rank: Contributor
timestamp: September 08, 2016, 04:29:45 pm
content: Quote from: ale500 on September 08, 2016, 05:56:31 amPlease help me understand your needs.What do you wish to do, if Waveme could read and write VCD files?Reading VCD:Do you have a need to annotate already generated waveforms, by adding labels and arrows to them, or more waveforms?Writing VCD:How do you intend to use a VCD file, that Waveme wrote?Potentially, Waveme could add items to a diagram, that can not be stored in a VCD file. What would happen then?

author: Berni
author_rank: Super Contributor
timestamp: September 09, 2016, 12:58:53 pm
content: This looks very promising. Works pretty well and can generate fairly good looking diagrams if you fiddle with the colors a bit.One thing i would like to see is a more interactive UI around the waveform. For example being able to set up some default transition times and then just draw a waveform using the mouse aswell as move and adjust it around. For example being able to simply add logic states of a adjustable default length and transition time on the end of a waveform by having your mouse there and pressing 1 or 0 on the keyboard or perhaps swiping up or down after the end of the waveform with the mouse. Also being able to grab a transition and move it back and forth (Perhaps also add snap indicators for easier alignment to other edges)In my opinion being able to draw a basic diagram as quickly as possible and with as few clicks as possible is the main advantage of such a software. You can go make amazing looking timing diagrams in Corel Draw or Ilustrator or something but they take forever to draw.

author: nitzan
author_rank: Contributor
timestamp: September 09, 2016, 05:34:47 pm
content: Quote from: Berni on September 09, 2016, 12:58:53 pmI understand you wish to use the mouse for active drawing (e.g. click to add a segment), and waveform manipulation (e.g. changing segment width, or moving segments around).I'm sorry to disappoint you, but when I designed Waveme's workflow, I decided not to make use of the mouse for such activities. And, I understand that this might not be to everyone's liking.For speedy drawing, I suggest using the Duplicate operation, that is available for many objects;- Row (Row | Duplicate) (Shortcut: *)- Segment (Segment | Duplicate) (Shortcut: *)- Arrow- Label.Give it a try. This might be plenty fast...I feel that for a specialized tool as Waveme, a simplified UI is easier to learn and efficient to use, than the experience offered by general drawing tools such as CorelDraw and Visio (which are great for what they are - general, do what you want, but take longer to master and to produce work, and require precise mouse manipulation).I'm sure that with the community's feedback, I'll figure out which mouse manipulations are worth adding to Waveme.

author: nitzan
author_rank: Contributor
timestamp: October 04, 2016, 11:51:27 pm
content: Quote from: Lukas on September 07, 2016, 05:08:06 pmPDF export is now available in version 1.1.Please note that a PDF file incorporates the PNG image of a diagram, centered in the page, and potentially scaled down to fit the selected page size (either Letter or A4).

author: nitzan
author_rank: Contributor
timestamp: October 04, 2016, 11:59:43 pm
content: Waveme version 1.1 is now available!New features:- User-defined default segment width values, when adding a new Signal or Bus segment (instead of 1 unit wide).- User-defined starting unit for vertical grid lines (instead of always starting at unit 0).- Export to PDF.

author: nitzan
author_rank: Contributor
timestamp: October 20, 2016, 06:23:49 pm
content: Waveme can be run, as is, on Linux by using Wine.I tested Waveme with Wine (development version 1.9.21) on Fedora 24 and Ubuntu 16.04 LTS.

author: nitzan
author_rank: Contributor
timestamp: October 23, 2016, 05:27:30 pm
content: Quote from: mubes on September 07, 2016, 05:04:06 pmDave,Thank you for your feedback!Waveme runs,as is, on Linux via Winewww.winehq.org.I tested this on Fedora 24 and Ubuntu 16.04 LTS.Installing Wine on those distros was absolutely painless for me. Please give it a try.After spending quite a bit of time on a native Linux port, I concluded that it will not be practical.Unlike Windows and MacOS, there is no "one" Linux binary, that I will need to create, but many,with visible UI differences and behaviors (some of which are bugs...).Linux distros differ by their version of the graphics library (GTK), and so does the wxPython GUI toolkit that I use,and distros differ by their version of the C library (libc) -creating too many binary combinations and bugs that need to be chased around.In a sense, the Wine project has done that already, for many Linux distros and MacOS.Thus, I realized Wine was the right way to go.

author: nitzan
author_rank: Contributor
timestamp: October 28, 2016, 10:13:08 pm
content: Waveme version 1.2 is now available.- PDF page orientation can now be set (portrait or landscape).- Improved user experience when running on Linux/Wine.

author: nitzan
author_rank: Contributor
timestamp: November 10, 2016, 11:00:04 pm
content: Waveme version 1.3 is available.New features:1. In Bus waveform, each segment can be further customized:- Each data (D) segment can have its own line and fill color, fill style and label color.- Each Don't care (X) and Hi-Z (Z) segment can have its own label color.2. Convert from color to black-and-white diagram, stored to a new file.

author: timb
author_rank: Super Contributor
timestamp: November 11, 2016, 12:03:40 am
content: Quote from: nitzan on November 10, 2016, 11:00:04 pmVery nice!Thanks for working on this.

author: nitzan
author_rank: Contributor
timestamp: September 03, 2017, 06:09:10 pm
content: Version 1.4 is now available.New features:- Bus waveform:Segment drawing is more flexible. A segment now has 3 (instead of 2) independently specified portions: Transition to level, level, and transition from level.* This allows for a waveform to start and/or end with the level portion of a segment.* Multiple segments can be placed back-to-back, with only the outliers having non-zero transitions. This gives the appearance of a single segment with multiple regions.- Along arrow:Select whether to show the right and/or left guidelines.* This makes it possible to draw an arrow pointing in only one direction, and without guidelines around it; or* A straight line, without arrow heads nor guidelines.Bug fix:- Signal and Bus waveform:Incorrect empty segment after undo of segment deletion.

author: nitzan
author_rank: Contributor
timestamp: October 09, 2017, 09:04:07 pm
content: Waveme version 1.5 is now available.Bug fix: Gaps dialog box did not open.

author: TomS_
author_rank: Frequent Contributor
timestamp: October 11, 2017, 12:46:03 pm
content: Quote from: alexanderbrevig on September 07, 2016, 04:31:34 pmAgree. Having to use Wine to run something that is written in Python on a Mac or Linux just seems like too many hoops to me.

author: nitzan
author_rank: Contributor
timestamp: April 02, 2018, 04:51:40 pm
content: Waveme version 1.6 is now available.New features:- Superscript and subscript: supported in all text entries.- Waveform name: Can be individually customized per row (font, color and alignment).- All waveforms support segment labels, with identical and expanded customization options.- Signal and Bus waveform, segment label vertical position: can be placed above a segment too.- Multiple segment selection in Bus and Signal waveforms: supports duplicate, delete and move operations.- Auto Bus and Auto Signal waveforms:* Added support for first, multiple gap, and last segments.* Segment labels:- Text can surround the auto-generated numeric values.- Supports wrap around, and initial wrapped around numeric values.- Row copy and paste operations allow copying a row from one diagram to another.- Title: Horizontal position can now be relative either to the whole diagram, or to the waveforms area.- Horizontal grid lines:* Can select not to show in Spacer Rows.- Vertical grid lines:* Can select not to show in Spacer Rows.* Can end on a given unit.* Can draw groups of vertical lines with a gap in between.* Can draw single vertical lines.- Along Arrow:* Option not to show horizontal line.* Option to extend guidelines to cover arrow's own waveform.- Aware of multiple connected monitors.

author: nitzan
author_rank: Contributor
timestamp: April 14, 2018, 10:06:06 pm
content: Waveme version 1.7 is now available.New features:* Signal waveform: Added D (Data) segment.* Across arrow: Arrow head can be bidirectional: Head can be drawn at the "From row" end, as well as at the "To row" end.

author: nitzan
author_rank: Contributor
timestamp: June 04, 2018, 03:55:12 pm
content: Waveme 2.0 is now available.This version includes UI changes for faster user interaction:- Adding a new item immediately adds the item to the diagram, using default values, and then opens an edit dialog for further adjustments to the new item.- An "Apply" button was added to all edit dialogs, General options and Waveform options dialogs. Now you can apply your changes to a diagram, while the dialog stays open, allowing you to observe and make adjustments faster.- Row arrows are managed with a tabbed notebook dialog.- Row labels are managed with a tabbed notebook dialog.

author: nitzan
author_rank: Contributor
timestamp: September 06, 2018, 05:09:06 am
content: Waveme version 2.1 is now available.New feature:In Auto-bus and Auto-signal dialogs, auto-label values are not allowed to be left empty.Bug fix:Redraw dialog window after a change in selected font to prevent dialog box from being drawn incorrectly.

author: nitzan
author_rank: Contributor
timestamp: January 06, 2019, 10:07:31 pm
content: Waveme version 2.2 is here!New features:- Expanded support for clipboard copy/paste operations to Bus and Signal segments, row arrows and row labels.Now rows, segments, arrows and labels can be copied and pasted either within the same diagram or in another diagram.- Along arrow guideline can now be from any row to any row, instead of from current row to any row.Bug fixes:- Row copy/paste was broken.- Saving to a PDF file with "A4" page size and "Portrait" orientation created a "Letter" page size instead.What's next?I'm looking into adding analog signal drawing capabilities to Waveme, turning Waveme from a digital-only into a mixed-signal waveform drawing tool.Please share your needs, and post some analog drawings, that you'd like to create with Waveme.

author: nitzan
author_rank: Contributor
timestamp: June 16, 2019, 08:42:02 pm
content: Version 2.3 is now available.New features:- Export (save) diagram to SVG image file format.- Directly export (save) color diagram into a black-and-white image file or PDF document.No longer needs to first save as a black-and-white diagram, reload that diagram, and only then export.- Open a diagram file with drag-n-drop onto Waveme's window.- Value-lines: A new row element.Horizontally drawn lines across a waveform, with tick marks and labels to the left of the waveform.Most commonly used with analog signals to denote vertical values.- Labels can be rotated, instead of only be horizontal. Applies to labels, arrows and value-lines.Rotation is only supported when using True Type fonts.- Signals can now start with a D value. If first segment is also a D, the left-end will be shown opened.- Bus and Auto-bus waveforms can have open ends when using D and X segments, instead of only closed ends.

author: nitzan
author_rank: Contributor
timestamp: June 23, 2019, 02:27:39 am
content: Version 2.4 is a bug fix.Across arrow: vertical shape had incorrect to/from unit selections.

author: nitzan
author_rank: Contributor
timestamp: August 18, 2019, 11:00:17 pm
content: Version 2.5 is here, just in time for Waveme's 3rd anniversary.New features:- Analog waveform drawing:Signal row now supports 3 new analog segment types: Sine, Linear and Ramp/RC time constant.A mix of both digital (L, H, Z, X, D) and analog segment types can be drawn in the same row.- Quickly change Signal and Bus segment width without opening a dialog box, by mouse dragging, keyboard shortcuts, toolbar buttons or menu commands.- Project and image file dialogs now show an initial suggestion based on the diagram's name, and remember last directory location for each type.- Default font is now OS and local system dependent.Bug fix:- Gaps: Handled occasional incorrect drawing of an edge's middle pixel.

author: nitzan
author_rank: Contributor
timestamp: June 24, 2020, 12:22:25 am
content: Waveme version 2.6 is now available.New features:1. Adjustable waveform region height in Signal row.Useful in a mixed-signal diagram, where rows with Analog waveforms can be drawn taller than rows with digital waveforms.2. Precise arrow positioning within a waveform region, in addition to Top/Center/Bottom positions.3. Time Axis (new row type).4. Option to apply a default font, excluding its color, to all existing labels, segment labels and arrow labels, thus preserving their color.5. Additional dash line styles for grid, arrow, and value-line. DOT_DASH style is deprecated.Bug fix:- SVG image drawing limitations were resolved with an updated GUI library.

author: nitzan
author_rank: Contributor
timestamp: September 24, 2020, 09:05:00 pm
content: Version 2.7 is now available.Bug fixes:- Time axis conversion to black-and-white.- Web links open in default browser.

author: alpelectronics
author_rank: Contributor
timestamp: December 21, 2022, 06:53:37 pm
content: Quote from: nitzan on September 24, 2020, 09:05:00 pmHi nitzan. It is a great software. We are using it a lot. However we really want to have an option to change the thickness of the waveform lines. Would it be possible to add it?I also believe that if you open source it can get more attention as it is a great tool.Regards,CanerAlp Electronix

author: nitzan
author_rank: Contributor
timestamp: December 22, 2022, 05:13:06 pm
content: Hi Caner.Thank you for your feedback, and I'm glad you find Waveme useful!All line-based objects are 1 pixel wide. I don't plan on changing that, unless I hear more requests for this.What's the reason that you need thicker waveform lines?

author: nitzan
author_rank: Contributor
timestamp: January 28, 2023, 11:30:48 pm
content: Version 2.8 is now available.New features:Open recent diagrams: In File menu; the 9 most recent diagram files can be re-opened.Open last diagram, if none was provided on the command line.

author: nitzan
author_rank: Contributor
timestamp: February 21, 2023, 04:59:39 pm
content: Version 2.9 is now available with a bug fix for broken General options dialog.

author: jpyeron
author_rank: Regular Contributor
timestamp: May 06, 2023, 02:27:25 pm
content: A little confused by thehttps://waveme.weebly.com/license.html(modified Apache 2.0?) andhttps://waveme.weebly.com/download.html(no source link) pages, does not look like you have made it open source or source available yet.Quote from: nitzan on September 07, 2016, 08:52:12 pmDo need a grant to assist on making ithttps://en.wikipedia.org/wiki/Source-available_softwareso security reviews can be conducted, bugs fixed, and feature patches may be contributed back?

author: nitzan
author_rank: Contributor
timestamp: May 06, 2023, 06:06:37 pm
content: Waveme is not open source.

author: nitzan
author_rank: Contributor
timestamp: July 26, 2023, 04:01:53 pm
content: Version 3.0 is available.New features:- Line width of any element can be adjusted between 1 - 21 pixels, instead of only being 1 pixel.- Clicking within the "waveform area" of an Auto-bus, Auto-signal, Time axis or Spacer row, selects the row, which is just like clicking on its row name.- Selected segment(s) start and end drawing unit is shown in the middle of the status bar at the bottom of the window.