after quite some time of not having used KiCAD I was busy with creating a new pcb.
After having completed routing and successfully run DRC I couldn’t resist to beautify the layout where the tracks were a bit misaligned with others etc. -> my fault!
I shut off the copper zones to have a better view on the single tracks.
Unfortunately after having shoved some tracks (and it looked very nice now …) I saved the result, created the gerber files and was convinced that everything was fine. What a bad surprise, when I got the pcbs -> after checking all connections I found out that Vcc was connected to GND !!
Having a deeper view on the layout I found the error -> my shoving some tracks had put one Vcc track such that it touched slightly (but electrically as a short) the surrounding GND plane. Ok - some precise cuts with a sharp knife disconnected the unwanted connections.
Long story short: I had forgotten
a) to rebuild the copper zones (using the “B”-key) after having modified/shoved some tracks
b) to run DRC, which should have shown me if there were some (new) errors after the modifications
before saving and creating the gerbers etc.
My question:
Would it be possible to create a routine in KiCAD which is executed and
automatically rebuilds the copper planes before saving the result of routing
automatically runs a DRC check and draws the user’s attention when an error occurred
Thanks for your first opinion.
In that case it could be a switchable option - although I am wondering what the reasons might be to not implement such a routine.
Not sure if it is easily possible for all operating systems with people sometimes using very limited hardware. (DRC is computationally expensive)
There is a reason why the DRC button is included in the export dialog. (To remind you that you are responsible to run it.)
Maybe it would be a good idea to have a flag that remembers if DRC has been run with the latest changes. If a user tries to export their PCB with the DRC flag indicating that DRC has not been run, a warning could be displayed. (This would leave the user in control but warn them when they do something ill advised.)
Or just run DRC everytime when the plot, export or print dialog gets opened. (Only problem: People who send their kicad files to a manufacturer. For them the only way to ensure that DRC is run, is if it is run for each save operation.)
if DRC is too heavy for some computers, at least the automatic rebuild of the copper zones should be no problem - this would have saved my ass in that case already.
@Sprig:
I was absent for a while using KiCAD and didn’t remenber every single workflow step I had previously done quite some time ago. So my thinking is, that - if no other severe reasons contradict to it - a software should be as supportive as it could technically be to unburden the user’s load - but mightbe I am only an Apple-spoiled user
There is more then one way to make a mistake when creating a pcb.
Even if KiCad did flag if the DRC was run, per @Rene_Poschl, there are still plenty of ways to have the wrong settings in creating the gerbers; as well as the many mistakes that the DRC can not yet handle.
Everything you said is correct. I am not expecting that the software can/will ever cover all my stupidness or bad memory about what is needed to produce a perfect pcb (even if the pcb is produced right, the circuit might be bullsh… or not working as expected due to engineering failure).
But the software could/should help the user as much as it is possible.
The problem is that one person’s help is another person’s bother. I can’t count the number of times I’ve screamed at the computer, “I didn’t ask you to do that!”
There may be more places in the program where a little more “hand-holding” could be helpful to some. For example, when starting PCBNew, asking the user if the netlist should be re-loaded. When I’m familiar with a program I get very aggravated by too many popups asking, “Do you REALLY want to do this?” but in the learning stages I will concede they can be helpful.
Perhaps the feature could be called something like “Expanded Tooltip Guidance”, and enabled/disabled by a checkbox under “Options”. Or, there could be a popup every time you start KiCAD, asking whether you want “Expanded Tooltip Guidance” enabled . . .
I like that approach very much.
Whenever someone’s skill has got to a higher level and the workflow is incorporated in flesh and blood, the “Expanded Tooltip Guidance” can be switched off - thus helping newbies/inexperienced users and not bothering the professionals.
I made the same mistake a few years back, you know the typical “I’ll just move that via quickly”…
I think the flag would be a great addition to the Gerber export window, something like “Warning, DRC not run since last save”.
I could envision it in the same manner as the save button turning gray after use until you make the next change. Make a change, the DRC button lights up. Run it and it goes gray/non clickable.
Sounds like the easiest solution which drives the right workflow and won’t be something a pro could complain about.
How to get into the software? Is there somebody of the developers here who picks it up and gets it on the wish list of future features (is there something like a wish list as a separate category - couldn’t find anything) ?
I would definitely not disable save for lack of DRC. This precludes saving when in the middle of Design. I would also be against disabling plotting for the same reason. A flag and a warning seems the best accommodation.
After more than one year of not having had the need to design a new pcb, you might forget a lot, as I did apparently and I might not be the only stupid one …
Therefor a little help by the software would be a great benefit for the non day2day user.
Yeah, I was only half-serious; it would be nice to have auto-refill or auto-DRC or some kind of safeguard to alert you that you’ve moved stuff but haven’t re-filled zones. The PCB CAD program I used prior to KiCad has automatic re-fill of zones - you move something and it redraws the fill immediately. Never had a problem with performance on my not-especially-high-performance computers. Then again that program doesn’t actually have DRC…