Author Topic: [CrowdLaborFunding] PCB CAD tool idea  (Read 12084 times)

0 Members and 1 Guest are viewing this topic.

Offline Warhawk

  • Frequent Contributor
  • **
  • Posts: 826
  • Country: 00
    • Personal resume
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #25 on: January 28, 2019, 10:44:40 am »
I understand him. There is not anything better than discouraging the reader from reading with the very first sentence.
..
..
..
Anyway, I wish this could happen but it won't. It is just another "let's make a new EDA" thread which will fail right after the first key programmer starts the family or gets a serious job. We have had some examples before (remember infamous AutoTrax or the DipTrace team incapable of fixing specific bugs which have been there for years?).

People, who have clear idea how the EDA software should look like, know typically NILL about the SW development. And there are hobby (and skilled) programmers who want to have fun and don't know much about the PCB design on the other side.

I admit, that there are few exceptions. E.g. Horizon looks incredibly cool for the one-man show. However, I don't predict it any future. If I am not mistaken, the guy has just graduated...

If you want to have a reasonable EDA package, just invest your time (if you know SW programming) or money (if you're just an EE) in current projects. This LibrePCB looks quite nice.

You can motivate people only with fear, hunger or money. Chose wisely.
 :)

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 8518
  • Country: us
    • SiliconValleyGarage
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #26 on: January 28, 2019, 02:10:31 pm »

The 1 thing I don't like about KiCad, though I am not an expert, is the lack of negative power planes.  (The feature may be hidden in layer setup and I just missed it...)


apart from being easier to do with tape which hasn't mattered in decades, why do you want negative planes?
because you can see through them ... ( when you have multiple layers turned on.)
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Online Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3445
  • Country: nl
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #27 on: January 28, 2019, 03:50:47 pm »
Somehow this thread has re-captured my attention, and today I probably was in a different mood and did read through at least half of it.

I am a KiCad user and I like KiCad very much.
Especially the interactive push and shove router has made it almost trivial to route some things that I previously thought to be almos impossible. It changes the way you route PCB traces significantly.

Creating a new schematics entry / PCB package is a significant undertaking and I do not understand what will be the advantage of this.
A few years ago, when I started with KiCad I got through the "getting started with KiCad" tutorial in a single afternoon, and I had a routed PCB at supper.

If you don't want ERC checking you can simply ignore the ERC check button. You also do not have to compile KiCad if your're just a user. and who cares about a few GB of HDD storage nowaday's? These are all such non issues.

Because of significant improvements of KiCad almost yearly some of the tutorials get misaligned after some time, but I would rather re-learn the changes than stick with the old version.

About a year ago I stumbled into another PCB package which was presented as some new simple but yet advanced thing. It looked very similar to KiCad. It probably was that librepcb thing mentioned in #4. To me it looks just like a tremendous waste of effort to duplicate all this effort to re-invent the same wheel. Writing such a program is not a trivial task:
Quote from: Ataradov #3
I doubt that 10k LoC is realistic. I would estimate 5-10x that amount at the minimum.
If the effort to re-invent that same old wheel was invested instead in improving the existing ones then KiCad already would have been easier to get started with, and it is not that difficult to get started with anyway. It just takes some time to get used to.

If you want something "simpler" than KiCad, then stick to somthing like fritzing, but to me it looks like it's so limiting and incomplete that it is not even worth considering.

Quote from: Ataradov #3
I have some very good ideas on hoe to drastically improve manual routing process. But that's a long term project going on the background of everything else.
I very much doubt that you can come up with something that works better than the interactive router already built into KiCad.
https://www.youtube.com/results?search_query=kicad+push+and+shove+routing
If you watch some of the video's from above you get some idea of it's capabilities, but to really appreciate it you have to try it for yourself on a non-trivial design.
This router alone is such an enourmous time saving killer feature for me that I'm very happy to look through all the small ideosyncracies that KiCad still has and are mostly legacy from long ago and getting less with each revision.

The (few) negative things I read about KiCad seem to be mostly from people who have not taken the effort to work with KiCad for more than a week, or are comparing it with some other PCB program and are complaining just because it does not work in the same way that that other PCB program works.

Quote from: nctnico #3
BTW what it missing from your list is to have a component database which links a symbol, footprint, value and order number together into a component. This allows to create bills of materials automatically which saves a lot of error prone manual work. AFAIK KiCad still doesn't have that but it is what turns a hobby tool into something which is suitable for professional use. I can do without differentail pair routing but I can't do with a component database.
What makes you say such a thing?
Just edit the properties of any symbol you like and click on the big fat plus. You can add as many Fields with custom information to any of the schematic symbols as you like. All of KiCad's file formats are nicely documented and easily parsable text files. With KiCad 5 and it's new and improved library management it has been improved significantly compared to KiCad V4. Symbol and library management was one of the buggy parts of KiCad but (at least most) of these bugs have already been ironed out now and it works pretty well. You can also easily create your own custom libraries and use the existing symbols as templates and add your own metadata.

There are also multiple tools available to create BOM's from KiCad. Digikey has jumped on the KiCad wagon both financially and with effort in creating libraries and tutorials:
https://www.digikey.com/en/resources/design-tools/kicad
If you don't like Digikey, one of the BOM extensions has very elaborate spreadsheets and pulls information from multiple vendors and generates overviews.
There are a lot of extensions and projects around KiCad to expand it's capabilities in different ways. You want your own metadata custom tool? Take one of the BOM generators and modify them to your liking, or use a bit of Python to extract and organize data in the way you want it.

The list below has 15+ free / or OpenSource projects and 50 or so other projects.
https://www.eevblog.com/forum/eda/pcbeda-software-list/
Is yet another wheel on this hub really going to improve something?

The controversy in this thread has also already started. Some want something "small and managable" others want to add "advanced features". How small a niche do you think you can fill with yet another PCB program?
« Last Edit: January 28, 2019, 04:08:32 pm by Doctorandus_P »
 
The following users thanked this post: s8548a

Online nctnico

  • Super Contributor
  • ***
  • Posts: 27174
  • Country: nl
    • NCT Developments
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #28 on: January 29, 2019, 01:22:42 am »
Quote from: nctnico #3
BTW what it missing from your list is to have a component database which links a symbol, footprint, value and order number together into a component. This allows to create bills of materials automatically which saves a lot of error prone manual work. AFAIK KiCad still doesn't have that but it is what turns a hobby tool into something which is suitable for professional use. I can do without differentail pair routing but I can't do with a component database.
What makes you say such a thing?
Just edit the properties of any symbol you like and click on the big fat plus. You can add as many Fields with custom information to any of the schematic symbols as you like. All of KiCad's file formats are nicely documented and easily parsable text files. With KiCad 5 and it's new and improved library management it has been improved significantly compared to KiCad V4. Symbol and library management was one of the buggy parts of KiCad but (at least most) of these bugs have already been ironed out now and it works pretty well. You can also easily create your own custom libraries and use the existing symbols as templates and add your own metadata.
Look at how Orcad CIS works. In short: you don't add properties to symbols in a schematic. That is wrong because you'll need to add the properties to each individual component. The same goes for libraries. Creating a different library part for each value just clutters your library. Say you want to change the footprint for a specific set of components? Or re-use a symbol for different components? Or the order number needs to be changed? It is an error prone nightmare! In short: you don't want to have the component information in the schematic. It sucks.

The answer is to have an external database which links a symbol to a footprint and ordering information. For example:  I recently switched from Orcad Layout to Orcad PCB Designer (aka Alllegro). Getting the parts database sorted was a matter of adding a column with the Allegro footprints and doing some text search & replace to make the new footprint names. I could have used database queries if necessary. The key is that each component in the database has a unique number. This number is what the schematic is referring to in order to get information about the part. If I need to change the order number (this happens often due to parts migrating to newer versions) I update this in the database and when I create a bill-of-materials Orcad will read the new order number from the database and put that into the bill-of-materials. And this goes for everything including the symbol and footprint. I don't have to go through the schematic manually for any of these changes.

I looked at the Digikey lib files and they contain exactly what I feared: part information combined with a symbol. I don't want to work with a CAD package from the 80's.

If someone wants to take KiCAD a step up: implement a system like Orcad CIS in KiCAD. Every professional PCB package uses a seperate component database. I actually contemplated using the money I spend on buying Orcad PCB designer to hire someone to modify KiCAD but I found the risk that the modifications would be rejected too big. Unfortunately the necessity of having a component database isn't obvious to everyone.
« Last Edit: January 29, 2019, 01:44:07 am by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Online Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3445
  • Country: nl
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #29 on: January 29, 2019, 10:46:50 am »
@nctnico #12.
I do not realy understand your problem. I also do not have "Orcad Cis".
If you want to maintain an external database with additonal info, then there is noboby to stop you, and the BOM tools in KiCad help with data extraction.
Having to keep track of things both in your schematic and in your "external database" only seems to add to the amount of work and possibility for errors to creep in.

In the last few years most of the focus in improving KiCad has been with PcbNew, and that's working pretty good now. At the moment the focus is switching more to improving Eeschema, which has fallen a bit behind.

With: Eeschema / Tools / Edit symbol fields
you have an overview in spreadsheet format of all components and their attributes, and you can sort by columns and easily copy data (such as  value, or footprint tags) between components.
If you click on the reference field (first column) in the spreadsheet, the corresponding symbol in EEschema is automatically selected. Does this look usable to you?
This spreadsheet is cleary not finished, and still has a very limited functionality at the moment. I expect there are plans for expanding it into a replacement for CvPcb, a full BOM tool and maybe even more.
If you have components which are the same (Value & Footprint) they are grouped together.

I'm now experiming a bit with it and have just changed a whole lot of 5mm leds into 3mm leds by changing a single "5" to "3" in the symbol fields spreadsheet.

Waauw:
I just discovered that you can select how the groups are formed in this spreadsheet.
For example you make a group of all the resistors which are currently in 0805 format (which includes for example current resistor shunts) and then change the footprints of all those resistors to 0603 by editing a single line in the footprints column.

Groups can be made by any column or combination of columns.
You can make a group of all 4k7 resistors and change their values to 6k8. (or change footprint, etc).
This works pretty darn good in my book.
 
The following users thanked this post: s8548a

Online nctnico

  • Super Contributor
  • ***
  • Posts: 27174
  • Country: nl
    • NCT Developments
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #30 on: January 29, 2019, 01:58:18 pm »
@nctnico #12.
I do not realy understand your problem. I also do not have "Orcad Cis".
If you want to maintain an external database with additonal info, then there is noboby to stop you, and the BOM tools in KiCad help with data extraction.
Having to keep track of things both in your schematic and in your "external database" only seems to add to the amount of work and possibility for errors to creep in.
No, it is the other way around: you don't keep track of anything in the schematic when you use a component database! The schematic only has 'item number xyz' from the database. All the information resides in the database. Change something in the database and all your past and future schematics are automatically updated with the latest information when you create a new BOM. I have been using Orcad CIS for about 20 years already. Go on youtube and look for a video which explains component management in Altium or Orcad.

Quote
Groups can be made by any column or combination of columns.
You can make a group of all 4k7 resistors and change their values to 6k8. (or change footprint, etc).
This works pretty darn good in my book.
Orcad Capture can do this for over 20 years so it really is nothing new. But again, this is not how you want to manage components in a professional environment. Logistics is a big part of getting electronics produced and this starts with a component database.
« Last Edit: January 29, 2019, 02:38:35 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Lukas

  • Frequent Contributor
  • **
  • Posts: 412
  • Country: de
    • carrotIndustries.net
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #31 on: January 29, 2019, 11:02:19 pm »
@nctnico #12.
I do not realy understand your problem. I also do not have "Orcad Cis".
If you want to maintain an external database with additonal info, then there is noboby to stop you, and the BOM tools in KiCad help with data extraction.
Having to keep track of things both in your schematic and in your "external database" only seems to add to the amount of work and possibility for errors to creep in.
No, it is the other way around: you don't keep track of anything in the schematic when you use a component database! The schematic only has 'item number xyz' from the database. All the information resides in the database. Change something in the database and all your past and future schematics are automatically updated with the latest information when you create a new BOM. I have been using Orcad CIS for about 20 years already. Go on youtube and look for a video which explains component management in Altium or Orcad.

Quote
I looked at the Digikey lib files and they contain exactly what I feared: part information combined with a symbol. I don't want to work with a CAD package from the 80's.

My words. Exactly this is one of the reasons I ditched Kicad and went on developing my own EDA package. In horzion, the logical definition of a package (pin names and directions), symbol, package and actual orderable part are separate items that reference each other as needed. See https://github.com/carrotIndustries/horizon/blob/master/doc/pool.pdf

People have complained in the past, that they can't change the value of a capactior in the schematic just by typing in a new value, but that's by design. You can't go to digikey and order a 8.2p, 0603 capacitor, but they'll happily sell you a C0603C829D5GACTU by Kemet.

Horizon recently gained parametric search (see screenshot) below to simplify picking passives.
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11359
  • Country: us
    • Personal site
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #32 on: January 29, 2019, 11:22:03 pm »
This thread is a clear indication why "one EDA for all" is not possible.

I personally don't care about the databases. And my capacitors come from whatever random source I can find at the moment of ordering. Maybe if I was doing some space-level electronics with the absolute need for tractability, I would need that. But I don't, so tools like just get in my way.

I understand that others have different workflows, but those database based tools will not work with mine.
Alex
 

Online langwadt

  • Super Contributor
  • ***
  • Posts: 4490
  • Country: dk
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #33 on: January 30, 2019, 12:45:24 am »
This thread is a clear indication why "one EDA for all" is not possible.

I personally don't care about the databases. And my capacitors come from whatever random source I can find at the moment of ordering. Maybe if I was doing some space-level electronics with the absolute need for tractability, I would need that. But I don't, so tools like just get in my way.

I understand that others have different workflows, but those database based tools will not work with mine.

one of the powerful things with the database is that you can pick from stock, no need to add a 10k pullup resistor if the database shows you that you don't have 10k resistors but you have 10000 9k resistors etc.
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11359
  • Country: us
    • Personal site
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #34 on: January 30, 2019, 12:51:44 am »
one of the powerful things with the database is that you can pick from stock, no need to add a 10k pullup resistor if the database shows you that you don't have 10k resistors but you have 10000 9k resistors etc.
Sure. But this implies that there is accurate tracking of the stock. And realistically I personally have a number of values that I always stock (1K, 10K, 100K, plus a few others). And other values will have to be ordered anyway if used in a quantity of more than 10.

For a huge production it is an advantage, but at the same time, the price of Altuim is not that expensive for a large production.

So as usual, the discussion of a simple basic tool turned into a wish list for a fully capable, but somehow free EDA.
Alex
 

Online Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3445
  • Country: nl
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #35 on: January 30, 2019, 03:38:47 am »
So I watched some Orcad Cis vid's.

Having an extensive database with preferred parts and combined with inventory management in an production environment is an advantage, I can see that. Ideally you design a PCB once, and then you buy parts for years to come and stuff changes in the meantime. Sometimes you find better parts, somtimes you find cheaper alternatives.

Philips has it's "12NC" system, where each part, whether electronic or mechanical (screws, housings and maybe even packaging material) has a 12 digit part number.
HP and other companies also have their separate identification numbers.

As I just mentioned, such an parts (and ordering?) management system / database ideally has "everything" in it to make a product, and ideally it should also work in reverse direction. If you have a part in your hands, the database should know in which products that part is used, and how many of them.

I do not understand why you would want such a system in a PCB program.
KiCad library magement has long been ... sub optimal  :'( In KiCad 5 a very small, almost trivial change was made to the library system: The name of the library a schematic symbol comes from has been added in the schematic, and now ensures that each schematic symbol has an unique identifier.

Extracting components from the pretty extensive parts databases in KiCad (or any other decent PCB program) and putting them in a library of "preferred parts" together with a unique identification number for each part is trivial.
« Last Edit: January 30, 2019, 03:46:39 am by Doctorandus_P »
 

Online Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3445
  • Country: nl
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #36 on: January 30, 2019, 04:05:49 am »
People have complained in the past, that they can't change the value of a capactior in the schematic just by typing in a new value, but that's by design. You can't go to digikey and order a 8.2p, 0603 capacitor, but they'll happily sell you a C0603C829D5GACTU by Kemet.

And rightly so.
You are making a grave error by combining 2 separate things.
The design phase of an electronic product is a creative process, and that creative process needs all your brain capacity and attention to design a product that works.
During this creative process components change often, and even radically. Half the schematic can get erased because it does not work, or works to good, but is too complex.

In extreme cases your system leads to having to search through a database with weird and unintuitive part numbers just to change the value of a resistor in a spice simulation. This is a big distraction and can completely kill the productivity of the designer.
Or even not being able to run a spice simulation with some resistor value because that value is not in the "prefered parts" database. This is horrible.
Stuff like that will lead to engineers using DaveCad to test their ideas and draw schematics.

Making a product ripe for production should only happen after most of the creative process has been done. It is a separate process and an engingeer should not be bothered with it for every nitty gritty change during the design process.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 27174
  • Country: nl
    • NCT Developments
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #37 on: January 30, 2019, 08:50:20 am »
People have complained in the past, that they can't change the value of a capactior in the schematic just by typing in a new value, but that's by design. You can't go to digikey and order a 8.2p, 0603 capacitor, but they'll happily sell you a C0603C829D5GACTU by Kemet.
And rightly so.
You are making a grave error by combining 2 separate things.
The design phase of an electronic product is a creative process, and that creative process needs all your brain capacity and attention to design a product that works.
During this creative process components change often, and even radically. Half the schematic can get erased because it does not work, or works to good, but is too complex.
A database doesn't get in the way of the creative process. You select parts just like you would from a database-less parts library. Also the creative process should happen before drawing the final schematic (on paper or simulation). I can't imagine you end up with a nice & readable schematic if it has been turned upside down ten times (exaggerated a little bit).

@Ataradov: you don't have to use a database but your way of working means having to look for a specific part on a supplier's website over & over again. When using a database the BOM is a shopping list you can copy into the supplier's website. Many have Excel or CSV imports for this specific purpose. For me this is a huge time saver.

Anyway, IMHO it would be nice if someone would spend time on KiCAD to add a component database to it instead of creating a new CAD package. The biggest hurdle will probably be to make the core team see why this is necessary for KiCAD to be considered an alternative for Orcad or Altium.

« Last Edit: January 30, 2019, 08:54:56 am by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Bassman59

  • Super Contributor
  • ***
  • Posts: 2501
  • Country: us
  • Yes, I do this for a living
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #38 on: January 30, 2019, 04:32:47 pm »
BTW what it missing from your list is to have a component database which links a symbol, footprint, value and order number together into a component. This allows to create bills of materials automatically which saves a lot of error prone manual work. AFAIK KiCad still doesn't have that but it is what turns a hobby tool into something which is suitable for professional use. I can do without differentail pair routing but I can't do with a component database.

For the nth time.

Kicad has supported what is called "atomic parts" for a few years now.

This is where the symbol in a library has its footprint field already populated and it has a populated part number field. Some of the Kicad official libraries already have this. All of my libraries are like this, too. (I use "house" part numbers, which I use with a Python script and a master parts list to generate a BOM from which I can order parts. Others have chosen to put the orderable part numbers into the symbol itself. Either way works.)

Export a BOM from the schematic using one of the standard scripts and voila, it's got everything, including part numbers.

Export a netlist from the schematic to the layout, and voila, all of the footprints are there.

If you're going to make comments about something, at least try to see whether your complaint has already been addressed.
 

Offline Bassman59

  • Super Contributor
  • ***
  • Posts: 2501
  • Country: us
  • Yes, I do this for a living
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #39 on: January 30, 2019, 04:54:44 pm »
People have complained in the past, that they can't change the value of a capactior in the schematic just by typing in a new value, but that's by design. You can't go to digikey and order a 8.2p, 0603 capacitor, but they'll happily sell you a C0603C829D5GACTU by Kemet.

My guess is that DigiKey, as a catalog distributor, does not want to start substituting parts for customer orders. Imagine the finger-pointing that can occur.

Whether a part is a substitute or not is something that must be managed by the customer, as every customer's requirements are different.

And that's why even small businesses will use a system to manage parts, including what substitutions are acceptable. And that's also why for even small businesses the buyer is a full-time job.

For the hobbyist, none of this matters.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 27174
  • Country: nl
    • NCT Developments
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #40 on: January 30, 2019, 04:58:08 pm »
BTW what it missing from your list is to have a component database which links a symbol, footprint, value and order number together into a component. This allows to create bills of materials automatically which saves a lot of error prone manual work. AFAIK KiCad still doesn't have that but it is what turns a hobby tool into something which is suitable for professional use. I can do without differentail pair routing but I can't do with a component database.

For the nth time.

Kicad has supported what is called "atomic parts" for a few years now.

This is where the symbol in a library has its footprint field already populated and it has a populated part number field. Some of the Kicad official libraries already have this.

If you're going to make comments about something, at least try to see whether your complaint has already been addressed.
And it hasn't! An atomic part is exactly what you don't want because then you can no longer share the symbol between multiple components. Please understand how professional packages deal with parts. They all use a database for a very good reason!

Look at the KiCAD fora: everyone is using seperate tools for what the professional packages can do in one go while using a components database.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Bassman59

  • Super Contributor
  • ***
  • Posts: 2501
  • Country: us
  • Yes, I do this for a living
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #41 on: January 30, 2019, 05:12:08 pm »
BTW what it missing from your list is to have a component database which links a symbol, footprint, value and order number together into a component. This allows to create bills of materials automatically which saves a lot of error prone manual work. AFAIK KiCad still doesn't have that but it is what turns a hobby tool into something which is suitable for professional use. I can do without differentail pair routing but I can't do with a component database.

For the nth time.

Kicad has supported what is called "atomic parts" for a few years now.

This is where the symbol in a library has its footprint field already populated and it has a populated part number field. Some of the Kicad official libraries already have this.

If you're going to make comments about something, at least try to see whether your complaint has already been addressed.
And it hasn't! An atomic part is exactly what you don't want because then you can no longer share the symbol between multiple components. Please understand how professional packages deal with parts. They all use a database for a very good reason!

Look at the KiCAD fora: everyone is using seperate tools for what the professional packages can do in one go while using a components database.

Uhh, we use an Altium integrated library here at the day job, and I suppose that meets most definitions of "professional packages." The whole idea of "sharing the symbol" is interesting for things like discrete transistors and op-amps, but really, so what? How many op-amps do you have in your library, really? And how much space is taken up in your library by your op-amps?
 

Online Bud

  • Super Contributor
  • ***
  • Posts: 6940
  • Country: ca
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #42 on: January 30, 2019, 05:28:40 pm »
Export a BOM from the schematic using one of the standard scripts and voila, it's got everything, including part numbers.
That is fine if ordering parts tomorrow after tinishing the schematic. Try this a year from now and some/many of the parts become obsolete and/or not stocked. What do you do, go and change the scematic each time? Really?
Facebook-free life and Rigol-free shack.
 

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 8518
  • Country: us
    • SiliconValleyGarage
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #43 on: January 30, 2019, 05:39:35 pm »
BTW what it missing from your list is to have a component database which links a symbol, footprint, value and order number together into a component. This allows to create bills of materials automatically which saves a lot of error prone manual work. AFAIK KiCad still doesn't have that but it is what turns a hobby tool into something which is suitable for professional use. I can do without differentail pair routing but I can't do with a component database.

For the nth time.

Kicad has supported what is called "atomic parts" for a few years now.

This is where the symbol in a library has its footprint field already populated and it has a populated part number field. Some of the Kicad official libraries already have this.

If you're going to make comments about something, at least try to see whether your complaint has already been addressed.
And it hasn't! An atomic part is exactly what you don't want because then you can no longer share the symbol between multiple components. Please understand how professional packages deal with parts. They all use a database for a very good reason!

Look at the KiCAD fora: everyone is using seperate tools for what the professional packages can do in one go while using a components database.

Uhh, we use an Altium integrated library here at the day job, and I suppose that meets most definitions of "professional packages." The whole idea of "sharing the symbol" is interesting for things like discrete transistors and op-amps, but really, so what? How many op-amps do you have in your library, really? And how much space is taken up in your library by your op-amps?

that may be true for symbols. what about footprints. What if you restyle or fix a footprint that is in use on many compoentns.
let's say you are going to alter your 0603 footprtin from nominal to least. ...

that is whay the professional packages use a database.
footprints, symbols and parts. parts link to footprints and symbols and other data.
Cadence goes a step further. they have approved pad stacks. change a pad stack and all associated footprints update ! which causes all associated components to update and triggers board reviews on all affected projects ... ( something the altium vault can do as well.

proper design datamanagement is the most critical aspect of product design. screw up your library and even the best designed schematic and board will be useless if the parts don;t fit ...
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Online Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3445
  • Country: nl
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #44 on: February 01, 2019, 12:06:08 pm »
And it hasn't! An atomic part is exactly what you don't want because then you can no longer share the symbol between multiple components. Please understand how professional packages deal with parts. They all use a database for a very good reason!

Look at the KiCAD fora: everyone is using seperate tools for what the professional packages can do in one go while using a components database.

Quote from: free_electron
that may be true for symbols. what about footprints. What if you restyle or fix a footprint that is in use on many compoentns.
let's say you are going to alter your 0603 footprtin from nominal to least. ...

It seems that everybody here is hanging on to their own ideas, and I am no exception to that.
For a part there seem to be misunderstandings about this "database" concept.
Having "atomic parts" is not a bad Idea, and is separate from the "database" concept.
I can only look at this through my KiCad glasses, because It is the only recent PCB design package I am familiar with.
I am an un-trusting and suspicious person by nature. For KiCad this translates to, using, but not trusting components footprints etc. from the library databases which come with KiCad. Every part of the libraryies gets scrutinized and modified to my personal liking and added to my own database / library of approved parts, and those are the only ones I trust.

A KiCad library is a database. There is no distinction between those 2.
Having "atomic" parts in KiCad does not mean they are unchangable and static, just that they are uniquely identifiable. If you have a custom database/library of approved parts, and your KiCad schematic or PCB has a reference to those, then changing the library/database will automatically update footprints when new gerbers are generated. If you don't want that, then make local copies in your project of certain "special" parts.
But what exactly is an "atomic part"? Over the years I've been ridiculed by asking such basic questions, but time upon time, if people dare to elaborate, it often leads to discovery of different people making different assumptions that are not compatible, and as long as these misconceptions live there is no hope of reaching consensus.

There also always has to be a limit somewhere. You can't put the whole world into a single database. It won't fit. From what I know Sap tried this, but it's more expensive to maintain than what KiCad cost me  ;D So, where do you want to lay the line?
Do you want screws, washers and wiring in your database?
Do you want cabinets and packaging materials in your database?
Do you want ordernumbers and timestamps in your database? Those could be an important source of information, for example for product recalls when a batch of faulty components slipped through, which start failing after 3 years in the field.

Those are all valid things to have in your database, but are not part of a PCB design program.
When viewed through my KiCad glasses: All it's file formats are open , well documented, human readable and have a simple structure. And they have tools and utilities to write modify them. Generating (and maintaining) KiCad libraries from such an allmighty database would be a trivial extension of such a database.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 27174
  • Country: nl
    • NCT Developments
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #45 on: February 01, 2019, 02:59:19 pm »
What you can do with Orcad CIS -for example- is share a table from a database which is part of your administration / logistics system. By adding columns for a symbol, footprint and value you can pick parts directly from the logistics system. If you create a BOM then the people in the procurement department can order the right parts for production right away. But this is a rather sophisticated scenario. Personally I use the database to detach component information from a symbol. This makes a component is universally re-usable and not stuck to a particular schematic. There are some parallels to using a standard library when writing software. Having a seperate 'universal' library for each project is going to suck at some point because in the end you never know which project has the latest version and changes/additions/bug fixes aren't forwarded to other projects which need the same fixes (or could use the enchancements).
« Last Edit: February 01, 2019, 10:26:47 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Bassman59

  • Super Contributor
  • ***
  • Posts: 2501
  • Country: us
  • Yes, I do this for a living
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #46 on: February 03, 2019, 04:06:36 am »
Export a BOM from the schematic using one of the standard scripts and voila, it's got everything, including part numbers.
That is fine if ordering parts tomorrow after tinishing the schematic. Try this a year from now and some/many of the parts become obsolete and/or not stocked. What do you do, go and change the scematic each time? Really?

No -- that's one of the reasons to use a "house" part number. The schematic remains the same, the BOM exported from it remains the same. You just update your master parts list with the replacement part for the one which went obsolete and re-run the script that creates the orderable BOM.

Or if you are using a more-comprehensive parts-management system, multiple real parts can be attached to the house part number, so purchasing can buy whatever is cheapest, or whatever is immediately available, or the like.

Of course it's always on engineering to approve whatever parts the buyer might wish to substitute.
 

Offline Bassman59

  • Super Contributor
  • ***
  • Posts: 2501
  • Country: us
  • Yes, I do this for a living
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #47 on: February 03, 2019, 04:17:20 am »
that may be true for symbols. what about footprints. What if you restyle or fix a footprint that is in use on many compoentns.
let's say you are going to alter your 0603 footprtin from nominal to least. ...

that is whay the professional packages use a database.
footprints, symbols and parts. parts link to footprints and symbols and other data.
Cadence goes a step further. they have approved pad stacks. change a pad stack and all associated footprints update ! which causes all associated components to update and triggers board reviews on all affected projects ... ( something the altium vault can do as well.

proper design datamanagement is the most critical aspect of product design. screw up your library and even the best designed schematic and board will be useless if the parts don;t fit ...

Yes, everyone who does this for a living is well aware that a fucked-up library results in fucked-up boards and money wasted. Not only in the physical design with footprints and such, but also in what purchasing orders and what gets soldered to the boards.

But in your reply, you mentioned two expensive CAD packages, Altium and Cadence, both published by large companies with a lot of programmers on staff, and you're comparing their features to an open-source package with a dozen core developers.

I have no doubt that the Kicad developers would not say no to anyone offering to spec out and implement a full-up library system underpinned by a proper relational database. Nobody is arguing that the database system is a bad idea. I agree that it's the way to go.

But ... has anyone stepped up to offer to do all of that work? No. The silence is deafening.

It's the old saying, everyone talks about the weather but nobody does anything about it.

 

Offline awallin

  • Frequent Contributor
  • **
  • Posts: 694
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #48 on: February 03, 2019, 09:25:23 am »
FWIW FOSDEM talks ongoing now:
https://fosdem.org/2019/schedule/track/cad_and_open_hardware/
IIRC it takes a while (weeks?!) for the live video to be available online for later viewing, so try to catch it now live!?
https://fosdem.org/2019/schedule/streaming/
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 27174
  • Country: nl
    • NCT Developments
Re: [CrowdLaborFunding] PCB CAD tool idea
« Reply #49 on: February 03, 2019, 10:44:43 am »
Export a BOM from the schematic using one of the standard scripts and voila, it's got everything, including part numbers.
That is fine if ordering parts tomorrow after tinishing the schematic. Try this a year from now and some/many of the parts become obsolete and/or not stocked. What do you do, go and change the scematic each time? Really?
No -- that's one of the reasons to use a "house" part number. The schematic remains the same, the BOM exported from it remains the same. You just update your master parts list with the replacement part for the one which went obsolete and re-run the script that creates the orderable BOM.
With a database that master parts list IS the BOM and there is no need for any extra error prone (manual) processes.

Mistakes can become very expensive. In one of my past projects someone designed a complex board with an ARM SoC on it. IIRC he used Geda and PCB to create the board. When we tested the board we couldn't get the standby current low enough. After spending many hours the hardware designer decided to check (measure) each part on the board against the values in the schematic. It turned out one of the pull-up resistors was 100 Ohm instead of 100k Ohm. He made an error while creating the BOM manually. Needless to say this was a costly mistake. Both in hours and customer confidence in our design.

Quote
I have no doubt that the Kicad developers would not say no to anyone offering to spec out and implement a full-up library system underpinned by a proper relational database. Nobody is arguing that the database system is a bad idea. I agree that it's the way to go.

But ... has anyone stepped up to offer to do all of that work? No. The silence is deafening.
Well I did consider paying someone to add a database based component management system to KiCAD. However I very much feared that the creators of KiCAD wouldn't even understand the benefits of having a database (or just ignore it) and I would be left with a fork of KiCAD which would get outdated quickly. Given the lack of understanding on why having a component database is the way forward shown in this thread it seems I made the right choice by bringing my money to Cadence. Also my experience trying to contribute to open source projects is that it is very hard to have your changes accepted by the creators. The only exception so far has been OpenOCD.
« Last Edit: February 03, 2019, 11:23:32 am by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf