A note on "CAD" software; its there to help you design your circuit diagram (schematic) and your actual board layout (pcboard).
Usually you can get a combined package that allows for 'schematic capture' (to draw the schematic), that also does assisted pcboard layout. Sometimes they'll toss in 'circuit simulation' which lets you perform some basic prototyping purely in software (amazing!) -- the more advantaged packages are so good in the simulation that you can go Schematic -> Sim -> pcboard and send it to a boardhouse to get a real pcb made, without ever actually needing to assemble a prototype yourself. The enterprise class CADs that cost $30k are so good they simulate all the microprocessors etc right there, simulating the whole board.. but even some of the cheaper costware options can pull off some of those tricks. Anyway, a combined package will let you pick an item from a library and drop it into your schematic page, and that library item will also have a physical pcboard footprint item associated to it. ie: The schematic symbol for a resistor varies by country but is usually a rectangle or a zig-zag; but on the actual pcboard it is a long tube, or an upright tube, or a surface mount tiny box, or.. etc..; likewise, pcb layout will assist you from going from schematic 'connections' to actual routed wiring (which has to go around components or through various layers of the board, unlike the schematic where they can crisscross or whatever.)
To anyone outside of the community, there is a lot of madness here.
- you would think there woudl be some standards for object exchange between applications; I mean, how many hundreds of times to engineers want to redesign the same actual component for each application? Well, turns out these people love to do it.. every app will have its own library set, since they are generally incompatible. (There are some translation tools that are hit or miss.)
- you would think the component companies would publish library files; "here is a full set of texas instrument EagleCAD libraries'.
- you would think library names would be standardized (and standardized component names within libraries)
- you would think, given the above, you'd have central repositories of libraries
Some of this is partially done here or there, but nothing comprehensive. I must assume its greed driven.
Instead.. each CAD tool comes with a limited library pile (though the better ones like Eagle do include a fairly comprehensive set.) Given a part number (read it off the top of an IC say), its _hell_ to find the part in the library; ie: you have to attach one of 200 libraries into your project (each one making your project slower to work with); searching only goes through the libraries you've imported into your project, so when you're new you end up importing every damned library just so you have a chance to find them. Some of the better tools still have a search function that looks at 'first characters' not 'any characters in the name', so if you dont' know their naming standard, you can't find the part. Remember that you might have a Texas Instrumentsd 74LS323 chip, which would be called SN74LS323-Something, but that won't turn up. If it does turn up, its probably the wrong package version.. the surface mount? the DIP? which DIP spacing of pin and body width? what height? .. etc.) Turns out that 80% of the time, your component will not be in a library... despite the component being a 10 year old highly common one.
Why? Because these apps cannot share. Usually the workflow is for peopel to pull in libraries, copy the components into their _own_ libraries, and work from those; so every single engineer has custom built up their own libraries based on libraries included with their favourite app, or from libraries they've found online. You know what happens then? Dependancy hell -- if those source libraries get updated, no updates flow down to your libraries, so you hope theres never a change, either. (Software guy here, I think like this.)
Well, then, the Design Spark guys are cool, they built a website where yo can try to share a bit; you can upload some components, or download; you can pick a format, to see if they've been translated into your preferred app (the one they sell
, etc. Great, cept their search tool _does not work_ (put in some checkbox criterion, and it returns 0 results, even though it shouldn't.) This has gone on for weeks, so its not a temporary glitch; likewise, if you pull down a component from there, it almost certainly will not work, or will be shoddy, or will be the scfhematic side only and not the associated pcboard footprint side, _etc_; theres so many ways for it to go wrong, that they basicly have.
So.. most people seem to design their own schematic symbol and/or pcb symbol; its not hard to do, so they just do it.
Yeah, we want to make our own fonts when we buy a word processor, right? Its like these poor schmucks are stuck in 1983 still. I mean, this is the day and age where entire operating systems and every conceivable package can be fetched from a repository for automatic install and update into your operating system. Thats because software people are good at hammering this stuff out; sure, you'll end up with dozens of competing standards, but evolutionairy pressure will tend to make a few win. Not so when hardware guys get in there.. they're not good at designing software
Annnyway, so, great, so CAD software is totally what you need, and another learning curve you get hit with hard, up front. Still, learning about 'connections' and 'nets' (connections that are implied, but not necessary to render and clutter your diagram), and then having the software show you the pcboard layout with 'airwires' (unrouted wires) and auto-routing tools and manual routing tools to help you lay the wirign into the boards is awesome; routing is really difficult, and there are again the usual hardware-tricks-you-to-hell things to learn about. For instance, you can' just have a wire trace turn 90 degrees .. the two sides of the trace may start inducing current in each other or other problems; so instead you do turns like the edge of a stop sign .. in steps. Auto-routers can be brilliant, or make a mess. Well and good.
I've tried a few of the open source freeware guys, and despite having strong followings, they're terrible; it seems to exist from a mono culture -- CAD people know how to use CADs, so they don't know or don't see how terrible they are. New people are strictly forced to learn terrible UIs and work with crippling disabilities, since thatys just how it is. Some things are annoying but you can get - what, no resize? you have to show this tiny little item, because fuck you, thats why? oh, its so it fits on the grid bette3r? ....... - but you get it when they're referring to the pcboard side and no resize there, so theres just no resize option at all. (From people who used graphic software like Illustrator or Corel or Inkscape or whatever, this all seems bizarre.)
So..
- Ignore the open source guys; garbage. "Stuff like 'hold down C while clicking an item to clone it'.. yeah, thats standard UI and obvious! Stuff like mouseheel scrolls vertically, rather than zoom in/out like every other application ever made. Etc and so on; every single facet seem to be tedious in these guys; the software _works_ and is featured, but the UI interface design choices are insane; therefore I must conclude its a 'all CADs are like this, so they made theirs suck too'; a lot of people bitch on their first use of these tools, from the forums etc.. .. how much time do you want to spend tripping over your feat, when you just want to get in and be useful?
- Theres DesignSpark which is _free_ commercialware; you sign up for an account,a nd get the app for free; they encourage you to use their other services as payment,s o all told.. pretty decent of them; the software is not too bad. But see abov for library hell, and a lot of things were pissing me off.. but ultimately, Des Spark is pretty good, out of a world of crappy apps its one of the least-crappy.
- Eagle CAD is the bigger name one; theres big expensive packages, but Eagle is one that is generally well respected, generally standard in that all boardhouses and shops use it or can support it; you can get a free demo with limit to top/bottom layers and a small board (like 4 inch by 3inch, something like that; like an arduino size.) If you want to pay some bucks, liek the price of a game, you'd get a few limits removed; but if you want th eufll package, its oging ot cost like Photoshop.. hundreds and hundreds of dollars. But they give you the full freebie for small boards, which is pretty decent of them.
Eagle has a fairly good default library, though its again hard ot find your bits in it. It tends to make sense to me more .. mousehweel zoom as god intended
No, its like PHotoshop or Gimp .. its got all the goods oyu need, very powerful, but a lot of cryptic UI; but most of it tends to _work_ at a basic level,and since its one of the big guys, theres thousands of youtube videos with turoials, suport forums, etc etc.
So I'd highly sugest Eagle, or Design Spark.
Screw the rest, and screw these guys if I could
jeff
Disclaimer: Remember, I don't really know what I'm doing; I'm bashing my head through same as anyone, so what I say is not really worth anything; but its from a bit o experience, I've burnt some time, and I hope I can save you a bit of time.