I want to adjust this PCB so that I can get all the through hole parts wave-soldered. The only issue with the current design is that I am using components to represent the footprints of the Teensy and the TMC2209 boards. That’s nice so that I easily move the layout around without worrying about messing up the footprint. But, when it comes to manufacturing, now I can’t assign headers to these rows.
Anyone know of a sneaky way to make a component with sub-components? For example a Teensy component that has two 24x1 female header sub-components that load into the BOM and PnP automatically. Or do I just have to make use individual header components and make sure they stay in the correct position on the layout?
I’m using Fusion electronics which may be limited… Definitely considering moving to another software for the next iteration.
It’s obviously not essential—just curious to see if there’s a better way to do it
There’s downloadable desktop versions of EasyEDA standard or Pro too, both free. Lots of export options so doesn’t feel too locked in. Guessing desktop is thin Electron wrapper of the web app, so, if you don’t like the UI generally, then, you won’t like the downloadable EasyEDA versions either. Gets easier with use imo.
Don’t want to derail your topic too much… But am curious to hear perspective/preferences of folks that have recently used both EasyEDA and Kicad enough to order board(s) using both packages? Bar at Maslow uses EasyEDA too.
Yeah true. The main benefit of EasyEDA for me is the integration with the JLC parts system, though. There would only really be a part or two that I would need otherwise. And I don’t think it would be too difficult to make a custom component…?
Yeahh I tried this for a second, not amazing experience. Would probably just use normal version over this.
Ah, so your issue is that you’ve only got a single logical component but fundamentally it’s 2x sub components? With my CM I’d just send a note explaining it and they’d adjust it on their end. Alternatively you can sometimes play games with marking some components non-BOM so they don’t get populated and others as mechanical so they don’t have a PCB presence. That’s a bit ugly. Another option would be to do them manually.
How I’ve done it in the past is to make a non-BOM ‘alignment’ component where there are markers for the pins/pads on a mechanical layer and whatever extra silkscreen I needed. I think import the actual parts and place them using the targets from the alignment component. It’s a bit more manual but within Altium I can just choose to either make a component group or union which keeps them fixed in location relative to one another.
From what I’ve seen, EasyEDA is good but it’s still fundamentally quite a basic tool. KiCAD seems to have a lot more of the features that would be found in higher end packages so that’s where I’d be going if I were looking for an alternative to Altium.
Fundamentally, though, if your BOM has the right components on it and there are obvious footprints, these boards will be hand stuffed so chances are it’ll just work out.
Yeahh, it seems like at face value people tend to prefer KiCad for the most part. The only benefit EasyEDA would provide me is the automatic integration with the LCSC parts database—which does honestly seem quite helpful.
I don’t know if this was just some professional snobbery or not but when I recently asked for a quote on the Jackpot from my CM they asked if I could give them part numbers that weren’t from LCSC and said they would never use that supplier. Apparently they have a history of supplying defective/low quality parts, although I have no idea if that’s a hangover from a decade ago and they’ve improved or something that is currently happening. They’re notably lower price than other suppliers so that would theoretically mean more exposure to the lower-cost side of the supply chain and the issues that brings such as ghost shift parts, people selling QC rejects or even just flat out fake/dummy parts.
They were quite emphatic and assured me several times that they would never think of using such a supplier for any of my designs… Take that for what you will!
KiCAD does seem to have a very good integration with other suppliers such as Digikey from what I’ve heard. Personally I’ve always leaned towards using western parts from known manufacturers even if only for their better documentation, but my situation isn’t particularly cost sensitive. It’s usually not ‘that’ much of an issue to go through and find lower cost alternates once a design is finished as the coverage is pretty good with generics being available.
I don’t think there’s anything ‘wrong’ with using EasyEDA and it certainly seems remarkably quick and easy to get going with. For me I just dislike the idea of the being ‘locked in’ to a particular supply chain or workflow in any particular way. As free things go, I’d always prefer and open source solution, too. If it’s free and closed source, well, you’re just paying for it in a different way. In this case by it being awkward to escape the JLC/LCSC loop.
fyi - as a KiCad user, you can still get away with this integration using easyeda2kicad - it will auto-fill all the right parameters and grab a symbol/footprint for you - I use it pretty frequently when trying to design for their catalogue.
That said, some of their symbols and footprints are wonky - always worth a look at the datasheet in any case
Ohhhh, search that looks useful!
I was also told there was a good plugin for the jlcpcb Library, and a couple not so good ones does the one you mentioned also handle the library or is it just for importing?
I will say browser based is nice, I frequently use different computers and that makes things very easy for me to pick up where I left off, vs using dropbox, onebox, etc.
Yes there is Bouni plugin, but I never used it - it’s not too hard to generate the outputs for JLC anyway, so I have a python script that I run as a github action to do it for me (makes it easy to tag a release so I know exactly what I sent out for fab).
I’m not sure what you mean by handle the library - easyeda does not really update their parts from what I have seen - but all of the easyeda parts are grouped in a single folder (one file for symbols, and a subfolder folder containing each footprint, additionally a folder for 3D models).
I use github for managing my projects - if you are familiar with git, kicad v9 has native support for it- makes it very easy to manage your projects, roll back when things go south, etc. I share my work across 4 computers using it. Definitely not as user friendly as drag and drop but the benefit you get is huge. Learning to use it properly totally changed how I manage my personal projects and I don’t need to worry about keeping track of the correct versions of things, losing files, etc.
I use Kicad for several years now and regularly prepare designs to be manufactured at JLC (just PCBs, and PCBs+assembly).
I really like the constant progress Kicad makes. There is a major version of Kicad released about every year and they really add useful features each time. And since Kicad is a fully open source program, I’m confident that I’ll be able to continue to use my data without any vendor lock in, mandatory subscription licenses or similar things getting in the way.
Regarding preparing data to be manufactured at JLC I there is easyeda2kicad as mentioned. This takes care of importing part libraries in cases where the standard libraries Kicad comes with don’t suffice. This is often handy for parts that are only available from Chinese vendors. When the Chinese vendors clone a western part, there often is the original part in the standard Kicad library and this often has a better data quality than what is in Easyeda, like symbols drawn in a logical way.
There is another aspect, and that is preparing the data to be sent to JLC or other manufacturers. This is creating the Gerbers, but also the BOM and position files. You can do this by hand, but there are many options to select from and if you aren’t careful something in the process can go wrong. Also the position files often need a custom part rotation applied.
For these problems I can really recommend the Kikit plugin. It fully automates creating a panel from your design, and you are able to fully script creating all the manufacturing files, including custom rotation angles. This reduces the possibilty of errors sneaking in. Kikit has all the formats required for JLC preconfigured, so it is just one command and you get a directory filled with all necessary files.
Git can work pretty well but I’ve always found it a little bit clunky for binary projects. For work and personal use I’ve used Git, SVN, sharepoint, Dropbox, a NAS, all sorts.
For me the best option is just being somewhat disciplined with file naming and structure and then using Dropbox. The sync is automatic, you’ve got history for recovering from mistakes, it handles conflict well enough but you won’t really get any if you’re on your own, etc.
On the other hand, Git was always a source of frustration whenever something wouldn’t get uploaded and then it’d need to be manually merged, although that can be handled by things like Smart git. It can also be somewhat slow and cumbersome when you end up with larger binaries or things like complicated .step models of parts. You can end up spending a lot of time watching the pull/push dialogs. It always felt like I was trying to make it do something it kinda didn’t want to, but then I wouldn’t really consider myself much beyond ‘competent’ with it.
Those are some good suggestions about scripting any design outputs. That’s always a great idea because it’s something you only need to get right once and then it repeats for the future. You can also end up with different scripts depending on where you’re sending the files. We used to have to do that for PCB manufacturers that accepted different versions/settings of gerber although pretty much all import tools seem to be automated enough to no longer trip over that particular issue.
It is absolutely designed for text files with incremental changes with each version. Git lfs or something that can handle large binary files takes away some of the pain. But if you have a 10MB file and you make 100 small changes, checking out a new copy of the repo takes a 1GB download. Compared to text files where only the changes between files is stored in the git files and you’d be closer to 10-20MB, depending on how much you changed each time.
Git-lfs (large file system) is good for holding a history of build products that are binary because you only download the binaries you actually want (which is usually just the latest). But you should be diligent to not check in too many binaries, or it still becomes a hassle.
Dropbox (and any NAS) is not useful for concurrent editing, which Git is incredible at. If you’re used to working by yourself, then Dropbox would be way easier and better than Git.
Git’s real strength is when you have multiple people working on the same text file and they are in pretty disconnected environments. For the Linux kernel development, they are all over the world and sharing patches via email. For me, we had an office with a half dozen engineers and a field trailer where 5 more were sharing a hotspot to connect to the home office. We could share commits between each other in the trailer and one server in the trailer would sync changes back to the office where people would run unit test and simulations. Git cannot be beat for cases like that.
Git is also pretty useful because of sites like github or gitlab. The functionality there for sharing code between people is great. It has builtin issue tracking, releases, github actions, previews, etc. It also has a lot more credibility with open source developers than dropbox.
I agree for text or anything that can be merged cleanly using tools called from Git.
I very much disagree for anything else. In my experience it ends up working out about the same for binary files or anything where you can’t use a specific merge tool. We used it for libraries and it was fine for concurrent editing because each component was a separate file. As long as no 2 people were working concurrently on the same file, it was fine. Same thing with a NAS, Dropbox, SVN or Sharepoint, etc.
No question Git is good for other uses, that’s just very much not what this conversation is currently about.