I design relatively few PCBs from scratch. I mainly do two things:
1. Add tweaks to existing designs:
- BOM, schematic and layout updates due to component or package availability.
- Layout updates due to fab house design rules.
- Convert layouts from double-sided to single-sided (I enjoy the puzzle of simplifying layout topology).
- Convert layouts to smaller PCB size, and tiling boards for fab.
- Upgrade to faster processors with higher clocks.
2. One-off Fritzing-style breadboard/perfboard single-sided prototyping (but I find Fritzing itself to be unsuited for my needs).
- In general, I find perfboard makes best sense for my fabrication needs (mainly capes/shields). I'd love it if the layout tool directly supported perfboard!
- Once in a while I'll upgrade the layout to a custom PCB.
The features I require in any "free" package include:
1. My files are mine. This has some implications:
- Files reside on my local system (cloud backup and versioning is nice).
- File formats are fully documented (standard or custom, either way).
2. The software and/or workflow is expandable by 3rd parties (including users).
- Best case: The entire tool is open-source.
- Next-best: Open plugin API, with open-source plugins being OK.
- Minimum: Independent processing (external tools that work on documented file formats).
3. Given the above, I get to do the following:
- Unlimited import/export of everything from/to everything (if not available, I can write it)
- Combine with other tools (e.g., I may like to use a different simulator or design rule checker)
What I don't care about (much) either way:
1. Mandatory Internet connection:
- So long as my files are local, I don't mind the tool requiring Internet connection.
- Everything must work over a crappy connection (primarily for authentication, not live interaction).
- Some offline functionality is required (capture, layout, print).
- Everything else may be online (vendor libraries, autorouter, simulator, etc.).
2. Pin/Part/Size/Layer Limits:
- I'm OK so long as I can do "reasonably complex" double-sided boards. On the order of a RasPi2.
- If limits exist, there must be incremental steps up (not "all or nothing").
3. Bug fixes, public forum for support.
- Major revisions can require uninstall/reinstall
- Updates can be batched to reduce frequency.
4. Commercial license.
- On the vary rare occasions when I need to do a board for a client, I can typically get/borrow a seat of whatever tool they are using.
- Sometimes I'll use ExpressPCB for expediency, if only a handful of boards are needed.
- If they have no in-house tools, they are often willing to pay a low price to upgrade my "free" home tools.
What I won't tolerate in a "free" package:
1. Forced sharing of my designs. Really. Lots of my stuff isn't fit for public consumption. It's a pride thing.
2. Expensive upgrade path. "Max" package must be well under US$2K. Multiple steps to max are required.
3. "Broken" import/export to most popular "free" tools, and export to common documentation file formats (especially PDF). For example:
- Does the tool make it easy to do an article, report, Instructable or blog post about my circuit and board? Without having to do screen captures!
- How easy is it to share my work with clients or other Makers, especially those who don't use the same tool?
So, for my needs listed above, the current Circuit Maker beta is a massive fail, despite its many other truly great qualities. Hopefully some of the issues will be handled before the beta ends and 1.0 is released.