[HN Gopher] Getting Started in KiCad 7.0 ___________________________________________________________________ Getting Started in KiCad 7.0 Author : _Microft Score : 98 points Date : 2023-10-07 10:34 UTC (12 hours ago) (HTM) web link (docs.kicad.org) (TXT) w3m dump (docs.kicad.org) | 15155 wrote: | I moved from KiCad to Altium: Altium is 100x slower, but I am | substantially more productive. | | KiCad desperately needs a stackup-aware constraints system, | differential impedance/trace width computation, multi-trace | routing, etc. in the same way that Altium has. I wish I had time | to add the features I want: KiCad is so much more pleasurable to | use on average. | snvzz wrote: | Seems nice. Yet desperately needs dark mode. | z2h-a6n wrote: | If you mean that KiCad needs dark mode, this can be done using | a combination of GTK (or QT?) color themes, which are | associated with your system configuration, not KiCad, and color | themes for the editing tools, which can be changed in the | preferences menu. I found some reasonable options here [1], but | if you're picky (like I am), you can write (or generate) your | own. In the current version of KiCad, you can choose between | themes (files in the appropriate directory) with a drop-down | menu in the KiCad preferences, rather than editing the default | configuration. | | [1]: https://github.com/pointhi/kicad-color-schemes | snvzz wrote: | Yeah, I sorted out the kicad part. | | I meant the linked article specifically. | z2h-a6n wrote: | Ahh. In that case, this [1] is my (browser-specific) | solution. The results are not always great, but they're | generally not bad. | | [1]: https://news.ycombinator.com/item?id=30628457 | [deleted] | spamizbad wrote: | Works in dark mode on my machine (uses QT/GTK darkmode setting) | klysm wrote: | Love KiCad. It's enabled me as a complete armature to get custom | PCBs made without an insane learning curve. | stn8188 wrote: | I love that this document gives a very complete overview of all | the steps that go into creating a printed circuit board! I always | say, KiCad is easily better than any ECAD tool you can buy for | $1,000 or less. They also have a better built-in library than | I've ever encountered in a paid tool, which is worth a lot if | someone just wants to crank out a quick project. | cushychicken wrote: | Kicad is good enough for 95% of all circuit designs. Maybe 99% | in version 7 - haven't really pulled the bandaid off yet in | that regard. | | If you're working in a big team, or making really complex stuff | like telecom equipment or server motherboards, then I can see | the appeal of shelling out for PADS or Altium with their | library management and package automation tools. | | But, I've designed hardware on a consulting basis before using | Kicad as my EE CAD package of choice. It was more than enough | for my needs. That includes simple two layer boards all the way | to pretty complicated six layer embedded Linux systems. | | I particularly like that it comes with an embedded 3D viewer. | Coming from only ever using ORCAD before that, it was a huge | breath of fresh air, and significantly cut down on the number | of connector mistakes I've made since. | crote wrote: | KiCad has been significantly improving its library management | lately. With 6.0 it got a Plugin and Content Manager, | allowing you to trivially add external content libraries to | it. The 7.0 release added support for ODBC-based Database | Libraries, allowing you to hook it up to basically any | database you want in order to provide part metadata. | | Personally, I thought 5.0 was a big pain to use. With 6.0 it | actually got kinda decent, but I still had to write custom | code to work around a few of its warts. However, 7.0 shows | that it is rapidly moving towards being a serious threat to | the proprietary market leaders, and I can't wait to see what | the future will bring! | sho_hn wrote: | The 7.0.x point releases have also consistently addressed a | lot of little quality of life pain points and bugs. | | It's really all so enjoyable to observe from the armchair. | I'm not embedded into the Kicad community/project, but it | certainly feels like the momentum is there. | | I love these tentpole moments/projects in the overall | fabric of the industry, when an open source project reaches | "momentum escape velocity" after sticking around long | enough to snowball and eventually eclipse the proprietary | alternatives in terms of sheer scale. For example, it's | very hard to outcompete the Linux kernel for general | applications now simply because everyone's working on it, | and no single company can build and retain a team that can | outcompete an entire ecosystem, outside of picking very | particular battles (e.g. QNX<>Linux). | | Cynics will point out that this often describes an area of | software simply commodity-fying enough that FOSS can now | catch and keep up, and pragmatists will point out that the | commercial packages often still retain a key feature for | e.g. a leading edge/high-end application you can't get from | anything else. But be that as it may, it's still beautiful. | | I like to identify and start watching the projects that may | be on the verge of becoming this in their particular | domain. For example, Blender may get there or is already | there. Could Krita? 20 years from now, could this be Bevy | for the game engine space? There's usually certain markers, | e.g. healthy governance (this is what gives the project the | legs to make it long enough), good mission statement, | hygienic tech stack, that sort of thing. | | For young programmers, this is the type of project to find | and join. You end up running an industry when you grow up, | and, if that's important to you (there can be other | priorities, e.g. shipping important products in general), | your hard labor won't die and disappear one day with a | company. | [deleted] | jan_Sate wrote: | The main limitation I've encountered with KiCad is its | component library ootb. Anyway those can often be downloaded | from third party websites. | leptons wrote: | It's not a limitation at all. There are no PCB design | programs that have every part ever manufactured in the | library. At some point you're going to have to make a PCB | footprint yourself no matter what software you use. Pretty | much all datasheets have explicit measurements of the | footprint layout. Even better if you have the physical part | and some calipers. | sho_hn wrote: | Has there ever been an attempt at a good standardized | machine-readable exchange format for datasheets in general, | btw? Feels to me like it still all comes down to authoring | tools for making pretty PDFs, and while there's something | to be said for the universality of a good ol' paper-style | doc made for human eyeballs, but it's also silly (not to | mention error-prone) for Engineer A to use a SW package to | make a schematic for a datasheet PDF, and Engineer B then | reading it and inputting it back into a SW package. | | I assume many vendors also offer parts libs/files in EDA | formats, but are those proprietary or is there any de-facto | standard like Gerber files? | | It'd also be nice to browse datasheets' other contents in a | consistent interface right in the EDA or in a web app | instead of dealing with a zoo of PDFs in vendor-specific | styles. | | Maybe it's this kind of thing we'll automate using | LLMs/models ... give it a description of the scripting API | of the EDA, give it the PDF, make it map a footprint from | one to the other. Or to a standard format. For back | catalogs that could be useful ... | leptons wrote: | >I assume many vendors also offer parts libs/files in EDA | formats, but are those proprietary or is there any de- | facto standard like Gerber files? | | It would be great if part manufacturers would just make | the footprint files and 3D files available for the parts, | because I have no doubt that in 99% of cases the | manufacturer has those files somewhere. I've tried to | social engineer this out of some companies with very | little success. I don't care what format they come in, | I'll get it sorted out. I have collected an arsenal of | file format conversion tools. | | >Maybe it's this kind of thing we'll automate using | LLMs/models | | I have no doubt that at some point in the future you'll | just give the AI the PDF and it will spit out a PCB | footprint in any file format you want. We're not close to | that though. | sho_hn wrote: | > I've tried to social engineer this out of some | companies with very little success. | | Maybe part of the inertia is that it pays too many | people's meals, since you can buy this as a service ... | | https://resources.sw.siemens.com/en-US/technology- | overview-p... | crote wrote: | That's not really a limitation for professionals, though. | | Built-in component libraries are _always_ going to be | incomplete, and literally all of them kinda suck. | Professional PCB designers almost always have to either | create their own footprints from the datasheet, or get them | from someone else who did. Trusting third-party footprints is | probably the easiest way to end up with fundamentally broken | prototypes which are nothing more than fancy desk decorations | - I can unfortunately speak from experience. | | The built-in libraries are basically only used for trivial | things like resistor footprints, 2.54mm headers, or solder | jumpers. KiCad's libraries are more than good enough for | that. | ilyt wrote: | Footprints are less of an issue than schematic library. If | you need to say tailor-make QFP-48 footprint that might be | some work but you will likely reuse it for multiple parts. | stn8188 wrote: | While I agree with crote's reply that this isn't a limitation | at all for a professional, I'm surprised to hear your | opinion. Of all the libraries that come with tools, I find | KiCad's to be the highest quality with regard to footprints | (in addition to having a ton of them available). Perhaps the | symbol libraries are more limited, but that being said, I've | never found a mistake in KiCad's library. I've definitely | found mistakes in the built-in Altium libs. To be fair, | Altium started getting much better after their acquisition of | Octopart, and it started to be easier to find things through | the built-in search. | SV_BubbleTime wrote: | As a professional that lays outs boards about twice a | year... | | I have never understood the concern about the built in | library. Professionals barely use it. You MIGHT use it for | some SMDs, but that's about it. Everything else you are | going to get or make or download the specific footprint. | iancmceachern wrote: | Have you used Diptrace of Flux.ai? | | I've personally enjoyed using DipTrace, very intuitive and easy | to pick up, it's far less than $1000. I've been hearing good | things about Flux but haven't tried it myself yet. I hear it's | not complete, but coming along quick. | coder543 wrote: | Comments like that are hard to respond to. The topic here is | KiCAD, but you haven't addressed whether _you_ have given | KiCAD 7 (or 6) a real try. Without that information, and | without understanding what you didn 't like about KiCAD, it's | hard to address these other options, and you don't really | even mention what you actually like about DipTrace. | "Intuitive" and "easy to pickup" are arguably properties of | KiCAD, for anyone familiar with schematic capture and PCB | design. It used to be harder, but tons of effort has been | poured into KiCAD for many years now. | | Why would anyone _want_ to use an old, proprietary program | like DipTrace when KiCAD is free, cross-platform, open | source, and arguably just plain better? DipTrace has a Mac | version, but all of the discussions I see online indicate | that it _still_ hasn't been updated to work properly on Apple | Silicon. | | It's been probably 7 or 8 years since I last saw someone | using DipTrace, and I wasn't impressed then. It's also $995 | for the full version (the closest to KiCAD's feature set), | which is hardly "far less" than $1000, but the absolute | minimum version I would even consider would be $400. I'm | amazed at how their website seems to be exactly as I remember | it from so long ago. | | Looking through their marketing site, I literally don't see a | single thing that is better than KiCAD. I personally just | don't understand why anyone would buy DipTrace in 2023. So, | it's hard to respond without just coming off as dismissive. I | wish I could provide a more balanced comment that makes it | seem like DipTrace is still competitive, well-maintained | software... but that isn't what I believe. I'm sure it's fine | for basic use cases, but KiCAD is great for those use cases | and so much more. | | Flux seems gimmicky at first, but browsing through their | materials, I am at least impressed at the effort they seem to | be putting in. They even had a comparison page against KiCAD, | but this attempt to sell against KiCAD ended up being some | disappointing nebulous statements that didn't seem to have | much merit, apart from the real time collaborative nature of | their product, which seems to be their one actual advantage. | | Different people can have different opinions, of course, but | KiCAD is great quality software with a lot of momentum. | | If you want to share what features you like most about | DipTrace, or what you think it does better than KiCAD, that | would certainly be interesting to hear. | iancmceachern wrote: | I've tried KiCad, but not the latest version. | | Using Diptrace I've appreciated the reasonable pricing $150 | for thr lite version), the online library integrations have | been working well for me both in ease of finding what I | need and dropping it right in, but also in the quality of | the footprints, etc. | | I also prefer thr UI interface. Many ecad solutions are | clunky and old school to use in their UI. In Diptrace the | whole thing is basically achieved by left and right | clicking, selecting from context menus. | SV_BubbleTime wrote: | I used DipTraxe. There is absolutely zero comparison. | DipTrace had some fair ideas but is 20 years behind the | leading edge. | | Dump it. | | Inlaid out an 8-layer board with diptrace... ABSOLUTELY NEVER | AGAIN. | stn8188 wrote: | There aren't too many ECAD/PCB tools I haven't at least | played with a bit... Diptrace has some neat features but | overall I can't quite get used to their design flow and | library process. I know Stephen Kraig from the MacroFab | podcast extols its virtues often, which is why I tried it out | in the first place. | | As for Flux.ai, that one is new and I've been out of the pure | PCB world for a little bit so have not messed around with it. | To be honest, I'm not a fan of browser-based tools, | personally. Even Altium 365's new features (though some are | certainly useful), take some getting used to - I suppose I | don't really like the "data in the cloud" prospect that much. | That being said, I did link Flux.ai first on my recent survey | of AI/ML-based PCB tools [1] as they seem to be quite far | along. | | The problem is that PCB design tools all lie on a spectrum | from "jump in and design the board right away" to "you'd | better spend a while getting your libraries and environment | ready to go". Tools like PADS seem to be more towards the | latter, while Altium and KiCad are closer to the former. | OrCAD is probably around the middle or so. It can be tough to | give a tool a fair assessment if it takes more effort to get | going on a design. | | [1] https://wiki.shielddigitaldesign.com/High_Speed_Design_Wi | ki/... | dragontamer wrote: | I think KiCad is suitable for beginners, even if you haven't | breadboarded yet, but note that Breadboards exist to give you | lots and lots of practice before you start spending money on | PCBs. | | Each PCB is a bit of money after all, and if you are inevitably | going to make a mistake it's better to breadboard. | | But as far as difficulty goes, things like KiCad exist for a | reason. Computer automation and checks help, as well as parts | libraries for you to download/copy rather than building your own | footprints. | | So feel free to start KiCad + ordering boards the moment you are | willing to lose money on your mistakes!!! It's not any harder | IMO. Just costlier. | | ---------- | | As far as learning Kiad, this guide is good but it's missing the | broad overview IMO. So here's my broad overview: | | 1. Build symbols representing each chip or part you plan to use. | Standard parts (like resistors) already exist in KiCAD7.0 | library, but inevitably there will be a few missing parts for | your project. This may be called symbol editing, but perhaps it's | more accurate to call it pin-naming. | | 2. Hook up the parts together in the schematic editor. Double | check symbols and their pinouts now. Fix symbol mistakes now. | This creates a computerized set of nets (connections) that KiCad | will try to enforce moving forward. | | 3. Choose the footprints for every part in your schematic. | Beginners should probably use 0805 (inches) parts or larger. | (equivalent to 2012 metric). Like #1, there is a footprint | library for common parts, but you will inevitably have to create | at least one or two footprints of your own for your personal | projects. Footprints tell KiCad where pins are located physically | (inches or mm) here vs there. | | 4. PCB layout begins. KiCad has a 'rats nest' based on your | schematic. As long as #1, #2, and #3 are correct (ie: correct | symbols / pinouts, correct schematic, and finally correct | footprints) you probably can't make a mistake anymore. Assuming a | low speed beginner circuit anyway (the professional would focus | on physical issues like heat, noise, EMI, crosstalk and other | such issues. Beginners can likely ignore all of that assuming you | chose a suitable beginner project). | | By step#4, KiCAD knows the name of every pin (#1), which pins | should be connected to which pins (#2), and where each pin is | located physically (#3). All that's left to do is draw your wires | together in step#4. | stavros wrote: | I'm not sure why you position things as if it's either KiCAD or | breadboards. Whenever I've designed a PCB, I've gone from | breadboard, to schematic, to PCB (the last two in KiCAD). The | breadboard is a necessary first step to make sure that the | circuit works in the real world, not just in theory. | _Microft wrote: | I would even recommend decoupling the processes a bit. That is | - start with a known good schematic, ideally one that exists as | KiCad schematic already (look for KiCad projects on Github). | Practice creating a board outline, placing some parts and | routing traces, make yourself familiar with the tools around | that (how to deal with layers; how to use the design ruler | checker; the 3D preview to find blatant mistakes with | connectors or so; how to export the files (if necessary - | Aisler accepts KiCad files for example)). If you want, export | it and order it. At JLCPCB that should be $2/2EUR + shipping if | five pieces and HASL is good enough. Then maybe enter a known | good schematic oneself. Then create a simple circuit on | breadboard, turn it into a schematic, enter that. ... | chunkyks wrote: | I'm brand new to this. I've got a relatively simple schematic | from the 1950s I want to reimplement, to have a functioning | thing on my desk. | | As you say, a few parts are missing (particular vacuum tubes). | Unfortunately, every time I start implementing stuff in kicad, | that's where I get overwhelmed... And to someone who's not a | hardware guy, I'm completely stymied. Can you suggest what I | should do? | dragontamer wrote: | Each of the steps I outlined above, #1, #2, #3 and #4, are a | new set of keyboard buttons and GUIs to learn for KiCad. | | Yes, it's a lot to take at once. But fortunately, you only | have to move forward one step at a time. | | -------- | | Maybe starting at #2, Schematic, would be the only 'out of | order' thing I'd recommend. There might be enough library | parts to fill out a large section of your schematic (or maybe | not...). | | Inevitably, you will have to tackle #1 (symbol editor) and #3 | (footprint editor) before you finish #2 and start step #4. | | --------- | | I agree it's a lot to take in at once. But after you do all | four steps and understand them, there is a sense of order and | process. Especially as #1 (setting the pinout on a symbol), | #2 (saying what pins are connected) and #3 (saying which pins | belong where physically) are all accomplishing computerized | checks to make #4 less error prone. | | It's a lot of info to tell KiCad, and any other PCB editor | will need all this information as well, so none of it was | wasted effort. | | It's just a lot of up front complexity that really is | intimidating. | | --------- | | #2 schematic editor might be a good starting point because | it's what you expect to do. #1 and #3 are somewhat | unintuitive steps. | cushychicken wrote: | This original article is a pretty complete reference for | everything you need. | | Consider keeping it open as you try to achieve your | recreation. | _Microft wrote: | Or read a section first (e.g. how to create a footprint or | symbol) to better understand what is happening and then | watch a tutorial video of someone doing exactly that to see | it in action. | squarefoot wrote: | Can you share the schematic? I'm not familiar with KiCad or | other similar software, so take this with a grain of salt, | anyway I think that for simple schematics, especially that | old, meaning all tht parts, single side pcbs, unless one is | recreating a complex circuit, probably the "by hand" approach | is a lot faster than using software. | numpad0 wrote: | I think you can just use CONN_01X00 pin header parts to | represent tubes on the circuit schematics, then define just | the footprint for the tube, either from its datasheet or | ANSI/ISO/DIN/GOST connector specification. Then that | footprint can be assigned to corresponding J0 on the imported | PCB file. You can also print the PCB to visually test | fitment. That might not be the correctest way but nor should | be the wrongest approach. | | One of the most confusing things when I started using KiCad | is its two main features, EESchema and PCBnew, are basically | two independent open source projects. So they're not tightly | coupled, but works by importing and exporting files and | manually assigning items in one side to the other. | magicalhippo wrote: | For me it helps a lot to get some one-on-one to get me | rolling. | | Consider findig a makerspace nearby and see if they have some | courses or people willing to help. There's one in my town and | they have an active slack and weekly "maker evenings" where | it's easy to get help. | | Alternatively find some online communities where you can get | some help. | | As an example, this[1] YouTube channel has some great videos | on layout and more with KiCad, as well as a very nice Discord | community with newbies and professionals. I'm sure there are | others, but that's where I got some great help when I got my | feet wet. | | [1]: https://www.youtube.com/c/MicroTypeEngineering | unsung wrote: | A couple people had some great comments that should get you | started; I'd just like to add that you don't need to do | everything at once either and your workflow can be flexible. | When I'm making a board with weird parts, I like to first | just go into the symbol editor, make a new project library, | and draw out whatever I need for my project with the correct | pin assignments. Then at least you can focus on copying the | schematic over and getting the ball rolling. | | Once you are happy with the schematic, and parts are roughly | placed where you want them on the board, you can go ahead and | jump into the footprint editor, make a project library in | there with the same name, and draw the physical copper layout | for your tubes or whatever else to attach to based on | datasheets or caliper measurements. Then you run footprint | assignment to match up all the symbols with their | corresponding footprint, and update the PCB to populate it | with parts to lay out. Once the parts are placed logically | where routing will be sane, follow the ratsnest connection | lines to get your board routed. | | Last you want to go to your manufacturer's website, look up | all their specifications on board construction [0], and make | sure all their recommended design rules and board stackup are | plugged into board setup. This may mean going back and | changing some trace sizes, trace placements, vias, and so on | to pass design checks. Later you will do this earlier, but | it's better not to get bogged down at first and just start | designing, and you'll learn why things are routed as they | are. | | After this, spend time inspecting your board, looking for | errors, making sure all checks pass and everything makes | sense after a few reviews. Then export your gerbers and drill | maps and send the zip to your manufacturer. | | It's a little daunting at first because there are just a lot | of steps between a schematic -- essentially a cartoon version | of what your circuit will be, and a layout -- what your | circuit will actually look like. You don't have to do every | step at once and once you have the schematic drawn, you can | just keep adding to it until you have something that works. | | [0] https://docs.oshpark.com/design-tools/kicad/kicad-design- | rul... | beckingz wrote: | Start by building a prototype proof of concept on a | breadboard or prototyping board! | z2h-a6n wrote: | In addition to the other recommendations in the thread, it | may be useful to learn how the whole process works (KiCad, | ordering or making PCBs, and assembling everything) with an | even simpler circuit with just a few components. Making a | simple battery + LED + resistor + switch circuit would | involve learning almost the same amount about KiCad etc. as a | more complicated circuit (within reason), with a lot less | opportunity to be overwhelmed by component selection, PCB | layout, etc. It would also be fairly cheap to make mistakes, | since the PCB could be quite small and would probably cost | only a few dollars even from a fairly high-end PCB | manufacturer (I like OSH Park, but they can be expensive for | large boards; see pcbshopper.com for price comparison). | amelius wrote: | I installed KiCad 7 on Ubuntu using Snap. | | But my KiCad files are on a harddrive that is not my "/" drive, | and Snap doesn't allow KiCad to read those files. I tried with a | bind mount, but then the symlinks in my project files don't work | ... | | Now I'm thinking of compiling everything myself, but it seems a | daunting task. | fanf2 wrote: | Install the .deb from | https://www.kicad.org/download/details/ubuntu/ | amelius wrote: | Thanks!! | klysm wrote: | My advice is always to never use snap. If I have to use ubuntu | for something, the first thing I do is uninstall it. | kevin_thibedeau wrote: | Just compile it from source and install into the /usr/local | tree. It is a pain free process. ___________________________________________________________________ (page generated 2023-10-07 23:00 UTC)