Idea: Simulation plots on schematic, ADS/QUCS Style

Hello fellow KiCad users,

A few weeks ago I stumbled upon QUCS-S, which is basically QUCS graphical interface with NGSpice (or other) as a backend for simulation:

QUCS-S Link: https://ra3xdh.github.io/


I really like this workflow of adding the simulation configuration blocks, plots, etc directly in the schematic. I think it is great for documenting the simulated circuits.

In my opinion, plotting windows in the style of LTSpice is great when you are doing some tinkering and testing, but not so great for documentation, specially when there are multiple plots you want to get as an output, and you need them to look exactly the same across multiple simulation runs. The QUCS style provides an overview of both the simulated circuit and all the results at a glance.

Since there is already some effort in improving the simulation capabilities in Kicad, I think this could be a great addition. What do you think? is this something you would also like to see implemented?

Regards,
2nOrderEDO

For simulation itself I much rather have separate and resizable windows for both the simulation data and the schematic. You can export .png pictures (or CSV data) from the simulator, and then Schematic Editor / Place / Add Image. At the moment a lot of changes have been made to the interface to ngSpice in KiCad V7.99. I have not worked with it yet, but some of those features look real nice (such as plotting of voltages and currents of the operating point). More about the changes in:

1 Like

Certainly, what I’m suggesting serves as an addition or alternative to the existing detachable window feature. My idea is that while the present detachable and resizable waveform viewer is excellent for exploring and interacting with the simulation, incorporating dynamic plots directly into the schematic might be more advantageous for documentation purposes.

For instance, one might want to embed a static bode plot of the system’s transfer function directly into the schematic, providing documentation or context. Concurrently, users can delve into transient simulations using the separate waveform viewer.

Simply copying and pasting simulation plots onto the schematic isn’t a practical solution. Any subsequent modifications would necessitate reconfiguring the waveform viewer identically, copying the plot, and so on. Conversely, with dynamic plots in the schematic, they would automatically update with each simulation run.

Regards,
2nOrderEDO

Are you familiar with Jupyter Notebooks? It is a way of making interactive text files, combined with python scripts and their output. I have not had much reason myself to use it, but I quite like the idea of creating a technical paper, combined with interactive scripts and their output all in a single document. Creating interactive ngSpice plots in a KiCad schematic is also a step in that direction. I think it can be useful. One of the biggest handicaps I see is that such project tend to have quite a lot of text as documentation, and doing text in a KiCad schematic is quite cumbersome.

It also reminds me of the old OLE from the '90-ies. One problem back then was that computers were too slow to make good use of it. Another problem was dependency hell, and a third problem (probably) incompatibility with anything non-microsoft.

1 Like

I think this is a great idea, I do currently include screenshots of plots on my schematic, and indeed I would love if they were updated regularly (when the related simulation type occurred for instance). It may be a little tricky to work out how to set and retain settings for things like scaling and color, but to me those seem like implementation details rather than deal breakers. Just auto-replacing screenshots of plots would be enough for me (though I’d prefer a more versatile system, especially regarding variable colors against variable backgrounds).

I suspect there is enough here for a relatively coherent feature request already, so definitely consider writing it up on gitlab! If you do, please include the link here so I can give it a thumbs up.

1 Like

A few years ago, I built a Jupyter notebook that combined SKiDL and matplotlib to do a number of SPICE examples.

3 Likes

Yes, I use them almost daily :slightly_smiling_face:. Notebooks are also a cool way to create and wotk with “virtual workbenches”. I have done virtual workbenches using python notebooks with LTSpice to extract the TurnOn and TurnOff energy of MOSFETs to be used in ideal converter simulators like PLECS and PSIM.

I just did so:

Wow, already 8 thumbs up. Thanks a lot to everyone!

Regards,
2nOrderEDO

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.