I work with PCB design tools a lot -- Cadence, Altium, Eagle, you name it.
While there's definitely room for better software, the most frustrating thing about the PCB CAD ecosystem right now is (a) lack of interoperability between file formats (for schematic, layout, and gerbers), and (b) lack of publicly accessible components. It is a huge pain to build tons of component symbols and footprints for each design. There are large EE companies that employ people just for this task!
The idea of paying for more extensions seems incredibly frustrating. I'd rather know what the cost will be upfront.
I am hopeful that eventually someone will clearly win this market by creating/updating good, free software, in combination with open/convertible file formats, a huge component database, and monetize via paid access to special components/automatic component creation, or an integrated manufacturing solution.
Agree, I'm 80% software these days but ~8 years ago I discovered Eagle and found it was a huge relief at the time coming from Protel (now Altium).
I've been getting my feet wet again; perhaps Altium has fixed the UX which drove me away originally but they don't seem (until now?) to have had any entry-level appropriate pricing.
And whilst I could pick up Eagle 7 recently and get productive again real quick, the fact that I still had to draw my own PCB footprints which are intrinsically inseparable from the overall component definition is so disappointing.
A separate PCB footprint library, separate in the sense that component packages should be normalized and trivially re-usable across devices without error-prone copy-pasta madness seemed painfully obvious 10 years ago and it's still painfully obvious now. Drawing a new schematic symbol and wiring that up to physical pins in a PCB footprint is no big deal, but I just hate having to draw a new PCB footprint from a datasheet. Even on the off-chance that you can copy-paste from some other device with similar enough package, you still end up with inconsistent silkscreen/gate naming conventions etc. because each part library author does things differently.
You guys are both right. The incompatibility b/t PCB design tools and resources is farcical.
Unfortunately, software like web frameworks and office productivity gets so many more eyeballs than PCB design software. The market size of PCB design software is small. A single copy of gEDA/Altium/Eagle/Orcad/Kicad can produce a piece of hardware that one billion people use. You could say the same for a single copy of Word, but people own and interact with thousands of different documents, but only a handful to a dozen PCBs and most people are using the same ones (iPhone, laptop motherboard, etc.).
As more hobbyists engage at the Arduino level, simple, free tools can open up a bit... but professional stuff will still suffer severe inertial effects - the value of a single PCB design program is simply too huge.
I don't see this free(asterisk) offering from Altium as any more than a freemium pattern to divert marketshare from Eagle in particular. I use Eagle, but the EEs at work say Altium is full of bugs. Its 3d board viewer is a gimmick that hooks a lot of people, but it's not as critical as having the proper components.
p.s. for simple PCB design, there are numerous free tools:
Yeah, I agree. It looked great until I read "An extendable platform means that as you create more diverse and challenging designs, you’ll be able to purchase enhancements to expand your software as you need."
Not knowing what threshold of "diverse and challenging" triggers "purchase enhancements" makes this something I have no interest in being locked into. If they had a list of add on functionality with price, sure, but unspecified? No way.
Does the autorouter come for free? Or is it a $1000 add on? Component library? Board size limitations? Number of layers? 3D modeling? IDF export and import? Putting arbitrary graphics into the silkscreen? Heck, gerber file export? Website is way too light on information for me to touch this with a 10 foot pole.
It doesn't seem like this accomplishes the most important task - library conversion. If I could convert an Altium library to Eagle, well, that would be the last year I spent money on software licensing. You end up with this investment of time in libraries that are vendor-specific. That's what keeps most of the EEs I know with one software package or another.
Also their companies don't usually offer a choice. Big companies have a librarian who is in charge of the official part libraries. But if you could easily port an OrCAD library to Altium or Eagle or whatever, that would be a game changer, I think.
But we've got a newer version of this converter project that we are cleaning up right now. Its also able to do Altium, Cadence, and their libraries. Coming soon!
The idea of paying for more extensions seems incredibly
frustrating. I'd rather know what the cost will be upfront.
Isn't that Altium's existing model? And for all features, the upfront cost is about $7000 per user?
It's not an unreasonable price for big companies (if it boosts the productivity of an engineer costing $100k+) but there's a lot of people who aren't going to spend $7,000 (anyone who isn't doing PCB design full time as a profession). If Altium want to sell something that costs less than $7000 (maybe $200-$500 for a perpetual license like Eagle) they will either have to:
(a) Take far less money from their existing $7,000 customers or
(b) Provide a cut-down version that meets the needs of the $200-$500 market without replacing the $7,000 product.
Much though I'd like it if they did (a), I think they're a lot more likely to do (b).
+1 for circuithub. Andy gave me a brief tour last weekend and really impressed. Worth a try and costs you nothing to get a near dinstant quote on pcb fab by uploading you design files.
Most of what you're asking for exists in Upverter.
* Our default account is free & open-source.
* We've made UX a huge priority
* We've got the largest and most complete component library in the world
* We have an open source project for converting all of the ugly old propriety formats into an open, documented json format
* We monetize through privacy similar to github
And we've built a whole bunch of magic into Upverter that none of the other tools can even touch:
* 5 min setup: Nothing to install, maintain, no versions, no patches, no virtual machines, no need for Windows NT or some outdated OS to run the software etc. It's all online, pretty easy.
* Fully collaborative, and version controlled: You can see who made which change, when, roll changes back and fourth, including in editor issue tracking - all the same perks as designing software.
* Intuitive: Modern UI and UX, no infinite menus or buried features - our biggest user feedback is that Upverter is simply way, way easier to use than anything else.
* 10x Faster: parts are easier to create, you can do schematics and layouts at the same time, you can use open source parts, and build on open source reference designs, reuse modules... no syncing netlists, and no wasted effort.
* 10x cheaper: ($40 per user per month.) No huge upfront payment, and no hidden "maintenance" charges. Altium just jacked their prices up to $10K for a single user licence, Mentor and Orcad are just as bad and were seeing a lot of inbound because of it.
* Agile and responsive. Our support team is our dev team. If they can push some code to make your life easier overnight, it will happen. If you run into a problem, they will fix it in real time.
* Designed for growth. Sharing, collaboration, version control, flex users - you name it, its baked it. You wont run into a wall in 3 months, and you wont need to switch packages when you raise more money.
* Table stakes. It does everything that any of the other packages do. You dont have to give up any performance, complexity, or sophistication - so most of this is magic, extra, and unique to Upverter.
+ More of our Magic Features: IPC generators / BGA generators, Generics, Real-time design rule checking, Trace ghosting & Net highlighting when routing, Fast toggle between schematic & layout / Multi monitor support, Auto sync & save, Unlimited persistent undo, redo, In-design issue tracking, Fast module creation for design reuse, Auto schematic routing, Flex users, sharing, embedding, Real-time design collaboration, Cross probing
Except there's absolutely no way I'm going to base my products (which could last twenty years or more) around a SaaS website. I can still open designs made in MS-DOS Protel (and have), while your company might be gone tomorrow. I hate having to hack gerber files because I don't have the source and it really limits changes.
The same thing could have been said about Github three years ago. We use Upverter at Lockitron for one off's (factory test boards, misc. for fun hack boards for our coffee machine, etc.) The tools aren't there today for mass production stuff (more of a problem with the vendors than Upverter). I would be surprised if this is always the case.
As Upverter grows, so will their applicable use cases. Online services have this weird power-law thing going for them that software from a single vendor can't keep up with on 5 year timescales.
Yeah but my experience with Upverter is that it has been lacking in features. I wouldn't trust it to design anything serious.
It feels like a web version of Eagle -- which isn't a good thing. I know I'm sounding negative but I think EE's are very particular about their toolset and while most other tools out there suck it would still be a hill for me and most EE's that I know to climb to switch over to something like Upverter.
If you guys polished it up and paid more attention to the user experience you'd have a very compelling product that would take the market.
Making symbols is not that time consuming, and footprints are easy with IPC wizard in Altium. The footprints are sometimes tuned for your assembly flow anyway, so one size may not fit all.
This. I've used a couple of packages and AD is at the top of the line. Design is a pretty difficult problem to solve which is one of the reasons FOSS, which is usually created by a limited amount volunteers in their free time especially for niche branches (i.e. not like a kernel for instance), has trouble catching up with the work of larger amounts of full-time paid jobs which are focused on just one thing.
Altium announced the intention to launch a lower-end tool (along with a new pricing model) a while back [1].
Presumably it's an entry-level product following a pricing model like EAGLE; limits to commercial use/board size/number of components/ layers/connections /schematic sheets.
Perhaps, I guess it's hard to be that certain about whether or not it's going to be unusable before it's available.
I have no experience with Altium at all, I found this via Twitter and through the EEVblog where it's been mentioned since the guy running the blog seems to have hope/interest in it.
For me it'll probably not be very interesting, since I totally expect it to be Windows only. What do folks with experience with Altium's products think?
I guess it's too early to tell, but I'm hopeful that this will be good. We don't know what the in-app purchases will be, or the price for them, but a basic version of Altium for a low cost would be really nice. Personally I don't mind paying something for this, but I can't justify anywhere near the cost of full Altium for hobby projects. If I have to pay for a few features that's fine.
This is a huge improvement of our original tool that relied on silverlight.
The project is a WPF application written in c# on .net - so right now it's windows only. We are exploring options to port to other platforms using Xamarin.
The tool is 100% free, with no limits on size or parts and includes full gerber output.
We use Altium daily at my office and the overwhelming consensus is that we wish they would fix a lot of the bugs in Altium instead of spending time and effort supporting a whole other program. You don't adopt another pet when you have trouble remembering to feed your first pet.
Will it be a web-based app or will it be a desktop application? If so, does anyone know if it will run on OS X? A lot of the software tools in electronics and circuit design seem to be Windows centric.
Then essentially you want to write an autorouter. Modern autorouting is incredibly powerful, but it's also incredibly stupid. You really need to know exactly when to use it and how to set it up so that it fulfills all your design requirements.
Part of the point of PCB design is that it's a _design_ process. You need to make executive decisions about where you can place those components. Things like connectors and interfaces absolutely need to be manually placed (or at least have defined locations).
In principle what you're asking is simple - you pass in the netlist and manually place important components and then let the autorouter do the rest. In practice you have to think about:
- Grounding schemes
- Differential traces
- Thermal management
- Isolation
- Analog/Digital separation
- Grounding/stitch vias
- Potential room for expansion in the future so board revisions have minimal impact
Don't forget that at least some of PCB design is 'artistic'. Your boards should be beautiful!
This is hard to understand. A PCB is fundamentally a graphical design. I would think you would need to see it to understand what it's doing. There are no fixed references in a PCB design as there are on a page of paper (which will always have an upper-left corner to reference everything from).
On the other hand, the schematic requires no graphical representation and is easily written as a netlist. SPICE works in netlists and most (all?) PCB packages import a netlist. If you wish to represent a schematic as code, that's the way to do it.
My initial opinion notwithstanding, if you write a program to let me compile gerbers from code, I'll try my hand at writing a PCB out.
Edit: I suppose you're talking about something more declarative like Eg. povray scripts, I'm not aware of such a thing.
Edit2: Eagle's .brd/.sch files are actually XML, FWIW, and from the git diffs I've done from time to time between commits - almost human readable (but perhaps not human writable).
Edit3: Agree with jimmyswimmy, there are so many compromises, trade-offs and optimizations going on which (for me at least) require the visual cues when placing parts and routing traces. Sometimes even the 2D visualization on the screen seems inadequate, when you get a board fabbed and see it assembled & fitted, sometimes you have that... oh damn, I wish I had seen it like that, I would have done X.
I don't think that would work. A lot of the art in PCB design is fine tuning the routing after the components are placed and your basic connectivity is done. So to go from a net-list to a routed PCB requires manual intervention somewhere in the middle and that intervention is very interactive in nature. Everything influences everything else locally and sometimes even globally.
To visualize a PCB like that as 'code' would require you to perform a feat similar to keeping the whole execution state of a program you wrote in your head rather than just the local scope. I don't think anybody (except maybe Chuck Moore, and he designs interactively too) can do that.
And so we chose for graphical interaction. If you can get your idea to the point where it is possible to take a textual description of a schematic and compile down to placement data, silkscreen, tracks+pads and a Gerber file then I would be very happy to be one of your guinnea pigs.
There's a guy who does that with gEDA. If you read the mailing list, you'll find his posts. (Sorry, don't remember his name). Also, the file formats are ASCII so you easily can.
This could be an attempt to capture some percentage of the userbase that would've pirated Altium for personal use/learning, as is common for other large expensive software e.g. Photoshop, AutoCAD, etc.
Hard to tell, since CircuitMaker is apparently not available yet.
I like Fritzing. I'm just a hobbyist, but having tried other PCB layout tools (Eagle, etc), Fritzing is the only one I've actually been able to be productive with.
Looks interesting, and I'll probably give it a try-out. But it seems to store all design data in the "cloud" without the option to export it out, which means I'd be unlikely to use it.
While there's definitely room for better software, the most frustrating thing about the PCB CAD ecosystem right now is (a) lack of interoperability between file formats (for schematic, layout, and gerbers), and (b) lack of publicly accessible components. It is a huge pain to build tons of component symbols and footprints for each design. There are large EE companies that employ people just for this task!
The idea of paying for more extensions seems incredibly frustrating. I'd rather know what the cost will be upfront.
I am hopeful that eventually someone will clearly win this market by creating/updating good, free software, in combination with open/convertible file formats, a huge component database, and monetize via paid access to special components/automatic component creation, or an integrated manufacturing solution.