Author Topic: How to best annotate components that are on the chassis and not on the PCB  (Read 1824 times)

0 Members and 1 Guest are viewing this topic.

Offline SwakeTopic starter

  • Frequent Contributor
  • **
  • Posts: 582
  • Country: be
In many cases there are plenty of components that are not mounted on a PCB but these are nevertheless important parts of the device. I always include these in the schematic and tend to foresee some connector on the PCB to wire them in. This way these are also included in the BoM.

Some common examples: A fuse in a chassis mounted holder; Power cord receptacles with or without build-in filtering; Switches and potentiometers; all sorts of input-output connectors.

How do you annotate these in your schematic?
Are you only using the "Exclude from board" attribute?
When it fits stop using the hammer
 

Offline Benta

  • Super Contributor
  • ***
  • Posts: 6259
  • Country: de
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #1 on: September 22, 2024, 08:56:46 pm »
Lots of possibilities.
I'd either:
1: ignore the outside placement of those parts and draw a simple schematic:
2: draw the outside parts on the main sheet, and place the rest of the circuit in a hierachical sheet.
 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4766
  • Country: dk
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #2 on: September 22, 2024, 09:06:18 pm »
if you had someone else make and assemble the PCB they wouldn't need to know about stuff off the board. So I don't think they belong in the PCB/schematic. They are parts of the product, not the PCB
 

Offline Benta

  • Super Contributor
  • ***
  • Posts: 6259
  • Country: de
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #3 on: September 22, 2024, 09:23:03 pm »
if you had someone else make and assemble the PCB they wouldn't need to know about stuff off the board. So I don't think they belong in the PCB/schematic. They are parts of the product, not the PCB

I agree on the PCB, but they're certainly part of the schematic. And that was the question.
 
The following users thanked this post: tooki

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4766
  • Country: dk
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #4 on: September 22, 2024, 09:30:28 pm »
if you had someone else make and assemble the PCB they wouldn't need to know about stuff off the board. So I don't think they belong in the PCB/schematic. They are parts of the product, not the PCB

I agree on the PCB, but they're certainly part of the schematic. And that was the question.

on the PCB they are connectors or wire pads
 

Offline Benta

  • Super Contributor
  • ***
  • Posts: 6259
  • Country: de
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #5 on: September 22, 2024, 09:50:10 pm »
Schematic.
 

Offline WillTurner

  • Regular Contributor
  • *
  • Posts: 51
  • Country: au
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #6 on: September 23, 2024, 12:01:35 am »
You can have two (or more) boards (defined by their edge cuts layer) within the schematic, and two boards in the layout. One board is your main project, and the other might represent your panel containing "off-board" components.

Have a look at the following
  Is anyone else writing their footprint files by hand?

You probably wouldn't manufacture the board with the connectors, but you could do so if it helps build a test jig.

Connections between the two boards need to be managed using the normal hierarchical label tools.
 

Offline Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3887
  • Country: nl
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #7 on: September 23, 2024, 03:42:15 pm »
You can have two (or more) boards (defined by their edge cuts layer) within the schematic, and two boards in the layout.
[/quote]

No, that is just plain bad advice.
KiCad still does not have any (official) support for more then one PCB in a project, and the lines on Edge.Cuts must be "perfect" to be valid for a manufacturable PCB (And I assume that is the goal here).

And the "Exclude from Board" attribute is exactly meant for things like this. KiCad does not have very good support for "assemblies", but with the "Exclude from Board" attribute you can manage things like Fuses + fuse holders, or socketed IC's reasonably well. I've read some rumors that this is going to be expanded on in the next KiCad version (V9) with options to exclude a whole schematic sheet from the PCB. That makes it easy to collect some extra parts that belong to the project, but have no PCB footprints by themselves.
 

Offline WillTurner

  • Regular Contributor
  • *
  • Posts: 51
  • Country: au
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #8 on: September 24, 2024, 03:06:36 am »
You can have two (or more) boards (defined by their edge cuts layer) within the schematic, and two boards in the layout.

No, that is just plain bad advice.

Maybe so. My apologies in advance if you try this, and get into unrecoverable territory. Screenshot below of my current workspace, with what (?) a backplane, and six boards mounting at ninety degrees?
  We should all be trying to push the tools to find their limits. Personally, I am amazed at the stability of (V5) KiCAD.
 

Offline NF6X

  • Supporter
  • ****
  • Posts: 198
  • Country: us
    • Mark's Green Pages
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #9 on: September 25, 2024, 02:31:31 pm »
How do you plan to fabricate that multi-board design? I don't believe that KiCad has any mechanism to include only one of your boards in the Gerber and drill file outputs, and the board fabricator is going to expect a separate set of Gerbers and drill files for each board.
 

Offline WillTurner

  • Regular Contributor
  • *
  • Posts: 51
  • Country: au
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #10 on: September 25, 2024, 10:39:59 pm »
How do you plan to fabricate that multi-board design? I don't believe that KiCad has any mechanism to include only one of your boards in the Gerber and drill file outputs, and the board fabricator is going to expect a separate set of Gerbers and drill files for each board.

What a good question, and I'm glad you asked  :).

Did you follow this thread ...
The v8 net ties work, but still can't be used on internal layers.  So you still end up with two vias to an outer layer where the net tie footprint is placed, then go back to the schematic, remove the net tie, update the pcb, remove the extra vias and trace bits, and add an internal trace segment... But it's certainly better than going back and forth to the schematic!

The answer is similar, in that it takes a negative path. I make a copy of the carefully constructed master schematic, and delete everything but the board I am processing for manufacture. Run DRC on the schematic, then go over to the layout and run DRC there. Produce the fabrication files, and submit to the foundry.
  Critical is that I said the master schematic is carefully constructed to make all of the hierarchical connections such that a board can be deleted. That is the hard part. If there are only two boards, it should be easy >:D.
  In my project I am specifically using all through hole. I haven't tried assembly yet with multiple boards (which could make the process much more difficult). Which leads me to fabrication ... Those guys at JLCPCB are pretty smart cookies. I figure that they ask the question "How many separate designs" in the submitted project for a good reason. When I am ready, I plan to submit the master file, specify how many projects in the design, and see whether they can do the slice and dice. Worst case is that I do it myself, and I need to at least be able to do that for anticipated board revisions.

Edit: One last thing. Where do you define your edge cuts? The first step we all took starting KiCAD was to create a board outline on the edge cuts layer with a very thin trace. On reflection, I think this is absolutely the wrong place for a board (and  hence edge cuts) to be defined. A board definition should be attached to an artifact in the schematic. That way it is clearly and accurately specified. See this post ...
  Is anyone else writing their footprint files by hand?
« Last Edit: September 25, 2024, 11:24:27 pm by WillTurner »
 

Offline Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3887
  • Country: nl
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #11 on: September 26, 2024, 09:27:24 am »
I make a copy of the carefully constructed master schematic, and delete everything but the board I am processing for manufacture.

This is pretty much with what I mean "not supported".
What is the use of combining all those separate PCB's into one instance of KiCad if you have to undo all that work when you want to go to production?

Run DRC on the schematic, then go over to the layout and run DRC there.
Almost. It's ERC (Electrical Rule Check) in the schematic. Only the PCB checks the Design rules.

A long time ago I did some experiments with nested KiCad projects, and it seemed to work quite well. The Idea is to have a single project for each PCB, and then a master project with a hierarchical design that links all those projects together. But it's also clearly an unsupported "alternative workflow", and KiCad changes (improves) quite a lot and I'm not sure if this still works, but at least you still have the separate projects if it does not work. With this setup I could do ERC over the full project of interconnected PCB's.

As a side note: Are you really still working with KiCad V5? That screenshot is from a KiCad version from the stone age.

Edit: One last thing. Where do you define your edge cuts? The first step we all took starting KiCAD was to create a board outline on the edge cuts layer with a very thin trace. On reflection, I think this is absolutely the wrong place for a board (and  hence edge cuts) to be defined. A board definition should be attached to an artifact in the schematic.
In newer KiCad versions, there is support for drawing on Edge.Cuts in a footprint. This is used in (most of?) the edge connector footprints. The default ones just have an incomplete outline, as KiCad does not know the size of your PCB, but you can make custom ones with a fully defined circumference of your PCB on Edge.Cuts.
 

Offline WillTurner

  • Regular Contributor
  • *
  • Posts: 51
  • Country: au
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #12 on: September 27, 2024, 12:34:24 am »
What is the use of combining all those separate PCB's into one instance of KiCad if you have to undo all that work when you want to go to production?
One very good reason is that when I highlight a net, it shows connections between all of the boards, and the path through the backplane. That one thing alone makes it worthwhile. The alternative is to go back and forth between separate project files to chase down elusive errors. Also, I am hopeful that I will be able to submit the full design without cutting it up into parts, letting the foundry do the work. Did you ever wonder what tools the foundries are using?

As a side note: Are you really still working with KiCad V5? That screenshot is from a KiCad version from the stone age.
Yes, sorry I am running an old version. It does pretty much what I want it to do at this point. I would like to upgrade, but my reason for upgrading would be to replace the host computer, and upgrade my operating system. It's a big project which would interrupt work on my design.

In newer KiCad versions, there is support for drawing on Edge.Cuts in a footprint.
I'm not sure whether I can edit edge cuts in my ancient version of the footprint editor. It does however, import and display them correctly. That would certainly be a much better place to define the board outline. Once you start playing with editing footprint files by hand, it is trivial to define a board's edge cuts there. At the same time, you might as well add a whole mess of items that belong with the board such as a template for (ground) zones, an outline on the front silk away from the edge to remind you not to place tracks at the cut, a title block, and other pretty features that add to the look and feel of your board. The board layout becomes reusable as a bonus. Finally, I like to have a graticle with ticks marking off the outside dimensions of the board, just to help me with orientation.
  I just know you won't like me pointing this out ... but the artifact that is attached to a board definition (including edge cuts) could be placed anywhere that it makes sense in the schematic sheet hierarchy. It doesn't have to appear on the top sheet, and could be hidden way down in the stack. So, put these things somewhere sensible  :).

A long time ago I did some experiments with nested KiCad projects, and it seemed to work quite well. The Idea is to have a single project for each PCB, and then a master project with a hierarchical design that links all those projects together.
I wouldn't have thought of exploring the tools that way. I really, (I mean really) like that I can get into KiCAD at a low level, even if the file formats are not that human friendly. I hope the KiCAD gods retain this as the project progresses. Sometimes I suffer from Altium envy, but I bet editing low level files would be frowned upon by their gods, if it is even possible.

But it's also clearly an unsupported "alternative workflow" ...
As we advance in our KiCAD skills, workflow changes!

Apologies to the OP for taking this thread off topic. My original thesis was that their design would benefit from having off board connectors represented in the schematic, and laid out in a separate board space which may or may not be disposable. The major benefit of this approach is that all all of the connections are visible, and not implied. There may be other advantages. Even early versions of KiCAD are stable enough to attempt this, but you will need to bend, prod, poke, and understand the tools better to make it work.   
 

Offline NF6X

  • Supporter
  • ****
  • Posts: 198
  • Country: us
    • Mark's Green Pages
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #13 on: September 27, 2024, 12:42:29 am »
The files are still readable text in KiCad 8. Being able to hack the files with your favorite text mangling tools really comes in handy sometimes. I don’t do it as a regular part of my flow, but it’s a powerful capability when a weird need comes up.

I can understand holding off on upgrading the tool because it’s going to snowball into a much bigger task. I hope you’ll have an excuse to do it before long. KiCad has come a long way from v5 to v8.
 
The following users thanked this post: WillTurner

Offline SwakeTopic starter

  • Frequent Contributor
  • **
  • Posts: 582
  • Country: be
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #14 on: September 27, 2024, 08:12:27 am »
I tend to follow the versions with a couple months of delay. This makes that the upgrade path must be taken more frequently but the steps are much smaller.
For me personally the new versions of Kicad have always been a welcome progression.

Life has learned me to not deviate/modify all to much from the original as the maintenance is generally a nightmare. For a short one of it is not a problem but when the project is taking years before delivery then sooner or later you'll be in for trouble. Also good luck when you have to unexpectedly revisit it a couple years after closure. (I really should not use the word unexpectedly as this happens in many many cases)
When it fits stop using the hammer
 

Offline Smokey

  • Super Contributor
  • ***
  • Posts: 2920
  • Country: us
  • Not An Expert
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #15 on: September 27, 2024, 08:45:38 am »
Sounds like you are talking about components that go on a higher level BOM that uses the PCB assembly as one of it's components.  All that stuff should get called out in the appropriate BOMs so the production and purchasing guys buy the right parts (even if all those people are just you). 

If I want to call out something from the higher level BOM on a schematic, I usually just either draw it with non-wire lines, or put a box with some text in it calling out the part.  So not actual schematic library parts. 

One thing I hate is when a library part is created as one part, but it's actually made up of multiple BOM items.  Like the connectors for a raspberry pi CM4 or something where it has two separate connectors.  It's great that the library part imports with the spacing and all that, but the thing that actually goes on the PCB assembly are the two separate connectors.  The actual CM4 is on the next level BOM.
« Last Edit: September 27, 2024, 08:48:21 am by Smokey »
 

Offline SwakeTopic starter

  • Frequent Contributor
  • **
  • Posts: 582
  • Country: be
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #16 on: September 27, 2024, 10:06:58 am »
A Kicad project is clearly single PCB board focused. And that is ok for as long as one keeps this in mind. However it brings some challenges.

Personally I prefer working with a 'device' focus. Most devices have electronics, firmware, software, an enclosure, mounting hardware, internal and public documentation and manuals, packaging, and many more things like labels, certifications, marketing leaflets and of course a BOM with procurement information (part#, sources, contracts, lead times,...). Obviously Kicad is not meant to and cannot deal with all of these, but I would expect that (in the relatively near future) it can deal with 'everything electronics' in a single Kicad Project.

In my simple mind 'everything electronics' also includes passive things like connectors and cables between boards. Things that I do not expect to be directly managed are mounting hardware, heatsinks, or firmware but it should be possible to somehow link to these. For example you want to have those power transistors mounted in a particular place on the PCB so it fits to the heatsinks in the right place this means you have to be able to exchange those locations between the PCB software and the CAD modeling software. A flexible PCB is another particular case. A third example is the PCboard version vs the firmware version.

There are some limits, challenges and constraints, like is the case for all software. In this context it is nice to have explanations about how others are dealing with it and what are the best practices.

When it fits stop using the hammer
 

Online David Hess

  • Super Contributor
  • ***
  • Posts: 17193
  • Country: us
  • DavidH
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #17 on: September 27, 2024, 11:18:27 am »
I follow the method Tektronix used for their service manual schematics.  The schematic is either blocked off with assembly numbers, or the lack of an assembly number indicates a chassis mounted or external part.  Connectors are also shown.
 

Offline julian1

  • Frequent Contributor
  • **
  • Posts: 771
  • Country: au
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #18 on: September 27, 2024, 08:47:00 pm »
I really, (I mean really) like that I can get into KiCAD at a low level, even if the file formats are not that human friendly. I hope the KiCAD gods retain this as the project progresses. 

I am the same.
It is worth it to investigate/consider going to v6 if you can manage it, because the file formats harmonize and are consistent for symbols/schem, pcb, footprints.
And the structure is stabilized for all future versions going forward (eg. v7, v8 just add extra fields/attributes).
Also, v6  is easier to edit/hack, either manually with an editor or with scripts/programaticaly.
That the main reason I upgraded at the time.   
 
The following users thanked this post: WillTurner

Offline Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3887
  • Country: nl
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #19 on: September 28, 2024, 02:49:35 am »
KiCad V6 introduced hue improvements. It has a completely new file format for the schematic, and it now uses S-expressions just like the PCB.

Yes, sorry I am running an old version. It does pretty much what I want it to do at this point. I would like to upgrade, but my reason for upgrading would be to replace the host computer, and upgrade my operating system. It's a big project which would interrupt work on my design.
Consider this:
  • Buy a SSD (M.2 if it fits, or else SATA)
  • Put it in your PC.
  • Install Linux (Linux Mint is a very user friendly distribution. 240GB SSD is already plenty,
  • Install KiCad :) I suggest at least V7
  • You can no use the BIOS / UEFI of your PC to select from which media your PC boots.

With this method you do not have to change a single bit on the storage media of your current setup, and it's easy to either permanently select a media to boot from, and/or override it during boot. This is more convenient then messing with some boot loader program. This method allows you to work on your new configuration in small increments. The cost of an SSD is so low these days, that it is hardly a consideration. And it has extra benefits too. For example you have an "emergency" boot media for when your main SSD crashes or becomes unbootable. And it's also a convenient way to make backups.

Apologies to the OP for taking this thread off topic.
Hmm, yes, but that's been answered I believe.
 

Offline PlainName

  • Super Contributor
  • ***
  • Posts: 7273
  • Country: va
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #20 on: September 29, 2024, 09:50:46 pm »
Quote
With this method you do not have to change a single bit on the storage media of your current setup, and it's easy to either permanently select a media to boot from, and/or override it during boot. This is more convenient then messing with some boot loader program.

Has never worked for me, and I've tried lots of times. The problem is that one has to either do everything with this OS or everything with that OS, and you can't, say, do a bit in Kicad7 on Mint then switch to the other OS to run an app there for a few mins, then switch back. It's too tedious to do more than three times before virtual machines look good (and they have their own problems).
 

Offline bson

  • Supporter
  • ****
  • Posts: 2462
  • Country: us
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #21 on: October 05, 2024, 10:27:14 pm »
I make a copy of the carefully constructed master schematic, and delete everything but the board I am processing for manufacture. Run DRC on the schematic, then go over to the layout and run DRC there. Produce the fabrication files, and submit to the foundry.
You can submit multiple independent designs in one gerber set to e.g. JLCPCB and they will do the right thing.  As long as it's different boards, which is obvious when they look at the edge cuts.  I'd try this first.

You can also lay them out as a single rectangular subpanel, specify v-grooves or mousebites and separate them yourself.  V-grooves, or any milling not part of a footprint in general, may cost a little extra but last I checked it was dirt cheap (again, JLCPCB).  The fab will do the right thing as long as it's clear to them what you want; orders are always inspected so it's not like your designs are automatically going into some system and you get garbage in - garbage out, or a flat out rejection because something is off by an attometer.
 

Offline WillTurner

  • Regular Contributor
  • *
  • Posts: 51
  • Country: au
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #22 on: October 06, 2024, 01:12:39 am »
You can submit multiple independent designs in one gerber set to e.g. JLCPCB and they will do the right thing.  As long as it's different boards, which is obvious when they look at the edge cuts.  I'd try this first.
I did recently try a submission with the boards at an aesthetically pleasing spacing, but the JLCPCB front end software isn't smart enough to eliminate the dead space. The total cost was $261, which included a $69 large size fee, and $95 panel cost.  It works, but the price can be reduced with work. One motivation is to try to break my mindset of thinking that board space is expensive, when it's really cheap. Design time on the other hand is very costly!
  I have also been thinking about organization of the schematic for multiple boards. I believe that with minimal changes to the schematic, a design could be placed on one board, or across multiple boards. The critical factor might be interconnection between boards, which takes space for the connectors, and is an overall negative cost. (My attempt is with 40 pin dupont style connnectors in 2 x 20, with the male part having a 90 degree bend. Naturally, there are difficulties  :)).     

... rejection because something is off by an attometer.

That's funny! My first complaint after looking at a few footprint files was the "rounding errors". When those fancy AI's do your board layout, remember that the data set they were trained on was coded by a machine. If you want elegant footprint code, you had better put a human in the loop.
 

Offline WillTurner

  • Regular Contributor
  • *
  • Posts: 51
  • Country: au
Re: How to best annotate components that are on the chassis and not on the PCB
« Reply #23 on: October 16, 2024, 05:58:52 am »
How do you plan to fabricate that multi-board design?
Having just gone through the process, may I add a few notes?

The workflow is something like
  • Open the master project
  • Get the schematic right, and pass ERC
  • In the PCB layout tool, run DRC for the master. Limited non-connect errors remain between boards *only*.
  • Set up the default directories and settings to plot
  • Do any test plots, maps, drills to be comfortable
  • Close the master project
  • Make a copy of the master project for each board to be produced
  • Open each board's project file in turn
  • Open the PCB layout tool (only)
  • Select the board to produce, and move it into a safe place
  • Delete everything else
  • Run DRC (for the board only now, which should be error free)
  • Plot the gerbers, and don't forget the drills!
  • Zip it up
  • Move on to the next board.

I had to run through the process multiple times to correct errors.
So my previous copies needed to get deleted, and the master project reopened - error prone of course.
  The actual gerber production was fairly quick, but I did forget to generate the drill files. JLCPCB allowed a resubmit, and it was quick enough to correct.
  The list above may give an indication of the complexities of the process, but give it a go  :).
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf