To be exact, an Altium Designer clone with same graphics, look'n'feel, and keyboard binding, without any advanced features.
I don't want to waste too much time on this. 10k LoC is what I can tolerate at most
Based on my understanding, most OSS tools are designed to be new. They are mostly coded by university kids and researchers, looking for publications.
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.
why not create a stripped down version of kicad itself? compatible with kicad symbols & footprints.. with ui modifications you desire..
why not create a stripped down version of kicad itself? compatible with kicad symbols & footprints.. with ui modifications you desire..
So for those still willing to try, my advice would be to work on the architecture and modularity and get that right before writing a single line of UI code.
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.
I doubt it is possible to define CAD backend in abstraction of the UI.
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...)
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?
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?
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.
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.
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?
I doubt that 10k LoC is realistic. I would estimate 5-10x that amount at the minimum.
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.
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.
Quote from: nctnico #3BTW 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.
@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.
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.
@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.
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.
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.
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.
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.
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.
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.
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.
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.
Export a BOM from the schematic using one of the standard scripts and voila, it's got everything, including part numbers.
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?
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.
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. ...
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?
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 ...
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.
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.
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.
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.Have you approached the Kicad developers in any manner? Are you subscribed to the developers' email listserv? Do you know the state of Kicad development? Did you write a proposal for implementing this feature? Did you identify any developers with the skills necessary to implement them?
I think the answer to all of those questions is "No."
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.
One thing that comes to mind regarding the fact that each part of a design would be linked to a database entry. You absolutely need a revision system in your software if you want to do that. The fact that any modification of the database would impact ALL of your exisiting designs without any control would be very risky. It's a no-no when dealing with validated designs. It must be revision-controlled at the design AND database levels. Any modification of an exisiting design should be explicitely accepted, and not blindly automatic. So if any part modification in the database can impact any of your existing designs, the software should give you means of accepting or declining the changes for each specific design. If you decline, it would use the older revision of the part.
@free_electron: you forgot about BOM variants where one design can have multiple different BOMs...
I am a professional software engineer that has worked on projects at the embedded level and enterprise level. At my job, in the past couple of years, I have had more responsibility to be a systems integrator designing electronics. I have also worked extensively with embedded electronics through the years designing circuits and writing embedded firmware. Anyhow, I have done my fair share of research on the current state of EDA, and after the industry has lived for almost 40 years, I can say in 2019 I am appalled at the state of the tools.
Anyhow.. long story short, I think that a fresh start is needed for EDA with a focus directly on usability and the big problems with current EDA tools. Don't just run off and start a project without consulting the professional community, because 100 people will have 100 different ideas. If I tried to do that at my job, I would be destroyed, which is why I must consult first. I think what the OP has suggested to start with is good, and after using some of the tools and doing 'a lot' of research, I have some ideas of my own, which I would like to share. Additionally, I am contemplating starting development on this project (after approval of course, because if there is one thing you will find out about me, is I HATE doing useless work - there is no point to such a project if it is not used by others)
Payment scheme
Free - enough said. I am sick and tired of having to deal with a billion EDA tools that cost something for such a basic need. The tool would be open source as well.
Lastly, I would like to state that I found AutoTrax Dex recently, and after looking at the videos, it seemed like this tool would be a godsend for all the features I want to see in an EDA tool. However! I happened upon the long and exhaustive threads on this forum from the developer and.. yeah.. I won't use that software out of principle even though I think it is godly. I want to have a really great EDA tool like Dex that is free and without the risk of some jack charging for it.
I will state that in order to produce a result in most of these tools, it is counter intuitive and users coming from a windows world especially expect easy point and click (including myself).
The biggest issue with these tools is usability from the lay person's point of view.
I want to be able to select and highlight a part just with a single left click.. but instead I have to drag a selection rectangle around it, which is a huge hassle, especially if multiple things end up behind each other, and I want to delete one: this has happened to me at least 10 times since a few days ago because of the way KiCad movement semantics work. Again, maybe I have not found the right switches in KiCad to make it work how I expect.
I want to be able to select and highlight a part just with a single left click.. but instead I have to drag a selection rectangle around it, which is a huge hassle, especially if multiple things end up behind each other, and I want to delete one: this has happened to me at least 10 times since a few days ago because of the way KiCad movement semantics work. Again, maybe I have not found the right switches in KiCad to make it work how I expect.
When you try KiCad nightly you will see this behaviour is fixed with the new tool set .
You need to keep in mind there are technical restrictions which limit the possibility what type of UI developer can create in reasonable time. The Legacy Canvas + Tool system was such a restriction for a long time in KiCad. wxWidgets is another one. Their development speed is pretty slow, and many features planned for wx 3.2 are highly desired. Like proper high DPI support and dockable notebook pages.
In my point of view the best way to get a better ECAD is to improve it part by part.
For all are interested in this thread: I had ditched this idea as I renewed my Altium subscription for another 2 years, and I learned KiCAD as a second plan.
Bah.. I wanted an admin to change my username before I posted again, because.. I don't like my email as the username (made this account awhile ago and mistakenly used my email as the username). I sent an email to eevblog official to fix the issue.. but I don't think I will be taken care of in a timely fashion... so...... I digress
Multi components
Components with multiple sections - still thinking about the best way to do this
Integrated toolset
Schematic and layout are coupled in the same program. Same usability exists between schematic and layout (point and click features)
"Plotting"
PDFs are completely standard in my group.
Not even remotely important in a professional tool. In Orcad I draw schematics in Windows and do PCB layout in Linux (this is a >$5k package without the very advanced options).
QuoteLook at how Orcad and Altium have implemented this. See below.
My first inclination is to just outright say to you: "NO". Because that statement reeks of: "They have been doing it this way for decades, so you do the same!"
Not even remotely important in a professional tool. In Orcad I draw schematics in Windows and do PCB layout in Linux (this is a >$5k package without the very advanced options).
You must not be doing a lot of crossprobing then .... ( click in pcb and have schematic zoom to part and vice versa ... )
It is VERY important to have the schematic and pcb talk to each other in realtime. only transferring netlists and pushing back eco's using simple files went away 20 years ago... There is not enough data in the file exchanges.
Protel 95 could already crossprobe.
I use that heavily.