Author Topic: In Depth Review and Tutorial series on Altium Circuit Maker - FATAL FLAW  (Read 8385 times)

0 Members and 1 Guest are viewing this topic.

Offline MaethTopic starter

  • Contributor
  • Posts: 47
  • Country: ca
    • Portfolio webpage
This is possibly the next big move in the maker/hobby electronics space, but it has a terrible flaw.

https://mrrobot.ca/altium-circuit-maker-review-and-tutorial-part-1/

Overall review and tutorial, feel free to re-post as needed with credit.
 

Online Berni

  • Super Contributor
  • ***
  • Posts: 4954
  • Country: si
Wow so i use someones SOT23-3 footprint and then they decide to number its pins against standard in clockwise because i seen datasheets that do that and suddenly they are wrong on my whole board? That is shit :--
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
Wow so i use someones SOT23-3 footprint and then they decide to number its pins against standard in clockwise because i seen datasheets that do that and suddenly they are wrong on my whole board? That is shit :--

mbed has a similar model with software libraries but once you import somebody's library to your project it's up to you to decide when to update it to the latest.  They also email you information about changes in libraries that you use, which is very useful if you want to import bug fixes. ... and they also let export the files to an off line tool of your choice but this is another story.
 

Offline AndyC_772

  • Super Contributor
  • ***
  • Posts: 4228
  • Country: gb
  • Professional design engineer
    • Cawte Engineering | Reliable Electronics
Hang on a minute... you're saying someone else can come along and change a library part that's used on my board, and my board actually gets changed as a result?

:palm:, because there's no emoji throwing itself off a bridge.

Offline Macbeth

  • Super Contributor
  • ***
  • Posts: 2571
  • Country: gb
Hang on a minute... you're saying someone else can come along and change a library part that's used on my board, and my board actually gets changed as a result?

:palm:, because there's no emoji throwing itself off a bridge.
Ok, who's going to go and change all the pins on the 555's? That should annoy all the LED flashers out there!

But seriously, this can't be possible!... surely?  :scared:
 

Offline MaethTopic starter

  • Contributor
  • Posts: 47
  • Country: ca
    • Portfolio webpage
Hey all!

Note: It doesn't seem like the parts are changed on the board from a library update, I will change my post to make this clear.

However, I will point out that the next time you use this part (for example, a 3.3V LDO, which I use over and over in different designs) it WILL be changed to the new revision by default.
 

Online Berni

  • Super Contributor
  • ***
  • Posts: 4954
  • Country: si
Yeah that's typical Altium behavior i'm used to. It would change if you tell it to update from libraries. But if you ware for example change the board to add a 2nd 3.3V regulator that one would use the new part. Only way to fix that is to export a *.pcbLib from the *.pcbDoc and then reference the schematics footprints to that library file. I have a feeling that this online version wont let you do that.
 

Offline MaethTopic starter

  • Contributor
  • Posts: 47
  • Country: ca
    • Portfolio webpage
Ya that's just it, no such ability in Circuit Maker. :(
 

Offline funkathustra

  • Regular Contributor
  • *
  • Posts: 150
  • Country: us
Have any of you actually used CircuitMaker? The all-caps FATAL FLAW caught my attention, so I read through this thread. What the author writes simply *is not true* -- case in point:
I built out a cute little Arduino board in CircuitMaker, and I didn't like the schematic symbol for the ATMega328P-MUR:

So I right-clicked and chose Edit. I changed the rectangle color because I hate Altium's puke-yellow. I also moved a few of the pins around. I added a 3D STEP model of the QFN package, as opposed to just the boring extruded block that was in there before. I continued to edit it a few more times, and produced revision 3, revision 4, and revision 5:

I used it in my design -- looks great. After reading this post, I hopped onto CircuitMaker and searched for the same component -- sure enough, it looks like someone else has built out a new version, revision 6:

The author's concern is that this new revision will magically appear in my designs? It has not:


But if you ware for example change the board to add a 2nd 3.3V regulator that one would use the new part. Only way to fix that is to export a *.pcbLib from the *.pcbDoc and then reference the schematics footprints to that library file. I have a feeling that this online version wont let you do that.
Wrong. You can easily copy and paste the component, and it will correctly appear on the PCB:



If I want to use the new version, I have to explicitly search for the chip in Ciiva, find the new version I want to use, and place it on the schematic.

Addressing the author's other minor points:
  • A script kiddie cannot come in and wipe out the library, because (a) CircuitMaker has no scripting support; and (b) you can't delete components -- you can only create new versions of them
  • You're right -- you have no idea how accurate a component symbol / footprint is, but I think the same can be said for any PCB library you find on the internet. Look it over before you use it? Simple.

Quote
If Altium Circuit Maker wants to fix this, they need to employ the Github model, and FAST! That way, every part would have an “issues” page, a rating page, and authors would hold the “master” copy. If someone comes along and notices a mistake, they can submit a pull request. If the author is not responsive or doesn’t want to fix, they can then make a fork and direct people to the corrected version. This would solve all of the versioning issues very quickly.
This is where the author's ideas slide into the nadir of ridiculousness. I don't think this person has much experience with PCB design if they think this is a realistic way of doing things. There are 4 million components that DigiKey alone stocks. Who wants to be responsible
for ensuring that each pull request is correct? And who determines what "correct" is? Examples:
  • How should pins on a 64-pin MCU be organized? By port? By function? Or by pin number?
  • Should we cram everything into one monolithic symbol, or split it up across different sub-parts?
  • Who gets to decide what the "official" schematic symbol looks like, when everyone has a different opinion (and my opinion, for one, shift between projects)
  • What should the "official" landing pattern for passives be sized for? Ease of soldering? Density?

This is a ridiculous thread full of people saying ridiculous things that aren't true.
 

Offline MaethTopic starter

  • Contributor
  • Posts: 47
  • Country: ca
    • Portfolio webpage
First off, thank you for the boundless condescension and hostility. This is certainly the best way to get a community together.
*EDIT* Looking at your post history, you seem to be a peach to everyone you communicate with... *EDIT*

With that out of the way, yes you may be surprised to know that I have been designing circuits for more than 10 years, in a professional paid capacity, and not as a hobby maker remaking the same Arduino board over and over. (see what I did there? Condescending tone sucks to read don't it?)

If you wouldn't mind re-reading my earlier post, you shall see:

"Note: It doesn't seem like the parts are changed on the board from a library update, I will change my post to make this clear.

However, I will point out that the next time you use this part (for example, a 3.3V LDO, which I use over and over in different designs) it WILL be changed to the new revision by default."


As in, yes next time you pull the part, it WILL take the new version by default, and not the version you wrote. You can then optionally dig for your revision, if you should happen to exactly memorize the 7-8 digit ID code. This is easy when there are few revisions, and fairly difficult for a popular part.

Saying "atlium has no scripting support" is equivalent to saying "I have no idea how to write scripts on a computer, therefore it is impossible" Check out AutoIt for an easy windows based tool to automate interacting with any program. And that is just the simplest one.

As for your comment on it being impossible to maintain a github type approach, comparing the number of parts to the number of designs is the same as comparing all possible combinations of 256bits to programming (1.1579209e+77). We do not have to manage ALL parts, just the ones that people decide to use.

The author of a github repo decides what coding format to use, what language to write in, etc. If you don't like it, you fork it and make your own version, exactly as described. Similarly here, the author decides land patterns, pin placement, etc. However, this allows the author to release "official" fixes, updates, and also accept pull requests (as in, fixes from other people) to their designs. If you look at any project on the start page, you will see the little "fork" button, so this is obviously possible, just without the pull request portion (yet).

Best wishes,
Maeth

P.S a "nadir" is "the lowest point in the fortunes of a person or organization." with the synonym lowest-level. So your fancy use of "nadir of ridiculousness" means "the lowest-level of ridiculousness" in which case I totally agree with you.
« Last Edit: July 22, 2015, 12:58:40 pm by Maeth »
 

Offline funkathustra

  • Regular Contributor
  • *
  • Posts: 150
  • Country: us
Who would be the authors of these component repositories? The component manufacturers? CircuitMaker users? Surely not Altium, itself?
 

Offline MaethTopic starter

  • Contributor
  • Posts: 47
  • Country: ca
    • Portfolio webpage
That is a very good question.

In short:
the same community people who author parts today should continue to do so, I am talking about changing the "acceptance" system.

Detailed explanation:
Take a look at ROS (Robot Operating System) they have a model where anyone can write ROS code, and put it up on github. The author then becomes the maintainer, and is able to accept fix requests. Once enough people use the code, or it becomes integral in some way, that code can be "released" as a stable package, with multiple versions if needed.

Likewise in PCB design, authors who's parts are used often, and have a history of good parts, can have a "gold standard" version of their part. Otherwise, assuming an author without above credentials, if the part is simply used very often, with no requests for fixes, it eventually automatically becomes a "gold standard" part.

That way, manufacturers (or Altium) could, if desired, become those "gold standard" parts creators, but that is not essential to the process.
 

Offline funkathustra

  • Regular Contributor
  • *
  • Posts: 150
  • Country: us
What about just having a star rating for each version, and have the list of revisions sorted by star rating, not revision number? CircuitHub will put a "verified" symbol next to component footprints that they've seen actually go into production, and since Altium is going to be integrating CircuitHub production into their system as an option, perhaps they could also include a "Verified" symbol next to component revisions that have actually gone on boards (in addition to the star system).

We should talk about this on the CircuitMaker forums, where Altium will actually read your ideas and act on them.
 

Offline MaethTopic starter

  • Contributor
  • Posts: 47
  • Country: ca
    • Portfolio webpage
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21684
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Curious... by "production", does that include DFM/DFX and feedback from the actual assemblers building it?  Or just PCBs?  Because in principle, Altium ends when the PCB is made ... but footprints that aren't confirmed to actually foot the parts reliably, aren't very useful.  And just because something's popular is no guarantee at all that it will be correct, or drawn consistently to the style of other popular parts, or...

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf