Readit News logoReadit News
hales · 3 years ago
> Pack & Move Footprint Tool

This is the biggest usability improvement on the list. Computers are good at menial sorting, humans hate it.

For those not in the know: your nice, organised schematic gets turned into a randomly assorted pile of parts when you first open the PCB editor. Now imagine your board has over a hundred parts, including lots of duplicated copy+pasted bits.

My workarounds have been to:

1. Number the parts with special codes/prefixes to make manual untangling and grouping faster. 2. Import parts into the PCB editor as a draw the schematic. It's annoying extra work (the schematic undergoes lots of changes) and requires you to assign valid footprints from the start (so your work is constantly interrupted by having to draw missing ones OR your assign invalid ones and forget to fix them later).

sleepytimetea · 3 years ago
They listed it at the very end of the Release Notes but its a killer feature - I have been struggling with the random packing of components onto the PCB when the first export to PCB is done. It almost made me delete most of the schematic and then incrementally add to schematic and then make it add to PCB but its such a pain.

This new Pack and Move feature seems like a life-saver, since we can use it anytime to add components to a selection with Shift-select and then that will pull it into the other desired grouping area on the PCB.

eternauta3k · 3 years ago
I made a simple script which lays out the components in the layout like in the schematic, so it's not so confusing when starting out.

https://github.com/ignamv/kicad_scripts#place_footprintspy

aix1 · 3 years ago
When choosing how to lay out footprints during packing, does KiCad take into account electrical connections between them?

(This does sound like an extremely useful feature either way, but I'm curious.)

junon · 3 years ago
It appears to now, yes. It didn't before. One of the bigger headaches (for me, as a beginner) was when you had bypass capacitors that need to be physically as close to an IC as possible. However, the two pins go to a voltage source and ground. According to Kicad, those could be placed anywhere on the board, and have no direct relation to the IC itself. This meant you had to carefully find each capacitor by its reference and move it to where it needed to be - often it was packed somewhere completely irrelevant. Now it appears to be much simpler since you can select the components from the schematic and pack them together in the PCB editor, saving a lot of time.
aylons · 3 years ago
Long time since I last used it for complex board (life is weird), but the way I do it is to crossselect the part from the schematic. I remember earlier versions used a local socket between the layout and schematic tools to allow for that.

Really indispensable. Not sure how the current feature works, but for things like power supply capacitors that are electrically connected to tons of ICs and pins but logically belong to one specific pin, I can't think of a better approach.

amelius · 3 years ago
I'm still on version 5 due to apt/snap issues, but what I miss the most is a way to place footprints of a group of components (as opposed to placing them all at once).
contingencies · 3 years ago
I'm still on version 5 due to apt/snap issues

I'm still on 5.1.x as snapping is broken. Not apt/snap, but proximity snap. In 5.1.x the best way to place a group is to use https://github.com/MitjaNemec/Kicad_action_plugins 'replicate layout' (components and traces). See also, right click and Select ... Same schematic sheet (components only).

chuchana · 3 years ago
Version 7 doesn't seem to have made it to either of those yet, but have you considered installing a newer version through an additional package manager like Guix or Nix?
the__alchemist · 3 years ago
From a skim of the website, I'm surprised they don't have a Linux binary to download, but there is a PPA avail. Or, you could compile from source if the dependencies aren't too messy.
varispeed · 3 years ago
I wish they made migration easier. I'll probably use KiCad 7.0 for new projects, but for old I think I need to stick with 5.1.

When I import most projects to 6.0, I get so many errors, violations and whatnot that make no sense when taking a closer look so I just don't trust it.

Pet_Ant · 3 years ago
Did you report those? Even try to make a minimal reproducible file that triggers the error? Might be a simple thing they can fix if pointed in the right direction.
mastax · 3 years ago
IIRC in V5 I used to use subsheets simply because each sheet would cluster its components together.
robomartin · 3 years ago
We said goodbye to Altium Designer when KiCad 6.0 was released. Altium’s focus and resources shifted towards trying to turn AD into a cloud-based tool. As a result the software people actually wanted to use suffered. Every release introduced a plethora of new bugs. Nobody really cared for cloud EDA. Altium thought they would be able to sell the company to Autodesk. This almost happened. In the end that did not happen.

KiCad 6.0 easily covered 95% of PCB design needs, if not 98%. With 7.0 things are better yet. At this point, I can’t see people paying thousands of dollars per year for maintenance on tools like AD. It makes no sense at all.

fest · 3 years ago
> It makes no sense at all.

Don't underestimate the inertia of processes at established companies. If a company maintains a part library, if the company has more than a few EEs- it can be a multi-man-month effort with potential for costly mistakes.

I like KiCad very much, I use it professionally but I also was the one that mandated AD to be the tool everyone at $WORK must use for production designs a few years ago- solely because it was the common denominator CAD that all EEs at the company/time knew to some degree. The cost of having production designs in a mixture of CAD tools was definitely larger than a few Altium licenses.

Now, if that was a new/my own company, I would mandate KiCad or GTFO.

snovv_crash · 3 years ago
Absolutely, a couple years ago KiCad wasn't ready for production use, even just a day a month of hitting some obscure issue would have paid for the AD licences, never mind the better part libraries etc. Now of course you'll need the AD licences to work on old designs anyways so it's tricky to transition.

Over the weekend I put together a toy project with a few ICs and maybe a dozen passives in KiCad and I was amazed to see how easy everything was. And now with a new release they're probably fixing things I hadn't even been annoyed by yet.

Hopefully having an open codebase means we start seeing some nice autoplacement and autorouting trickle in from hobbyists and academia, like we've seen in the 3D printer slicers world.

robomartin · 3 years ago
> Don't underestimate the inertia of processes at established companies.

I understand. The approach we took was to start new designs on KiCad and leave prior work on AD, unless a port is absolutely necessary.

All of our libraries are created using custom tools we wrote nearly 20 years ago. The good news is that these tools can be updated to regenerate the libraries for KiCad. That’ the power of a part description data structure that is independent from the EDA tool.

Starting with KiCad version 6.0 I saw no compelling reason to throw money at AD for the shit job they have been doing maintaining their software. At the end of the day people vote with their wallets. For me this isn’t about free at all. It’s about tool quality and other parameters. We are donating money to KiCad because it is going in the right direction. Altium is not. We were with them for over 20 years. They took us for granted. Goodbye.

claxo · 3 years ago
>I can’t see people paying thousands of dollars per year for maintenance on tools like AD. It makes no sense at all.

I started to use Kicad at v5. Some interesting projects in v4 did not load clean. v6 was released, it had some problems to load v5 projects. And now v7 seems to not load some v6 projects.

If the AD story for support loading old version projects is good then I think they will do fine.

bbayer · 3 years ago
I want to learn PCB design, mostly with ARM and ESP based designs. How would I learn basics? I know theory part but I really couldn't figure out why they determine which component and which value they have to use. I mean there are resistors, capacitors all over the place but I really want to learn reason behind it. Also I guess there are some basics related power, battery, UART, USB etc. Is there any source that covers all of these concepts?
qiqitori · 3 years ago
There are certain usage patterns that you will find all over the place, e.g.:

- Current-limiting resistors

- The resistor divider (two resistors between e.g. 3.3V and GND. The point between the two resistors will be between 3.3V and 0V, depending on the resistor values. Sometimes you need a certain voltage. For example to bias transistors.

- Delays, using a resistor and a capacitor. The values will determine the delay.

- Capacitors next to oscillators

- Filters, using a resistor and a capacitor. The order and the values will determine the cutoff frequency.

- Most capacitors on a PCB probably sit right next to a chip. Often, at least one per chip. They get rid of noise already on the line, and act as short-term energy storage for the chip next to it.

- Decoupling capacitors to get rid of the DC component of a signal (i.e. if there is a signal fluctuating between 4.5V and 5.5V before the cap, it'll be -0.5V and 0.5V behind the cap. Often, you need to add a DC component and later remove it, so that's two capacitors already.

Hnus · 3 years ago
Obvious but it never occurred to me that experienced person sees far fewer parts than layman when looking at the board, for expert its like yeah "file read there", "serialization here" (if I were to use programming analogy) but layman sees gazillion little parts magically working together.
nyanpasu64 · 3 years ago
"if there is a signal fluctuating between 4.5V and 5.5V before the cap, it'll be -0.5V and 0.5V behind the cap" if there's a resistance to ground after the capacitor. I've accidentally planned an audio amp with input decoupling capacitors, didn't add ground resistors before the capacitors, so if you plug it into an audio output with DC-blocking capacitors but not resistors to ground, the voltage in the middle could be anything.
MobiusHorizons · 3 years ago
Also worth mentioning are pull-up or pull-down resistors. They give a pin a default state when nothing is driving the pin. You will often see them on reset pins and on inputs from buttons.
magicalhippo · 3 years ago
> I mean there are resistors, capacitors all over the place but I really want to learn reason behind it.

There are some good YouTube channels that go into this. EEVBlog[1] has made a lot of really nice videos about the fundamentals, as has w2aew[2]. And I found MicroType Engineering[3] to be a good source of practical information on designing circuits.

Capacitors next to ICs are almost always for decoupling[4]. Similar to how the cistern in your toilet provides a large amounts of water in a short amount of time without affecting the water pressure in the rest of the house, hence decoupling the local water flow from the main supply, decoupling capacitors can supply a lot of current for a short amount of time.

However what values to use can seemingly be a bit of a black art[5], not helped by the fact there's so much outdated information and rules of thumb out there from the days of through-hole components which just doesn't apply to modern surface mounted components (like needing multiple different values).

On the other hand, resistors on a data line can be there to protect against ESD events[6], for example.

Some of it might be a bit more advanced than what you need right now, but there's definitely some good stuff for people starting out. If for nothing else highlighting areas you should be aware of.

[1]: https://www.youtube.com/@EEVblog/playlists

[2]: https://www.youtube.com/@w2aew/playlists

[3]: https://www.youtube.com/c/MicroTypeEngineering

[4]: https://www.youtube.com/watch?v=BcJ6UdDx1vg

[5]: https://www.youtube.com/watch?v=k7aPb585Y6k

[6]: https://www.youtube.com/watch?v=6OxE06n6n44

OJFord · 3 years ago
Also Phil's Lab, especially for PCB design specifically (though he covers schematics too, I'd say it's typically not as beginner-friendly/a faster-paced run-through so you understand what he's laying out).
sircastor · 3 years ago
Make: Electronics by Charles Platt will take you through all the whys and wheres, starting at the very basics. I highly recommend it.

Also, I'll recommend the "Follow the example" approach of just looking at the data sheets for various components and modules. Especially stuff like the Arduino Uno - It's got a microcontroller, and then everything around it is just support. You start to see patterns where there (for example) a 10uF and 0.1uF Capacitor around power inputs. And they're everywhere so even if you don't know why (yet) you do know that you need capacitors around power inputs.

mypalmike · 3 years ago
I started by building a programmable mechanical keyboard based on this macropad tutorial (see link). If you want to simplify it somewhat, replace all the microcontroller circuitry (oscillator, capacitors, USB interface, etc.) with an Arduino, and use through-hole diodes. It's a really cool feeling to finish your design, order custom PCBs from jlcpcb, do a bit of soldering, and end up with a useful, working keyboard.

https://wiki.ai03.com/books/pcb-design/page/pcb-guide-part-1...

mwaitjmp · 3 years ago
I followed this to make a very basic PCB and had it shipped to me, worked fine. Guides you through all the basic steps with KiCad.

https://youtube.com/playlist?list=PL3bNyZYHcRSUhUXUt51W6nKvx...

tkuraku · 3 years ago
Read the datasheets. They usually have recommended layouts and configurations.
Gracana · 3 years ago
Yes, this is the way. Datasheets and application notes will tell you nearly everything you need to know. If you don’t understand why something is done or how something works, look it up at that point. Starting from fundamentals is going to be a much slower path than just following manufacturer examples.
connicpu · 3 years ago
For designing with basic components I recommend starting with microcontrollers on a breadboard. There's plenty of great youtube channels that talk about this stuff as well, like GreatScott and Ben Eater
bruckie · 3 years ago
Phil's Lab on YouTube has great PCB design tutorials that cover how to think about layout and design, how to use Kicad, and even how to turn your design into a real product.

https://youtube.com/@PhilsLab

Tryffel · 3 years ago
So you want to learn electronics? I suggest that you take the time to actually learn the theory behind it and learn how resistance, capacitance, inductance affects the system. It is hard but helps a lot. If you want to understand digital systems, then learn how digital basic components work and how you combine them to create more complex systems. Had electronics as my major in my bachelor's degree, and the mental model is really important when it comes to electronics, and the only way to really understand it and get the correct mental model is by repeatedly analyzing the networks and the change over time (resistance,capacitance,inductance) and all of sudden it makes perfectly sense!
jnovek · 3 years ago
Underlying theory is important, but seeing practical examples that _explicitly applies theory_ has been critical in my particular electronics adventure. There are more ways to apply Ohm's Law (or Kirchhoff's Laws) than you can shake a stick at and seeing someone explicitly do the math and apply it while explaining a circuit that I am interested in has helped me get better at applying it.

I think the hardest things for me so far been (a) getting my head around the idea that everything in a circuit is happening all at once (rather than iteratively like an algorithm) and (b) "input" and "output" are convenience terms, e.g. an opamp can sink current through its "output". Both of these insights have come from seeing real circuits analyzed on YouTube.

dave78 · 3 years ago
In addition to the other replies which list a number of good resources, I've found reddit.com/r/PrintedCircuitBoard interesting to watch. It's mostly people asking for reviews of their projects, and there's a lot of tips and tricks to pick up in the review comments.

You can also see a nice progression there from beginner PCBs to more advanced things.

Deleted Comment

SOLAR_FIELDS · 3 years ago
This feels like a major step forward, not for the software itself (although it probably is) but for the release schedule. KiCad 5 came out in 2018. KiCad 6 was long delayed and waterfalled and did not come out until late 2021/early 2022. And now only a year later we see KiCad 7. Seems like release engineering is coming more on lockdown which is super great news!
cushychicken · 3 years ago
Pretty sure Kicad Services Corp is a big factor in the tighter release cadence. Seth Hillibrand and co have done the best job of “Red Hatting” Kicad and becoming a professional services org that supports Kicad users for a fee.

Also helps them guide and drive development of wanted features. I’m convinced there’s no way ODBC support would have happened without it. That’s a feature no hobbyist or maker would care about- it’s specifically geared towards people who collaborate with other engineers and component sourcing departments.

delfinom · 3 years ago
Not to diminsh KSC as Seth and Wayne are trying to expand things here and there.

But ODBC support was by Jon Evans (https://www.kicad.org/blog/2022/12/Development-Highlight-Dec...), who is a lead developer but not employed by KSC. He works elsewhere and added it for his own benefit and that of his buddies elsewhere.

The tighter release schedule is something everyone wanted, just because v6 got too unwieldy.

inamberclad · 3 years ago
The forced workflow is a feature IMO. In a production engineering scenario, it's very helpful to have tools that enforce some level of best practice. Especially since the time and money to rework incorrectly designed circuit boards can prohibitive.
cdcarter · 3 years ago
A built in command line interface for exporting BOMs/netlists/gerbers is incredible. It's probably not going to be as powerful as Ki-Bot at first, but I'm going to try and integrate it into my GitHub actions asap.

And, the new dragging behavior is obviously what we should have had from the start. Going to make doing quick drawings much easier.

anujdeshpande · 3 years ago
Yes! Pretty psyched about the `kicad-cli`. Software CI/CD feels miles ahead of of hardware CI/CD - stuff like this is awesome for pushing forward on that front
sschueller · 3 years ago
I am using this feature to auto test and build gerbers for jlcpcp as well as ibom via gitlab ci for all my pcb projects. Very cool.
_fizz_buzz_ · 3 years ago
Is there a good guide how to use git with kicad? Right now I just copy folders with version numbers. Using it in github sounds like a neat way. Which files should be in my gitignore?
blutack · 3 years ago
KiBot [0] is super handy for this, the documentation has an explicit section on CI/CD usage.

It does have to basically script drive the GUI to achieve some functionality which has now been added to the kicad cli, so hopefully going forward CI/CD with KiCad will be even easier!

0: https://github.com/INTI-CMNB/KiBot

mastax · 3 years ago
I use cadlab which is a PCB CAD specific Git host. It's okay. Visual diffs and such.

My gitignores don't have anything special. They ignore the *-bak files that kicad makes.

Now that kicad has a stable sort order for its files the diffs are pretty clean and git works pretty well.

sleepytimetea · 3 years ago
Kicad is excellent - I found 6.0 to be much improved and more useable than the version I had previously. I just downloaded 7.0 and it already is a LOT snappier and happier with loading the symbol libraries. I need to check if there have been any improvements in the auto-router integrations - it was pretty rough the last time I tried it out.
bpye · 3 years ago
I guess it depends what you're doing. I haven't tried the autorouter, but I've found the push and shove routing is pretty good.
kayson · 3 years ago
How are parts libraries? I see that there are a bunch on github maintained by companies like Digikey. It's been a while since I did a pcb design but my last was using jlpcb's online editor and I was pleasantly surprised how easy it was to do since they had a massive public parts library.

I used to use eagle back in the day but stopped being a fan once it was bought/ruined by autodesk. I hate managing parts libraries.

myself248 · 3 years ago
Managing the files and folders and paths in KiCad should be considered a war-crime. Symbols here, footprints there, 3d models somewhere else entirely by default, would you like to centralize your parts or have them portable per project? Can't have the best of both worlds, sorry!

(Edit to add: Oh yeah, any time you click to change a file, any environment variables you had in the path get replaced with the absolute path, so things which had been perfectly resilient against path breakage get brittle again automatically!)

Actually making footprints, though, is super easy. If I have a datasheet, I don't even bother searching for a footprint from someone else (which was probably badly translated from some awful interlingua format), I just make my own.

Bonus if I can find a 3d model of the part. (I work with more connectors than chips, so these are frequently available.) Makes it super easy to doublecheck my footprint, and then I can see housing clearance and stuff in 3D as I lay out the board. Kicad is really, really good at this now.

delfinom · 3 years ago
>(Edit to add: Oh yeah, any time you click to change a file, any environment variables you had in the path get replaced with the absolute path, so things which had been perfectly resilient against path breakage get brittle again automatically!)

Where? Many of the editing fields are supposed to resolve paths back to variables when possible.

the__alchemist · 3 years ago
I use built-ins for KiCad when avail, or make manually using DSes otherwise. (Schematic and footprint). You can also download from certain websites, but I've found those are hit+miss; overall had an easier experience doing by hand, even though that sounds bad. I'll usually start by C+Ping a similar one. I have a separate KiCad library with its own Git repo for footprints, and one for schematic parts.
mordae · 3 years ago
I use app.ultralibrarian.com and snapeda.com. There is also https://github.com/DasBasti/lcsc2kicad that automates downloading and converting footprints from LCSC for Kicad to use. It is handy as well.
iancmceachern · 3 years ago
Autodesk totally ruined Eagle
sircastor · 3 years ago
I just got used to using KiCad 6!!

I'm absolutely delighted that KiCad is as usable and continues to be developed on. I remember a time not too long ago where the Mac version was tragically unmaintained. I now do all my EDA in KiCad. I'm not a professional EE. All my stuff is hobbiest, and relatively amateur, but it's so nice to have tools that are so flexible.

delfinom · 3 years ago
>I just got used to using KiCad 6!!

Then you'll be just fine, we didn't rock the boat on interface/interaction like 5->6 was.