EEVblog Electronics Community Forum
General => General Technical Chat => Topic started by: eti on November 16, 2021, 08:35:32 pm
-
Complete newcomer to PCB layout - where do I start?
Let me say this - the last time I was shown PCB layout, was a cursory overview at college, back in the 90s. I have never done it myself, and would greatly appreciate any help in "noob form" (not "idiot form" ;D ;D) syntax. If you could point me to a tutorial, that would be superb, since YouTube is an OCEAN of them, and I do not know which is better and which is worse.
Thanks ever so much. :)
Matthew.
-
I found DipTrace (https://diptrace.com/download/download-diptrace/) to be the easiest to learn after trying Eagle and KiCad.
The free version is only limited by the number of pins and two layers.
Here is a video on an old version of DipTrace (kind of lame, but all the steps to create a PCB and schematic).
Sorry, I couldn't find a good tutorial.
Note:
You can start doing a PCB layout without a schematic if your circuit is simple enough.
Just place the components you need onto the board.
https://www.youtube.com/watch?v=IuG2vuwdMXc (https://www.youtube.com/watch?v=IuG2vuwdMXc)
-
Maybe take a step back before even comitting to software. Creating a PCB is solving a 3D puzzle. The first thing to do is to get a idea on how a circuit would best fit on a PCB. What are the constraints (position of connectors, buttons, LEDs, etc)? And how would the components fit on the board the best way to minimize the connections? A good exercise is to start with a piece of paper and a schematic for very simple circuit (something with an NE555 or so to blink a LED) and (re)draw the connections in the schematic in a way the wires don't have to cross.
From there try to use a CAD program to turn the same diagram into a board. I strongly recommend to draw a schematic as well because this will allow the PCB software to verify the connections are according to the schematic. Otherwise you are on your own.
-
Two very helpful replies, and much wisdom found in them, especially the latter. Thank you so much. 🙂
-
I use the ExpressPCB.com service to make my boards and I use their software. It has no automation whatsoever and it certainly doesn't do autoroute. Still, I have had great success with the boards I have had them make and I didn't have to spend weeks learning to use software.
-
Like Nico says, everything begins with the schematic and all the individual component characteristics start here to be transferred onto the PCB layout. Be sure to assign the individual component footprints early in your design.
Start with breaking a design into building blocks and use Net labels for circuit ground, VCC, VDD and all supply rails of each value. You might have VDD+5 and or VDD+12 for example.
Active building blocks don't need supply rails only VDD Nets of the appropriate value so to have the SW do its thing and religiously interconnect the same Nets when you import the schematic to a PCB layout.
That's a very basic overview of how best to start however remember your building blocks when you get to the PCB layout group each blocks components together then optimize each blocks layout and orientation for best connectivity paths to adjoining blocks.
At PCB import you'll be confronted with what looks like a gawd awful ratsnest of virtual connections which initially only help to rebuild your building blocks after which you mainly overlook until you start getting the best orientation of each block.
I like to keep an eye on Gnd and any VDD for each block so to have them placed accessible to Gnd pours and supply rails but of course signal In/Out paths need be accessible too.
It's lots of fun once you get the hang of the SW and a real challenge to make PCB layouts as compact as possible yet also easy enough to rework which is much too often overlooked.
Have fun and looking forward to marking your work. :)
-
It's normal for your PCB design to look like shit at the start, it just takes time to untangle the mess and make everything look tidy. There is definitely some asthenic art in laying out PCBs.
I think out of all the tasks you spend time doing in electronics, laying out PCBs is probably the most fun. At least for me.
-
Well, as a complete noob @ PCB layout, I just finished a very quick mess around board using KiCad 5.X ;D :D
Kickstarter begins soon, taking orders next month :-DD
-
When I first started out I tried every PCB CAD package I could get my hands on, ranging in price from free up through stuff that would cost many thousands of dollars to actually buy. I concluded that they are all terrible in one way or another, they're all buggy and kludgey, they all have quirks, but they all work more or less the same way and if you can learn one you can learn another. I ended up settling on KiCAD and have never regretted it, it's completely free and has no artificial limitations. The process is always something along the lines of create your schematic, create a netlist from that, import the netlist into the PCB side of things, draw the board outline, arrange the components then start routing the traces. There are lots of tutorials on youtube for all sorts of different software but if you are just starting out and intending to do this as a hobby (ie you don't want to spend thousands on something like Altium) then there are few reasons to go with anything other than KiCAD, it has the lion's share of the hobbyists.
-
When I first started out I tried every PCB CAD package I could get my hands on, ranging in price from free up through stuff that would cost many thousands of dollars to actually buy. I concluded that they are all terrible in one way or another, they're all buggy and kludgey, they all have quirks, but they all work more or less the same way and if you can learn one you can learn another. I ended up settling on KiCAD and have never regretted it, it's completely free and has no artificial limitations. The process is always something along the lines of create your schematic, create a netlist from that, import the netlist into the PCB side of things, draw the board outline, arrange the components then start routing the traces. There are lots of tutorials on youtube for all sorts of different software but if you are just starting out and intending to do this as a hobby (ie you don't want to spend thousands on something like Altium) then there are few reasons to go with anything other than KiCAD, it has the lion's share of the hobbyists.
Yes it's brilliant. I gave up on "EasyEDA" - what a mess of a program.
-
They're all a mess of a program, even the high priced professional stuff. It's all crap, you just have to persevere and learn to work around the quirks.
-
From what I've seen here the most common noob mistake is component holes too large and annular rings too small.
100mil is a good size annular ring unless layout density is high however even when so you can change the pad shape to retain clearances.
-
Yep. A 3mm pad with a 0.8mm hole works well for most through-hole components. But then again, who uses through hole nowadays? Soldering 1206 SMT components is easier because you don't have to bend and cut leads.
-
I gave up on "EasyEDA" - what a mess of a program.
I was in a somewhat similiar situation – I've done electronics courses at Uni, played a bit with breadboards, but never designed my own circuits –, when I discovered EasyEDA four years ago. I hope you tried it in your browser, as an online tool, instead of as a standalone application: I've found the latter to be not worth the effort at all.
I found the interface intuitive, as I rarely needed to look stuff up in their guides, and have done a few schematics and boards (https://easyeda.com/NominalAnimal) with it. I'm kinda thinking of updating the "Cheap USB GamePad using CH551G" to CH554G, since JLCPCB has the latter in stock; might make for a funky unique gift to my nieces and nephews.
They're all a mess of a program, even the high priced professional stuff. It's all crap, you just have to persevere and learn to work around the quirks.
Applies to all software, really.
For me, it helps a lot to try and approach the program as a puzzle: How did the original developers use this tool? How did they intend it to be used?
It may not be the optimal way, but it kinda-sorta explains why the quirks exist, and definitely helps anticipate the quirkiness, and overcome them.
You know, like when you occasionally hear a dog barking, knowing the dog by name and occasionally petting them, somehow tends to make the noise less annoying.
-
I would also suggest EasyEDA because the grunt boring work is done for you and all you need to do is plonk things down and join them up. Think of it as the Arduino of PCBs, that let you get a taste so you know what you want in the product you'll end up with.
All of them will seem to be rubbish in some way, just like trying to build software by typing weird shit into the command line is a pain when you don't know what compilers and linkers and build tools are meant to do or when. Once you're over that little hurdle, the stupid rubbish on that first tool you used might start to make sense.
From EasyEDA the normal destination would seem to be Kicad now. You might be tempted to make that jump at the start, but I think it has a few too many interface issues that would get in the way of using it for learning PCB stuff.
-
I would also suggest EasyEDA because the grunt boring work is done for you and all you need to do is plonk things down and join them up. Think of it as the Arduino of PCBs, that let you get a taste so you know what you want in the product you'll end up with.
All of them will seem to be rubbish in some way, just like trying to build software by typing weird shit into the command line is a pain when you don't know what compilers and linkers and build tools are meant to do or when. Once you're over that little hurdle, the stupid rubbish on that first tool you used might start to make sense.
From EasyEDA the normal destination would seem to be Kicad now. You might be tempted to make that jump at the start, but I think it has a few too many interface issues that would get in the way of using it for learning PCB stuff.
You're very kind to make the suggestion, but I have now decided upon KiCad, for a few reasons:
~ I like VERY find, granular control over my processes and methods, in software. I Like doing the "grunt, boring work" myself - call me a control freak, sometimes - I want not to have someone else have their code decide for me.
~ I dislike web UI interfaces - I do not feel I am in control when a web UI can suddenly change, go offline or be "improved" arbitrarily by some "update"
~ I had to jump through hoops with EasyEDA - it was my first ever use of it, and I found a large amount of friction - the UI lagged, the whole "cloud" login thing, asking me to verify, type in my Google ID every time... NO thanks - there may well be solutions around this, but mine was to follow my instincts - and I LOVE KiCad.
Thanks for all the help, and also to everyone above - I need to parse all this carefully and methodically. :)
PS: This video is exceptionally well explained - he crammed in VERY clear beginner instructions into a mere 5 mins and 40s!
https://www.youtube.com/watch?v=l9b_6WLemmg (https://www.youtube.com/watch?v=l9b_6WLemmg)
-
I started making my PCB's at the age of 14 or 13 (IIRC) with some pirated russian PCB design software.
Back then i would get an amp IC like a TDA2050 and design a board from the application schematic or a schematic found online.
Now i use KiCAD and i like it. I've tried Altium in my university but i didn't like it because importing custom components felt overly clunky and a PITA in general.
In KiCAD it's almost as easy as drag and drop.
I've noticed that there's very little to learn when designing a PCB as a hobbyist. You only need to know a few design rules and look out for a handful of gotchas that are all easy and quick to learn.
You'll be spending much more time learning to use the CAD software than learning how to design a board. Many hobbyists these days just dump components and autoroute.
When designing a PCB it's just like putting together a puzzle. You just put the pieces together in a way that makes tracks short and flow without crossing over other tracks or taking unnecessary turns.
Also when designing a two layer board think in two layers. In university we had our project presentations and i saw one guy design a PCB for his project like it was two separate one sided boards stuck back to back. The guy was completely not taking advantage of the two layer board. Seeing his clock trace zigzag across the entire board almost made me pull my hair out.
Also did you know there is a render option? The cube icon right under "Preferences" will raytrace your board, which i think is pretty cool.
-
I am learning this KiCAD, and I cannot get the trace to join from my SMD transistor to the SMD resistor pad. It originates from the transistor fine, but won't stick to the res. Any ideas? TIA.
-
Generally a Net problem with component pads assigned to different/wrong Nets.
In the image above it could also be a Clearance rule issue too with the trace too close to both pads.
-
Buying pcbcad software is just the beginning whether its free or paid for.
Depending on the circuit pcb layout can be critical or not.
Its worth looking up terms like ground loops.
I designed a pcb for a USB audio mixer. Just laid it out as it came.
PCB came back , I built it up and tested it.
1 VAC of hum on output with inputs shorted.
Clearly something serious had gone wrong.
Schematic looked fine and no DRC errors in the software.
When I dug into it the charging impulses into the smoothing caps were modulating the ground line and that was being amplified by the op amps.
SO back to the drawing board and design a new pcb.
I brought in recitified AAC and into the smoothing caps on then on to the circuit.
I took all the op amp grounds to the zero volt pin from the transformer.
This time negligible hum.
Anyone can throw a pcb together, not every one does it right.
With audio stuff star grounding works for me.
Keep high and low power grounds apart except for one point at the pcb input for zero volts.
-
Generally a Net problem with component pads assigned to different/wrong Nets.
In the image above it could also be a Clearance rule issue too with the trace too close to both pads.
Thanks! It won't let me specify traces < 0.2mm... is that why?
-
Generally a Net problem with component pads assigned to different/wrong Nets.
In the image above it could also be a Clearance rule issue too with the trace too close to both pads.
Thanks! It won't let me specify traces < 0.2mm... is that why?
No, it definitely is a problem in your schematic.
For trace widths: You have to setup minimum clearances and trace widths to match the abilities of the PCB manufacturer. But leave those untouched for now; 0.2mm width & clearance is producable by any PCB manufacturer. It is better not to push the limits anyway. When I create a PCB I usually do this for a .15mm width / 0.15mm clearance manufacturing process but the traces I use are often 0.25mm.
-
Generally a Net problem with component pads assigned to different/wrong Nets.
In the image above it could also be a Clearance rule issue too with the trace too close to both pads.
Thanks! It won't let me specify traces < 0.2mm... is that why?
No, it definitely is a problem in your schematic.
For trace widths: You have to setup minimum clearances and trace widths to match the abilities of the PCB manufacturer. But leave those untouched for now; 0.2mm width & clearance is producable by any PCB manufacturer. It is better not to push the limits anyway. When I create a PCB I usually do this for a .15mm width / 0.15mm clearance manufacturing process but the traces I use are often 0.25mm.
I think I have worked it out now, and it's pretty obvious when I consider it. Connecting pads between components which are not connected on the schematic, ergo the nets are not connected, won't work, else that would be changing the circuit, wouldn't it...
After having sussed this out myself, I saw confirmation of it here, not that it was needed tbh: https://forum.kicad.info/t/how-to-connect-pin-on-pcb-that-was-not-connected-on-the-schematic/23812/4
-
Generally a Net problem with component pads assigned to different/wrong Nets.
In the image above it could also be a Clearance rule issue too with the trace too close to both pads.
Thanks! It won't let me specify traces < 0.2mm... is that why?
No, it definitely is a problem in your schematic.
For trace widths: You have to setup minimum clearances and trace widths to match the abilities of the PCB manufacturer. But leave those untouched for now; 0.2mm width & clearance is producable by any PCB manufacturer. It is better not to push the limits anyway. When I create a PCB I usually do this for a .15mm width / 0.15mm clearance manufacturing process but the traces I use are often 0.25mm.
I think I have worked it out now, and it's pretty obvious when I consider it. Connecting pads between components which are not connected on the schematic, ergo the nets are not connected, won't work, else that would be changing the circuit, wouldn't it...
After having sussed this out myself, I saw confirmation of it here, not that it was needed tbh: https://forum.kicad.info/t/how-to-connect-pin-on-pcb-that-was-not-connected-on-the-schematic/23812/4
Yep, exactly.
While the ratsnest on the PCB looks like it makes no sense it's the important Net connections to help you with the PCB layout. The trick is to look past the ratsnest and visualize traces instead and where they might be run even though the ratsnest connections are all in straight lines.
Once you think you have the layout somewhat sorted use Autoroute to show the the bits that won't work then unroute and improve the layout. Rinse and repeat a few times and it all comes together bit by bit.
After a few layouts you will use Autoroute less and less as experience and the skill of trace visualization grows.
It's all real fun, enjoy the process. :)
-
I began my PCB design learning in February, using KiCad. No idea what I was doing for a while, I thought when looking at the bottom layer I was looking from the bottom. Consequently the first one sided board didn't work out too well (but did work). Second board I designed some pads and 2 layers. Better, but forgot to clean up the screen printing and I left out some text. But it also works. Many problems I had are answered by the documentation. Some by the Internet. And some I still haven't worked out. Third board will be better again. I have no regrets about KiCad, it gets more sensible the more I learn. I just made a simple opto coupler circuit, it isn't a PCB but I dumped the circuit into KiCad, shuffled the bits until I liked the layout, then wired it up on a proto board. There's a lot to learn, but as I go it seems easier to grasp that next concept. My message is don't expect to make the perfect board first time up. It will come. People who learn a musical instrument say the first 10,000 hours are the hardest. You'll get good way quicker than that.
-
Test points.
Once you've done a few repairs the one thing you like to add to your own designs are a few test points which is simple enough to do for TH and often just raising a component lead is enough to make a connection but you can't do that with SMD.
Instead I've found Keystone SMD test points to be very useful as you can place them most anywhere on a Net and assign their pads to it so to not have Net errors.
Your call as to how small you want to get these but I find 0805 a good size to work with as they are just large enough to get a probe hook onto without the need for grabbers if something smaller is used.
Once a design is proven these test points can be removed and used again if there is no need for them to remain on the PCB. Most of the bigger parts suppliers will stock them in cut tape quantities.
https://www.keyelco.com/category.cfm/Test-Points-Surface-Mount/Micro-Miniature/p/523/id/741 (https://www.keyelco.com/category.cfm/Test-Points-Surface-Mount/Micro-Miniature/p/523/id/741)
-
Thank you SO much, everyone who helped. I now have to work out what "power flags" are, and how to attach them to things; this is all a new language to me, replete with a whole new set of words and systems.
-
I now have to work out what "power flags" are, and how to attach them to things; this is all a new language to me, replete with a whole new set of words and systems.
Power flags, power Nets :blah:
Your CAD program should have an assortment of them and if it's any good you should be able to assign custom names to them. Typically you might want a couple of power rails where VDD normally means a digital supply rail and you should be able to edit the name and add a voltage. Likewise with VCC that you might have positive and negative rails of the same voltage as is common with Opamps.
The trick to having the CAD program do all the work for you is to specify the correct power Net for IC supply pins and although some CAD programs hide IC supply pins when schematics are transferred to the PCB all the Net connections will be correct it you've set it all up correctly.
-
I now have to work out what "power flags" are, and how to attach them to things; this is all a new language to me, replete with a whole new set of words and systems.
Power flags, power Nets :blah:
Your CAD program should have an assortment of them and if it's any good you should be able to assign custom names to them. Typically you might want a couple of power rails where VDD normally means a digital supply rail and you should be able to edit the name and add a voltage. Likewise with VCC that you might have positive and negative rails of the same voltage as is common with Opamps.
The trick to having the CAD program do all the work for you is to specify the correct power Net for IC supply pins and although some CAD programs hide IC supply pins when schematics are transferred to the PCB all the Net connections will be correct it you've set it all up correctly.
Ah, well that’s good but I’m still at a loss as to the specifics of what these “power flags” do, and when it’s apt to use them. Any help would be useful, as YouTube is hit and miss as regards finding a specific guide. Thanks
-
The trick to having the CAD program do all the work for you is to specify the correct power Net for IC supply pins and although some CAD programs hide IC supply pins when schematics are transferred to the PCB all the Net connections will be correct it you've set it all up correctly.
Back in the days when logic was powered from 5V, -5V and -2V power nets and hidden power pins where a good thing because you didn't need to draw all the power pins. Nowadays hidden power pins are horrible. Even a simple digital circuit with 3 chips (each 48 pins or less) can have a 4 or 5 power nets.
The nicest things about the power net markers / symbols is that they connect across sheets. A net typically is local to the schematic sheet it is on (like a variable declared static in C). You'll need to use off-sheet ports to transport a net to other sheets. Power nets which use a power net marker / symbol don't need that.
-
The trick to having the CAD program do all the work for you is to specify the correct power Net for IC supply pins and although some CAD programs hide IC supply pins when schematics are transferred to the PCB all the Net connections will be correct it you've set it all up correctly.
Back in the days when logic was powered from 5V, -5V and -2V power nets and hidden power pins where a good thing because you didn't need to draw all the power pins. Nowadays hidden power pins are horrible. Even a simple digital circuit with 3 chips (each 48 pins or less) can have a 4 or 5 power nets.
No worries if you assign them all to the correct IC pins. Who on earth needs to see power rail connectivity in a schematic ? :-//
Assign rail nets/flags to the appropriate pins and supply rails and anyone can follow it.
-
but I’m still at a loss as to the specifics of what these “power flags” do, and when it’s apt to use them. Any help would be useful, as YouTube is hit and miss as regards finding a specific guide. Thanks
If you open the symbol editor (ctrl-e or cmd-e while hovering over the symbol) and then look at the pins (with the E key) you'll see pins say things like "input", "output", "power input", "bidirectional", "no connection" etc. Most ICs have power inputs. You'll connect these to say the GND and VCC nets, which then connect to a header someplace where you intend to hook up power. But the header pins are probably all defined as "passive" meaning they have no function associated with them. So you end up with a lot "power inputs" on a power net, with no "power output" to drive it. The power flag silences this particular rule violation (a bunch of power inputs with no output anywhere on the net). A fancier solution is to clone the header symbol and create your own, change pin functions on the header to reflect your actual use, and then use this symbol instead of the stock header. This also has the added advantage that you won't accidentally say connect the GND header pin to your VCC net or vice versa, which is easily done if you just drop down power flags willy nilly.
-
Who on earth needs to see power rail connectivity in a schematic ?
How else do you know which is the power pin without either seeing it there or looking it up in the datasheet? When debugging some hardware, an unambiguous connection to a specific signal/rail is what I need. Further, with battery and low-power stuff the power pin may not actually be on a power rail, but if it's hidden it's not simple to see that.
One solution is to have a table of pins vs rail off to one side, but that suffers from the same thing as comments in code: you gotta keep remembering to do maintenance on it. And you still have to actually say "This pin connects to that rail" when you really meant 'the other rail' but since no-once can see it after that you won't find out until the hardware doesn't work.
-
Who on earth needs to see power rail connectivity in a schematic ?
How else do you know which is the power pin without either seeing it there or looking it up in the datasheet? When debugging some hardware, an unambiguous connection to a specific signal/rail is what I need. Further, with battery and low-power stuff the power pin may not actually be on a power rail, but if it's hidden it's not simple to see that.
One solution is to have a table of pins vs rail off to one side, but that suffers from the same thing as comments in code: you gotta keep remembering to do maintenance on it. And you still have to actually say "This pin connects to that rail" when you really meant 'the other rail' but since no-once can see it after that you won't find out until the hardware doesn't work.
Again I ask, please take the trouble to incorporate the poster into your Copy/Paste quotes.
Isn't the PSU section also part of the set of schematics ? Well it certainly should be and in doing so every power rail will be labelled and if the designer intended the device to be repairable power rails will be labelled too.
There are choices on how to do this if the designer wants to take the trouble to help with a properly serviceable design and a overlay is the most common used in good designs but marked test points or even symbols in the copper are used if there is sufficient space on the layout.
All these features are in CAD tools if we take the trouble to use them......
Once you've done a few designs you know what things you need to include into both the schematic and layout to qualify as a good serviceable and easy to follow design. However as PCB designs get more compact for whatever reason much of what makes a good design is omitted to fit miniaturization requirements or lower the call on the worlds resources.
However for commercially made products too much info on the PCB gives away some of the manufacturers IP........
-
There are two things that need to be seperated here:
1) Hidden power pins: in modern designs these are a nuisance. Don't do this because it makes a circuit harder to debug due to the many different supply voltages and package variations in existence nowadays.
2) Draw all lines for a power net: don't do this, use power net symbols for this purpose or net labels if you want to save even more space.
-
There are two things that need to be seperated here:
1) Hidden power pins: in modern designs these are a nuisance. Don't do this because it makes a circuit harder to debug due to the many different supply voltages and package variations in existence nowadays.
2) Draw all lines for a power net: don't do this, use power net symbols for this purpose or net labels if you want to save even more space.
Don't normally quote in full, but this can't be said too much :)
-
So am I to take it that labelling the 0V GND & the +5V rail as "POWER_FLAG", one for each of them, it tells the software "derive the supply from here"?
-
So am I to take it that labelling the 0V GND & the +5V rail as "POWER_FLAG", one for each of them, it tells the software "derive the supply from here"?
Simply, yes.
When you place/add a Power flag whatever its name it becomes a power Net and any device connected to that Net will show one of its pads properties as being so.
For an IC that's connected to that power Net you can edit the devices properties to hide power Nets and in some programs you can do this globally and still the connectivity will show when you transfer the design to the PCB.
In a lot of cases to keep the schematic tidy you'll use power flags rather than run power traces everywhere.
-
Could someone give me a clear but definitive explanation of the following, please:
What is a "net", exactly?
What is "mil" and "thou", and how do they differ from millimetres etc?
So grateful, this noob.
-
Could someone give me a clear but definitive explanation of the following, please:
What is a "net", exactly?
What is "mil" and "thou", and how do they differ from millimetres etc?
So grateful, this noob.
Technically a Net is each and every connection between components. However a power Net can of course connect to many components. Some such as GNG and power Nets need be named and for IC's their power pins should be assigned to the appropriate Net.
Mil = thou = 1/1000th inch
~40 mil = 1mm.
Mil is a US term as in Milli inch I believe whereas thou is of European origin.
-
Technically a Net is each and every connection between components.
Just to be a bit clearer on that, think of a net as a signal. There should be at least two connections to components, possibly more.
-
Technically a Net is each and every connection between components.
Just to be a bit clearer on that, think of a net as a signal. There should be at least two connections to components, possibly more.
A better analogy to a net is a wire that connects components. In the end a PCB is just that: wires between components.
-
Maybe. A wire implies point-to-point whereas a signal may have many connections. Indeed, a connected signal may comprise many wires.
-
For beginners a CAD package with lots of design rule checking is good.
Maybe even a Gerber viewer too, to be sure the output is what you expect.
There are a wealth of packages out there now from crap free to good free to paid a little and to pay a lot.
-
Thank you SO much, everyone who helped. I now have to work out what "power flags" are, and how to attach them to things; this is all a new language to me, replete with a whole new set of words and systems.
First: a "net" is the term for a connection between two or more pins.
A "Power Flag" is Kicad's mechanism to fix an issue that comes up in Electrical Rules Checks. (ERC is in schematics, Design Rule Checks or DRC are in PCB.)
The pins on schematic symbols can have electrical types, like Input, Output, Open Collector, and so forth. For power connections there are Power In pins and Power Out pins. Most of your ICs have power pins, and those get a Power In type.
Any pin that's a Power In must be driven by one (and only one ...) Power Out pin. After all, the goal is to provide an admittedly primitive way of checking connections: all power pins have to have a power source, right?
When you place a Power Symbol (like +3V3 or +5VA or the like) from the Power library, you add a global net (same net on all sheets in the design) with that net name (+3V3, +5VA, whatever) to the schematic, and you connect that net to the pins on which you place that symbol.
Here's the rub, though, and it's somewhat non-obvious. The Power symbols are a one-pin symbol, and that pin is declared as a Power In type. It is not a power source. This makes sense, when you think about it: all the power symbol does is to declare a global net. It does not "drive."
The output pin of an LM317 regulator is a Power Out pin. When you connect that pin to a Power symbol, you have satisfied the ERC requirement that all Power In pins on that net must have a driver.
But what if your board doesn't have a regulator, and instead you have a connector through which you get your supply voltage. Say you get your supply from a board-to-board connector, or a Phoenix connector with pins, or whatever. Connectors are usually designed with their pins designated as Passive, because you don't know how they'll be used from one design to the next. So you place your connector on your board, connect a Power symbol (+3V3, etc) to the pins you designate for supply voltage, and you run ERC. And it fails because there is still no Power Out pin driving the power net.
This is where the Power Flag comes in. A Power Flag is a one-pin symbol and that one pin has a type Power Out. (Like a Power symbol, it has no footprint and doesn't appear on the BOM.) When you place a Power Flag on the undriven supply net, the Power Flag provides that driver. Run ERC and it will be happy because now your +3V3 net has a Power Out pin driving it.
Other uses for Power Flags include:
1. Say you have an AC mains plug connected to a transformer, and the transformer drives a diode bridge, and the diode bridge drives your LM317's input pin. That pin is a Power Input. A diode's pins are of type Passive. So while you "know" the LM317 has a power input, the ERC doesn't know that. Place a Power Flag on the net that connects the bridge output to the 317 input, and now the 317 has a proper Power Out driving it. ERC is happy.
2. Say you have a switching regulator with post filtering, and you connect that filter output to your +3V3 rail by placing a Power symbol on it. Now you have a global net with name +3V3 and that's connected to all of your logic chips' voltage supply pins. The filter components have Passive pins, so ERC thinks that all of your logic devices' Power In pins have no driver. Place a Power Flag on the +3V3V rail somewhere and now ERC is satisfied.
Don't forget: ground pins on your ICs and such are designated as Power In also, so your GND net must also connect to a Power Out pin. In the cases described above, you will need to put a Power Flag on that net to satisfy ERC.
Is this a hack workaround? I don't know. I don't care. It is a clever solution to a problem. Of course you could always just not use the ERC feature and Kicad won't care, but why? It's there, use it.
-
I think I have worked it out now, and it's pretty obvious when I consider it. Connecting pads between components which are not connected on the schematic, ergo the nets are not connected, won't work, else that would be changing the circuit, wouldn't it...
A DRC check should throw up any wrong connections.
If you use the rats nest to start with wrong connections shouldnt happen.
-
I have made PCBs for over 40 years now and I am "starting" for the 25th time once again with KiCAD and YouTube:
https://www.youtube.com/results?search_query=pcb+design+tutorial+for+beginners (https://www.youtube.com/results?search_query=pcb+design+tutorial+for+beginners)
https://www.youtube.com/results?search_query=kicad+pcb+design (https://www.youtube.com/results?search_query=kicad+pcb+design)