7.0 Why can't I Change a Symbol Value?

The 7.0 Simulation user interface is… well, problematic.
Please look at this:

I’d like to change a simulation parameter by right-clicking the symbol and selecting “Properties”. I go to the Simulation Model… window and change the resistor value and press “OK”.
Nothing happens. The value stays the same for both schematic and simulation.
The “Resistance (r)” field seems to be editable. And the tick-box “Save parameter ‘Resistance (r)’ in Value field” is pretty clear (or not?).
Going back to the “Properties” screen and changing the value there actually works, both for schematic and simulation.

Hmm, OK. Quirky.

But it gets even more entertaining.

I go into the “Simulation Model” window again and change the resistor from “Ideal” to “Behavioral” and press OK.
The Value in Symbol Properties is now ${SIM.PARAMS}.
Didn’t really want that, it was just to understand what “Behavioral” means. Back to simulation and change back to “ideal”. Resistance field is empty, change back to 47k. Press OK.
The Symbol Properties is still ${SIM.PARAMS}. Why?
Open the simulation window, the Resistance field is empty. Now what? Am I stuck in an endless loop?
Press OK.
Whew! The symbol window now shows a value of “R”, I can relate to that.

This is just a simple example of the problems. Yesterday I was stuck in not getting out of this loop until I got the idea of editing the “Sim Params” field in “Properties”.

I know that V8 is almost done and pretty much feature frozen, but are there any plans for improvements for following versions? (Or even just a step back to V6 functionality)?

Why do you want to go though 3 deep levels of windows to change a value of a resistor instead of just changing it in the schematic?

I suppose the method you are trying to use works (or at least should work), but it’s main purpose is for some other sort of use. For example, ngSpice is not a native part of KiCad but they do cooperate with each other. This can be a part that is for working with netlists in text format or whatever, or for modifying more complicated models, but for resistors it seems just weird and overly complicated.

I once encountered something similar in a KiCad project with simulation I found somewhere (probably on this forum) I changed some resistors in the schematic and it did not change anything in the simulation and that was indeed a bit frustrating.

Very relevant question.
I suppose you mean selecting the resistor value in the schematic and changing it using the “Properties” window?
I do that all the time.
But it doesn’t propagate to the simulation parameters. Nothing happens there.
What you suggest would be a dream, but the complete simulation user interface (at schematic level) is dysfunctional.


Yes it does. I just verified it, changed a value in the schematic, went back to the already open spice simulation window and clicked on the Run/Stop Simulation button to run the simulation again and it updated with the new parameters.

I am guessing here, but what probably is happening, is that once you start messing with those low level settings, you disconnect the schematic from the spice simulation, and it stops working.

I suggest you start a brand new KiCad project, put in some voltage source and an RC combo and then do some simple simulations with ngSpice.

Thanks for your feedback.

No that’s not the issue, but I found the actual problem. I’m working on updating some older 5.1 and 6.0 projects to 7.0, and 7.0 does not like the older ones, specially when it comes to simulation input parameters.

I did, and you’re right. When it’s created in 7.0, symbol value changes propagate correctly.