6 ms·
> Why do people always ask for this? It's a feature only newbies use Because when you market a tool as "Easy to learn", "from beginners to experts", and "For e
by slabity 3y ago
> Why do people always ask for this? It's a feature only newbies use
Because when you market a tool as "Easy to learn", "from beginners to experts", and "For everyone", then I would expect some decent newbie-friendly features.
Honestly as a non-professional who makes PCBs that are almost exclusively "connect this pin to this other pin over here", this kind of comment comes of as a bit unnecessarily condescending in a "I don't need this feature, so nobody else should need it either" type way.
- Alupis 3y agoI don't think that's a fair position to take. PCB design is complex - there are very few complex tasks that can be whittled down to a single click of a button with good results. Take software for example - newbies can and do write code, but it's rarely good or error-free. Codeless solutions have appeared - but there's good reasons even those aren't used often. Any auto-routing feature is going to appeal to absolute beginners, and few if anyone else. So, we're asking a FOSS project to spend a tremendous amount of time building in a good-enough auto-routing feature that only a small portion of their audience will ever actually use, or use more than once. If your board is simple enough for auto-routing to provide value to you - then I would assert your board is simple enough for you to spend 30 minutes doing the layout yourself.
- deepspace 3y agoIt's been 30 years since I was working closely with PCB designers, but back in the day, the professional CAD folks would absolutely run the autorouter first, and then use that as a starting point to tweak the layout. I would have thought that autorouting would have improved in all that time, but from this conversation, it sounds like it has become worse. What gives?
- syntheticgate 3y agoI'd suggest design complexity has scaled at a faster rate than the autorouting tech. In a closer-to-DC world years ago, optimal routing was nice but often not a requirement. In today's high-speed designs, proper routing can be the difference between working and not working, and there is a constant battle of constraints and trade-offs that humans can deal with more effectively. Attempting to constrain a complex design such that an auto-router can be successful can often result in an over-constrained problem which then makes the auto-router unsuccessful. More focus on hybrid routing tools where there is some automation going on while a user routes things is typically were you get much more useful help in modern ECAD.
- dvdkon 3y agoBack then, many boards used to be routed with vertical traces on one layer and horizontal traces on another, "Manhattan routing". Somehow, the circuits worked. Nowadays you can't be so "careless" to hit EMI targets or even to get a working board. Switching PSUs, data buses, clock signals, all those have spacing, impedance control, ground coupling and other requirements. Maybe you could encode all of them in the schematic and then let a modern algorithm suggest a board layout, but in practice nobody seems to do it that way (note that I am just a hobbyist with limited experience).
- RF_Savage 3y agoAnd the eighties computers with low cost two layer boards and complex designs like that on them are one of the reasons why all products have to pass FCC Part 15 radiated emissions EMC tests, not just the intentional radiators. The old computers were rather bad on that front.
- ajford 3y agoGotta say your comment is either from the point of view of a subject matter expert who's forgotten what it's like for newbies or hobbyists, or someone who's just condescending. PCB design is complex, but the kind of boards a newbie or hobbyist is likely to design using a fresh tool like this wouldn't be. Hell, most signals under a few MHz are quite tolerant of shitty routing and would be just fine. I worked with an RF engineer who'd been in the field since the 70s, and he'd always use the auto-router for anything "slow". If it was "digital dc" or digital logic or under a MHz then it was auto-routed because he didn't have time for that. Anything critical that carried RF or drove a reference was hand-routed first then anything left would get the auto-routing treatment. And this was in a radio astronomy observatory!
- Alupis 3y agoI disagree. Learning the tools and skills to do a task is the default assumption for anything - be it riding a bike or building a SaaS. If you cannot commit a few minutes to learn how to route correctly, then you really are just "hoping" for something magical to work. Would you take the same position in software? Almost certainly not - because it is complex. Sure, there's plenty of no-code or low-code platforms out there - but why are they not more popular? Because they universally suck and their target user quickly "graduates" into real coding. People asking/demanding auto-routers are asking a FOSS project to commit a lot of time and resources (because it's not trivial to implement!) to a feature a very small subset of their userbase will ever use, and will also be the most negatively impacted by said tool when it fails them without them realizing. Seriously, if your board layout can be done by an auto-router then it is a trivial board and you should spend a few minutes learning the basics. There is nothing but upside in doing so.
- carbotaniuman 3y agoI think this comment made a lot more sense in a world without ChatGPT and Copilot - the popularity of those things are off the charts!
- Alupis 3y ago
- ShadowBanThis01 3y agoNobody's asking it to design a complete, multi-layer PCB. I'm a pretty-near total noob and I would think that a 2-D auto-router that would at least optimize the orientation of components for the fewest trace conflicts might be possible and useful. Don't you think it'd be possible to create such a thing, which would also create labeled solder points for jumpers where traces needed to cross? Maybe "rat's nest" already does this; I don't know what that is.
- Alupis 3y agoThe main issue is the auto-router has no idea what any of the components are or what their requirements are. It just knows roughly physical dimensions and it's connected nets (traces between pins). These component requirements aren't something that can easily be "programmed" into the tool either - every component has it's own requirements, and they're not just electrical (such as needing certain amount of space around a component, or not placing next to other types of components, etc). Without that knowledge, it's impossible to create a good auto-router/layout tool. The tools often just stack components as close together as physically allowed by the necessary traces. For very trivial stuff, it might work ok. Anything else, no chance unfortunately.
- ShadowBanThis01 3y agoYeah, that's too bad. With enough (in other words, complete) info, this seems like exactly the kind of thing computers should help us with.
- dbrgn 3y agoRatsnest means that you have thin lines indicating which pads need to be connected. You can see them here: https://librepcb.org/features/board-editor/board-branching.gif https://librepcb.org/features/board-editor/board-branching.g... You start out the board deisgn by orienting your parts in a way that there are as few intersections as possible. Then you draw the connections, and the ratsnest lines disappear one by one. If you have intersections, you need to route around the part, or work with multiple PCB layers to get rid of them.
- Aurornis 3y ago> Honestly as a non-professional who makes PCBs that are almost exclusively "connect this pin to this other pin over here", this kind of comment comes of as a bit unnecessarily condescending in a "I don't need this feature, so nobody else should need it either" type way. It’s not meant to be condescending. Virtually everyone who starts doing PCBs goes through a phase where they think that it must be “easy” to press a button and get everything laid out and connected. Countless developers have tried to create software to do that over the years. Maybe some day it will come to fruition, but the reality is that autorouting just isn’t very useful for setting up entire boards. I think beginners get confused because they think the schematic connections contain all of the information needed to properly route a real board. Then you get into the real world and realize that you need to select connector locations in a way that make sense, place capacitors to minimize loop area, orient components to keep parasitics minimized on important nodes, make traces bigger where you need high current or better heat dissipation, and so on. Which is why it’s not condescending to say that autorouting/autoplacement isn’t useful. It’s just a reality of making PCBs. You have to do a lot of manual decision making at layout time that isn’t easily automated away. I have used autorouters for certain buses, but I have to set up the constraints in detail and steer the routing myself still. There is no autorouting/autoplacement that will make good boards for you, even though everyone goes through a phase where they assume it must exist.
- eternityforest 3y agoRouting isn't the hard part though. The hard part, by far, is finding and checking footprints, and physically assembling the board. I hope they add autorouting, but I would much rather have more parts libraries, access to the part supply house APIs, more 3D models, better tools for verifying that your design will be pick and placed the way you think it will and there isn't something inexplicably upside down because of a bad footprint file, etc. Hobbyists often like to do more analog stuff with discrete parts than I do, so SPICE simulation in a way that's as easy as the Falstad sim may be important. I don't think there's any true beginner friendly open sims out there, ideally you'd have a one-click way to fuzz all the components and see how everything behaves with noise in every wire, bad connections everywhere, 60Hz buzz getting in, etc, so you could verify it still works in the worst case of crappy counterfeit parts and loose connections.