Having hung out on forum.kicad.info for over a year, I'm quite aware of the problems engineers have with their CAD tools. In particular, I hear a lot of moaning and groaning about schematic editors. (For the record, I know my graphic to the left shows a PCB, not a schematic. What can I say? Art trumps accuracy.)
For all the complaints, we don't seem to change: resignedly shuffling off to use the same tools that mistreated us the day before. And I thought: "Well, that's pretty dysfunctional!" So I googled "are you in an abusive relationship" and my computer came back with 3,830,000 hits. (Luckily, they were all the same basic article, just with different pictures.)
I glanced through a few lists of characteristics for these relationships and I thought they seemed kind of familiar. Then I picked a prototypical example and repurposed it for schematic designers. Take a look and see how many of these excuses you've made in the past month...
Everyone who uses schematic editors has problems with them. Using a DOS program that was ported to linux and then back to Windows 10, that's just part of the job. No biggie!
It wouldn't have core dumped and destroyed three hours of work if I hadn't tried to merge two named nets. My bad!
Sure, the pins have to be exactly on the grid (an imperial grid, mind you, not metric) or else the wires won't connect (even though they look connected). That's just the way it works. It's a pain, but it's not intentional. I mean, I guess...
Yes, it makes me open two instances of the editor outside the normal design flow in order to copy-and-paste stuff from one schematic to another. But knowing how to do that makes me less replaceable. My schematic editor is helping me keep my job!
I'll admit that - from time to time - I call my schematic editor "old poopy doo-doo head". Perhaps if I were more understanding it wouldn't freeze while loading libraries from Github.
I'm an engineer: I've been shit on by the worst of the worst! (And, to be honest, pretty much everybody else.) So there's no way this schematic editor can break me.
What? You say I have to route a 128-wire bus from twenty levels deep in the hierarchy? Bring it on!
Is that a global bus? A hierarchical connection? A local net? Hell, I don't know! But figuring out puzzles like that is the best part of my day.
Even the simplest operation takes several point-and-click operations with the mouse combined with pressing obscure hotkeys, but at least the editor doesn't snap off my fingers with some crazy keyboard guillotine thingy last seen in a "Saw" movie.
Oh, wait, that's planned for the next release?
They're really trying to change and the next release will fix a lot of these issues. I know they've said that before, but this time they mean it. If I can just hold out, things will be better.
Except for the keyboard guillotine thingy: that's gonna suck.
How many of those excuses did you check, and what does that mean? Read on to find out...
You're definitely ready to get out. If there was a safe house, you'd be checking into it.
You recognize you have a problem, you're looking for something better, but there doesn't seem to be a reasonable alternative.
You're throwing me a bone, right? You really wanted to say "zero" but were afraid you'd be labeled as a GUI fanboy.
Your are so deep in denial. You're obviously involved with some Svengaliesk Rasputin of a schematic editor that has trapped you in a Stockholm Syndrome nightmare.
Have I taken you all this way, shown you that you have a problem, and then left you with no solution? Would I do that?
Well, yeah, I probably would do something like that. But not this time!
I've suffered from the same problems with schematics as everyone else, but I decided to do something about it. Taking my cue from things like PHDL and MyHDL, I created the SKiDL module that turns Python into a language for building schematics. It changes circuit design from a fiddly drawing exercise into a programming task.
Why is that important? Because for decades, coders have been successfully building programs a lot larger and more complicated than any schematic. SKiDL acts as a bridge that allows the methods and tools of programmers to be applied to the problem of electronic design because it:
Getting started with SKiDL is easy. If you already have Python on your system (either 2 or 3), then just use:
pip install skidl
and you're ready to go! (Well, almost ready to go. Right now, SKiDL only supports KiCad, but I'm working on others.)
[Credits: I used "Scream" by Paulius Lizdenis for my opening image and merged it with a picture of a PCB. Sorry I mangled your artwork, Paulius, but what can I say? Marketing trumps art.]Share on Twitter Share on Facebook Share on Reddit