[HN Gopher] LibrePCB
___________________________________________________________________
LibrePCB
Author : WallyFunk
Score : 172 points
Date : 2023-09-28 19:23 UTC (3 hours ago)
(HTM) web link (librepcb.org)
(TXT) w3m dump (librepcb.org)
| gorenb wrote:
| This is exactly what I was looking for.
| geppetto wrote:
| Looks exactly like Kicad...
| regularfry wrote:
| Looks like it's (at least) got faster feedback between
| schematic and layout.
| AYBABTME wrote:
| I wish there was some "here are basic building blocks to achieve
| XYZ" for real beginners who just want to hack something together.
| E.g. I would like a 48VDC-48VDC battery-to-battery charger, but I
| have no idea how to get started. I'm sure this is a fairly simple
| design (I guess boost voltage and then do CC/CV).
| alexose wrote:
| It would be cool if someone borrowed from the Factorio
| interface and let you paste in blueprints. I'm not an
| experienced enough PCB designer to know how terrible of an idea
| this is, but it sounds mildly feasible.
| valdiorn wrote:
| Is this PCBWay challenging JLCPCB and EasyEDA? Looks like it. I
| welcome it, EasyEDA and the super slick integration with JLCPCB
| is a killer feature and the reason I use JLC exclusively for all
| my boards.
|
| If this works well I might give PCBWay a try.
| mchannon wrote:
| For the record, I export from EasyEDA to Gerber to PCBWay all
| the time.
|
| PCBWay less likely to run into issues with weird design
| features and parts specs, but they are slower and more
| expensive.
|
| Elecrow also takes Gerber's from EasyEDA.
| dbrgn wrote:
| LibrePCB is not developed by PCBWay. They started supporting
| the project last year:
| https://librepcb.org/blog/2022-09-08_partnership_with_pcbway...
| Other fabs support it too (namely Aisler) by donating a share
| of the income from orders submitted from LibrePCB.
| distract8901 wrote:
| I'm extremely skeptical of any company that does as much
| advertising as PCBWay, but they seem to legitimately do a good
| job. From what I can tell, it seems every single order is
| reviewed by a human who sends you an email if something is off.
| Quality is as good as you'd want and the price is reasonable.
|
| Their website is an atrocity but I guess that's fine.
|
| I've been using them for the last few months and I have no
| complaints.
| cushychicken wrote:
| Spoken like someone who's never actually ordered from them.
|
| PCBway is among the better board fabs in the world -
| certainly in terms of customer service, and very hard to beat
| in terms of value for money. The fact that they get you quote
| and acceptance in under an hour (during US working hours!) is
| incredible.
|
| American board fabs could learn a thing or two from PCBway.
| They set a very high standard in terms of service. I'm very
| impressed by it.
|
| I wouldn't send a server motherboard or a radar frontend
| design to them (for a multitude of reasons - ITAR controls
| likely forefront among them) but most circuit designs aren't
| in that league of board design. Most are two to six layers
| and 300 or fewer parts placed.
|
| PCBway does pretty superlative work serving that niche.
| coder543 wrote:
| > Spoken like someone who's never actually ordered from
| them.
|
| Spoken like someone who didn't read the comment they're
| replying to?
|
| The person you're replying to said PCBWay was good. Quoting
| that comment: "they seem to legitimately do a good job"
| "Quality is as good as you'd want and the price is
| reasonable."
| LeifCarrotson wrote:
| That's really the killer feature for you?
|
| I do have the advantage of one lab back in college where a pro
| spent 90 minutes instructing a bunch of teenagers how to
| prepare Gerbers for a class project through Advanced Circuits,
| but beyond that I've had no problems sending files to OSH Park,
| JLC, PCBWay, Sunstone, or Advanced Circuits whether they were
| generated in Eagle, Kicad, or Altium.
|
| Even at the low-margin providers like JLC and PCBway they still
| have a human look over your gerbers (and most provide web
| viewers for you to see what you've uploaded in those files) to
| make sure you're not going to order the inverse of your board,
| or make all your vias unplated, or swap your copper and
| silkscreen layers, or anything goofy like that. If you do screw
| up the design, that's on you and the tools won't help, but
| prices are dirt cheap and turnaround times are screaming fast
| these days, so it shouldn't be too bad.
|
| I don't understand why newcomers find plotting to gerbers so
| intimidating.
| chinabot wrote:
| integration with LCSC for parts and assembly is a killer
| feature though. I loved getting my PCBs back but then if you
| need to solder on dozens of 0603 caps and a BGA package it
| just became another thing to get wrong.
|
| As my eyes and coordination are not as good as they were
| hitting buy now and having fully assembled boards come back
| for basically the cost of the parts and the PCB was game
| changing for me.
| LeifCarrotson wrote:
| JLC-LCSC integration is pretty big for small-volume users,
| I'll agree. But you can do that with Kicad/LibrePCB just as
| easy as making boards.
|
| You could always have fully-assembled boards come back for
| basically the cost of the parts...as long as you were at
| quantity 10k units. Hooray for automation!
| dbrgn wrote:
| Just a few days ago, version 1.0 was released. Release blogpost:
| https://librepcb.org/blog/2023-09-24_release_1.0.0/
| kachurovskiy wrote:
| Do we have a ChatGPT-style workflow for PCBs on the horizon yet?
| AdamH12113 wrote:
| I think there are too many steps with too many opportunities
| for failure and too little training data for such a thing to be
| feasible for the foreseeable future. Almost any small error of
| the kind that GPTs produce can prevent your board from working
| or destroy components. Picking the wrong part number or
| connecting the wrong pins is a hard fail that costs a fair bit
| of time and money to fix. Softer error like picking the wrong
| capacitor value for an RC filter or using bad trace routing
| would be tricky to debug.
|
| Maybe a better approach would be to have an LLM generate RTL
| code for an FPGA.
| stn8188 wrote:
| Definitely not GPT-style, but there are quite a few examples of
| ML/AI integration with EDA. For example:
|
| Startup looking at a post-layout DFM check workflow:
| https://cadstrom.io/
|
| Cadence is probably the biggest EDA company talking about ML/AI
| in the PCB space (that I've noticed) with their recently
| announced "Allegro X" stuff. The videos are mostly marketing
| fluff, but they seem to be on track with what I'd expect for
| "AI assisted PCB design".
| https://www.cadence.com/en_US/home/tools/pcb-design-and-anal...
| https://www.youtube.com/watch?v=RlWfSQq0NkA
|
| They also have a neat machine-learning optimization tool for
| their electronics simulations:
| https://www.cadence.com/en_US/home/tools/system-analysis/opt...
|
| On the chip-design side of EDA, both Cadence and Synopsys have
| a bunch of AI-assisted tools that supposedly are being used
| right now. I'm not as familiar with that stuff so I prefer to
| read the humorous Deep Chip summaries:
| http://www.deepchip.com/items/0593-08.html
|
| And lastly, there's some recently published and soon-to-be-
| published work showing that there's potential to speed up
| electromagnetic simulations with neural nets. It's all just
| proof-of-concept for now, but I'm hoping this proves that ML/AI
| can be can be integrated in a useful manner in commercial
| electromagnetic solvers :)
| https://shielddigitaldesign.com/posts/2022/ml-replace-field-...
| https://shielddigitaldesign.com/posts/2023/s-param-from-via/
| synergy20 wrote:
| https://easyeda.com/ is another alternative that has PCB
| factories backing it up.
| phkahler wrote:
| "A LibrePCB library is more than just a collection of stupid
| graphics for symbols and footprints"
|
| This lack of professionalism is a bit off-putting to me. Just
| saying, don't put stuff like that on your front page.
| [deleted]
| anamexis wrote:
| I don't read it as unprofessional, just the opposite of "smart"
| in the sense of "smart light bulb" vs "stupid light bulb"
| OJFord wrote:
| I was going to disagree with you (not least because 'dumb' is
| the established antonym) - but it is under the heading 'smart
| library concept', I think you're right, and maybe it's the
| victim of translation.
|
| (There's some other word choice that's correct and makes
| sense, but seems a little unusual, that makes me
| think/supports that.)
| Zambyte wrote:
| What makes you think their goal is "professionalism"?
| kube-system wrote:
| Developers and sponsors who support the project as part of
| their profession.
| [deleted]
| bvanderveen wrote:
| > No online account.
|
| Among the nerds, the backlash has started. Watch out, Fusion 360.
|
| In the world of doing stuff with atoms, no one ever wanted their
| drafting table to have authentication, ACL, 2FA, or
| storage/backup.
| ShadowBanThis01 wrote:
| Where did that quote come from, and what's your point?
| ShadowBanThis01 wrote:
| [flagged]
| coder543 wrote:
| The quoted text is literally on the exact webpage that is
| being linked to, above the download button.
| jpm_sd wrote:
| A feature comparison against KiCAD and Horizon would be helpful?
|
| https://www.kicad.org/
|
| https://horizon-eda.org/
| dbrgn wrote:
| The FAQ does not contain a direct comparison, but might answer
| some questions: https://librepcb.org/faq/
|
| One of the main "selling points" is the advanced library
| concept: https://librepcb.org/features/library-concept/
| bsder wrote:
| There are two types of PCB designers:
|
| 1) Those who believe in library managers
|
| 2) Those delivering boards on a regular basis
|
| The vast majority of time in PCB design is spent reading
| datasheets. The second largest chunk of time is spent doing
| the engineering schematic design and analysis. After that is
| PCB placement. After that is building schematic and PCB
| symbols. After _that_ is actual routing.
|
| Yes, building library symbols annoys me. It's tedious and
| error prone. However, it's integral to your design and you
| can't skimp. The sooner you accept that, that better off you
| will be.
|
| (A good example is your vias underneath a QFN for power and
| heat transfer. If your via rules change because you have a
| different board house, some of your physical symbols may need
| to change slightly. This sucks, and no library manager is
| ever going to solve this.)
| junon wrote:
| I agree with you. That doesn't mean that Kicad's library
| system is great, though. It's bananas annoying to deal
| with.
| bsder wrote:
| _Every_ PCB library manager is bananas annoying to deal
| with. Altium 's was no better, IMO. Nor Orcad's.
|
| Library managers for PCB design have all the same
| pathologies as bug ticketing systems in software
| development.
| Animats wrote:
| The usual questions:
|
| - How comprehensive is the part library?
|
| - Is there auto-routing? How good is it?
|
| - "Import formats: DXF". For what, the board outline? DXF is for
| mechanical CAD. You can't import a board layout or schematic that
| way.
|
| - "Export formats: PDF, SVG, pixmap, BOM, pick&place,
| Gerber/Excellon". None of which have enough info for import into
| another EDA program. This thing is very self-contained, which is
| unusual for an open source program.
|
| This seems to be is a marketing tool for some board maker. _" At
| this time, you can choose either AISLER or PCBWay as the PCB
| manufacturer. With every order you start with LibrePCB Fab (or
| direct .lppz upload on the AISLER website), they will make a
| 'donation' to the LibrePCB project."_
| Findecanor wrote:
| > DXF is for mechanical CAD. You can't import a board layout or
| schematic that way.
|
| There have been times I have wished that I could import DXF as
| footprints in Kicad because it was easier to draw complex
| shapes in QCad or Inkscape. I think it could also be useful to
| import object placement/orientation data from a DXF file and
| snap to those when placing components.
|
| For the latter use-case, I have instead written placements by
| hand as code in a Python script and made that output both DXF
| and Kicad files.
| SV_BubbleTime wrote:
| You kind of can in KiCAD. You import to a footprint, and
| change the lines to the type you want (courtyard, silkscreen,
| front copper, etc), and for things like pads you can use DXF
| for reference and centerpoints then put your pads in.
|
| The CAD tools inside KiCAD could be a lot better (esp since
| it's using FreeCAD under the hood and the tools should be
| there) but it's OKAY as is.
| junon wrote:
| DXF was integral in importing things from freecad for outlines,
| designs, and in some cases even silkscreens.
|
| Also, beginners shouldn't even autoroute. I can't think of a
| single valid reason to support it, honestly. The algorithms and
| compute power needed to actually autoroute something useful
| beyond trivial things is years away, perhaps decades or more.
| jhallenworld wrote:
| You need to try a better autorouter.
|
| My experience with PADS/Mentor "blaze router" and "Specctra"
| (now Allegro PCB router) was very good. Altium on the other
| hand... no (I mention Altium because I think most people's
| bad experience is coming from this).
|
| Specctra and blaze worked fine in 1998-era PC hardware. I
| used them for high speed designs (even then we had ECL and
| PECL).
| polishdude20 wrote:
| I wish parts manufacturers could create an open or universal
| part file standard. Even just a schematic symbol and footprint
| would do. Make it compatible with all PCB eda software
| petsfed wrote:
| There's a lot of good reasons why its _not_ universal. Chief
| amongst them is that there 's no guarantee that a given
| footprint will work in the context of the overall assembly.
| Will you get tomb-stoning? Will the combination of fab
| capabilities and assembly capabilities necessitate a larger
| aperture for a given pad? If so, will that cause the solder
| to migrate during reflow to an adjoining pad?
|
| Is it Yageo's responsibility to publish a different 0402
| footprint for each board house's capabilities?
| Alupis wrote:
| > Is there auto-routing? How good is it?
|
| Why do people always ask for this? It's a feature only newbies
| use, and once a project becomes even slightly less than
| trivial, the best auto-routing tools fall face down. There's an
| awful lot more to PCB design than just physically fitting the
| components on the board.
| ajsnigrutin wrote:
| Because professionals use expensive professional software,
| and even a newbie wants to put an esp32 and 4 sensors on a
| pcb and order 5pcs from china for a price of two cups of
| coffee... and an autorouter is very helpful then, because for
| such a usecase, the routing is the 'hardest' part of the pcb
| design.
| noncoml wrote:
| Even a newbie will outgrow the auto-router very very fast.
|
| Tools to help with high speed are much much more important
| ajsnigrutin wrote:
| Well yeah, but there's a greater chance that s/he'll
| start using the software in the first place, if it has
| autorouter :)
| petsfed wrote:
| This alongside the question re: DXF really reveals the
| inexperience of the question asker.
|
| My experience with the Altium auto-router (which is pretty
| good, as these things go) was that it took quite a bit more
| time to setup and tune than to just bite the bullet and
| manually route the board. Eagle's auto-router was easier to
| use, but it was also attached to Eagle.
|
| At the end of the day, the difference between getting an
| autorouter to the point that it can autoroute a simple
| 2-layer board with lots of through hole parts, getting it to
| the point that its useful to the average professional, is
| monstrous. There's so much more to routing that just widths
| and clearances. It will probably someday be the case that
| most PCBs are laid out and routed entirely by computers. But
| for now, there's too much subtlety in PCB design. I'd lose my
| mind if I had AI-designed boards failing QC because of
| tombstoning, for instance. I'm not sure that anyone is trying
| to simulate board heating in detail enough to predict its
| occurrence, let alone evaluate solutions prior to board fab.
| And yet, the solution is pretty easy once you see that its
| happening in the first place.
| noncoml wrote:
| Couldn't agree more. Auto routing is useless. Give me tools
| to make it easier to route pairs and for length matching.
| slabity wrote:
| > 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 wrote:
| I 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.
| ajford wrote:
| Gotta 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!
| civilitty wrote:
| _> 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!_
|
| Your example perfectly illustrates that autorouting is a
| catch 22: in order to get something useful out of
| autorouters you either have to (a) provide them with a
| enough information on signal, DRC, and fab parameters OR
| (b) have a design so simple that it doesn't really
| matter. (a) requires subject matter expertise that
| beginners won't have and (b) really is such simple point
| and click that beginners don't gain anything from an
| autorouter. The beginner already has to learn enough to
| place components on the board before routing, which IMO
| is where 80% of the leverage of expertise comes in
| anyway.
|
| The calculation changes if you're all bought in on an EDA
| package like Altium and you know all about modular
| schematics and PCB docs on with standardized PCB
| layering. Then maybe you can start cobbling together
| quick designs that are largely autorouted but again,
| catch 22: you have to know enough Altium to know how to
| do that and enough electronics to know how to select open
| source modules and parts.
| Alupis wrote:
| I 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 wrote:
| I 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 wrote:
| ChatGPT or Copilot cannot debug your hardware design.
|
| Unlike software, all the "features" of a component are
| not readily available to a tool like that. Maybe one day
| they will be, but we're very far away from that. No two
| component manufacturers do anything the same...
| pzo wrote:
| > Would you take the same position in software? Almost
| certainly not - because it is complex.
|
| Why not?
|
| > Sure, there's plenty of no-code or low-code platforms
| out there - but why are they not more popular?
|
| I would compare software with auto routing and without
| more to Python with C situation. Auto routing is more
| like garbage collector to me. Should we discourage people
| from programming in Python just because for hobbyist C or
| C++ might too hardcore? It's not that they have to be
| professional developers - why not let them learn how to
| write even simple python script that help them processing
| some text and do simple automation? It's not that
| everyone need or want to write operating system.
|
| After all today python is the most popular programming
| language even though it mostly started being used in
| education or basic scripting. Should we also forbid
| people using ChatGPT to help with programming for doing
| some creative coding? Let them have some fun.
| deepspace wrote:
| It'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?
| dvdkon wrote:
| Back 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).
| syntheticgate wrote:
| I'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.
| ShadowBanThis01 wrote:
| Nobody'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.
| dbrgn wrote:
| Ratsnest 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.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.
| Alupis wrote:
| The 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.
| gaze wrote:
| Professionals _do not_ use it. It's not helpful. If you get
| your placement right, routing won't be so bad. If you get
| your placement wrong, the auto router WILL land you with an
| awful PCB
| fnordpiglet wrote:
| Newbies probably value it as it's a feature newbies use.
| Newbies are people too. (Disclaimer: I'm a EDA newbie myself,
| so I value it)
| stavros wrote:
| Agreed, I wouldn't use autorouting, it's really hard to get
| right and thus it has invariably mediocre results. Plus, I
| like routing by hand, it's calming.
| stvltvs wrote:
| It's been a long while since I've designed PCB, but doesn't
| auto-routing provide a good starting point that the designer
| can refine? I remember it reducing a lot of grunt work.
| Alupis wrote:
| It creates more problems than it solves for anything but
| very trivial layouts.
|
| It has no comprehension of the actual components it's
| placing, or the nets it's routing. So it'll find a physical
| layout that matches your schematic in a logical sense, but
| the actual circuit may not work when it's finally assembled
| (ADC placed next to a switching power supply, for example).
| Some components have strict tolerances or needs, and some
| types of designs require special considerations.
|
| So, a newbie will click the button to auto-route and then
| have the board fabricated and then do the final assembly -
| then wonder why it doesn't work, or it sometimes works,
| etc. If you don't have the skills and knowledge to do the
| layout the "right" way, you likely don't have the skills or
| knowledge to debug a bad board layout.
|
| PCB layout is not trivial. Some folks spend an entire
| career doing just PCB layout. For low-speed trivial
| designs, you can get away with a lot of bad practices, but
| it's best to invest some small amount of time learning the
| craft.
|
| However, general rule of thumb, if your design works on a
| breadboard then you can probably make it work on a PCB...
| probably.
| aswanson wrote:
| Adc near a switching power supply made me lol. Some guy
| at a previous gig did that with 190v pwm motor drives. No
| autotouter in the loop. Just a bad human.
| CamperBob2 wrote:
| Placement is usually as important as routing, if not more
| so. At the same time, the act of thinking carefully about
| placement will often making routing easier. I try to take a
| holistic view -- I don't see routing as grunt work, or as
| an unnecessary chore, but as part of the design process.
|
| On a long-enough timeline, ML tools will become a natural
| fit for placement and routing. It _is_ a rather dumb thing
| for humans to have to deal with, at the end of the day, but
| the existing tools are just not good enough to take over
| the job. At least not the tools that most of us have access
| to.
| dragontamer wrote:
| Unless ML tools know which nets have how much
| current/voltages on them, as well as which ones are
| sensitive to noise... as well as rise/fall times of each
| pin, its a hopeless job.
|
| Lets say you have a trace that's 4mm wide that skips
| across a slot in the ground-plane. Is this good or bad?
|
| 1. Why is it 4mm? Is this a high-current line / power
| line of some kind? A crude power-plane that's just
| oversized for a trace? Is this a switching regulator with
| a bit of switching noise? Or is it a "quiet" power line,
| like a battery or LDO-line?
|
| 2. Is this trace actually ground? And the 4mm is to
| "jump" across the gnd-slot to provide a controlled
| return-path for some other line? What is the relationship
| of this trace vs another trace?
|
| ----------
|
| If its a fat line on a switching power supply with a ton
| of current, maybe its a bad idea. If its a fat gnd, maybe
| its a good idea. Its all contextual. Its not very clear
| how a hypothetical ML tool would figure out this context,
| outside of like learning to read data-sheets and/or the
| EE writing down the purpose (very precisely) on each
| net... which probably is slower than just routing the
| trace manually to begin with.
| CamperBob2 wrote:
| The tool will have access to the same data sheets and
| SPICE/IBIS models that you do. It will know what to do.
|
| Eventually.
| dragontamer wrote:
| Are you going to put the source-code of your programs in
| there too? I'm not sure how a ML model would ever know
| that... say... Pin A5 is a rarely-changing GPIO that's
| effectively DC. Or that Pin-B6 is configured as an
| analog-DAC in this particular application (and therefore
| slowly changing).
|
| Or hell, that PinC1 is an input vs output.
|
| Modern chips have very flexible pins. Many
| microprocessors (and MCUs) can configure any pin to be
| input, output, tri-state output, pull-up output, or pull-
| down output, for example, with different properties in
| each state. Some pins can be analog (on-board op-amps),
| others can be digital and high frequency, still others
| can be digital but rarely-changing / effectively DC for
| the lifetime of the application.
|
| Each scenario changes how you'd route a trace.
| dragontamer wrote:
| Rats nest is good enough IMO. Just saying "Pin#20 needs to
| be connected to Pin#88", with a visual indication that
| they're not connected yet, is plenty. A Rat's nest is more
| than enough to figure out which parts need to be placed
| next to each other, at least for beginner boards with like
| ~50 or fewer components on them (and maybe ~100 or less
| nets/traces to manage)
|
| The issue with PCB-design is that:
|
| 1. Even the slowest ~4MHz microcontrollers have 1ns
| rise/fall times, or 1GHz+ of high-frequency noise all over
| the place. Faster chips have even faster rise/fall times.
|
| 2. ~1GHz wavelength is ~30cm, meaning that a 7.5cm trace is
| an effective antenna for 1GHz noise. As it turns out, 7.5cm
| is well within the scope of typical PCB design. A faster
| rise/fall time (ex: 0.2ns rise/fall time is 5GHz noise
| instead) could have "antennas" as small as 2.5cm or 25mm.
|
| 3. Vias have non-negligible inductance and resistance.
| Modern signal design also requires the designer to think of
| "the return path", so a 2nd nearby via to serve as a
| capacitively-coupled via (IE: "Route a ground-via next to
| any signal-via"), and other such rules, are rarely followed
| by autorouters.
|
| ------------
|
| It looks like the professional tools are fixing this
| problem by performing FEA of signals / coupling /
| electronic flux, and helping the engineer visualize the
| magnetic and electrical fields of the designed PCB-layout.
|
| However, if you are a conservative human, you can get such
| a feel for your circuit by thinking about return-paths and
| mentally thinking about microstrips (ex: wire + ground-
| plane return), or striplines (ex: ground-wire-ground plane
| for internal layers). The return path is always on the
| nearby ground plane, so it makes it very easy to think
| about.
| petsfed wrote:
| >"Export formats: PDF, SVG, pixmap, BOM, pick&place,
| Gerber/Excellon". None of which have enough info for import
| into another EDA program. This thing is very self-contained,
| which is unusual for an open source program.
|
| The limitation here is that only KiCad has an open format for
| design files to begin with. Maybe we should be agitating for a
| better open-standard for schematic capture? I'd love to be able
| to output a schematic from e.g. a spice simulation, then import
| that into my ECAD suite. The netlist (which is part of the
| Gerber output) is human-readable, so I suppose its possible to
| extract the schematic from that. But then, it'll be
| computationally expensive to arrange that information in an
| easy-to-read format.
| dbrgn wrote:
| > How comprehensive is the part library?
|
| A few thousand parts total, so: Still quite small.
|
| > Is there auto-routing?
|
| No, just ratsnest. The utility of autorouting was already
| discussed in sibling comments.
|
| > "Import formats: DXF". For what, the board outline?
|
| It's mostly useful for the documentation layer or the Board
| outline. For example when creating a Raspberry Pi HAT, or an
| Arduino shield. It can also be used to import logos for
| silkscreen, or the like.
|
| > None of which have enough info for import into another EDA
| program.
|
| Can you give a concrete example of the use case you have in
| mind?
|
| > This seems to be is a marketing tool for some board maker.
|
| It is not, and it becomes obvious if you spend even just a few
| minutes reading through the website. It's mostly one developer,
| who spent almost 10 years developing the software in his free
| time, and who now tries to work on it full-time. Source of
| income are donations, some EU funds and revenue sharing of some
| fabs.
| ShadowBanThis01 wrote:
| Along those lines: Does anyone know what the best way to
| contribute to these projects is, among those offered?
|
| I will go to extra effort to avoid fees being imposed on the
| recipient of the money.
| dbrgn wrote:
| I assume you're talking about https://librepcb.org/donate/?
| Probably GitHub Sponsors (no fees at all) or OpenCollective
| (fees depend on the payment method, a "platform tip" is
| optional).
| ShadowBanThis01 wrote:
| Thanks! That is what I meant, and also for future
| reference on other projects.
___________________________________________________________________
(page generated 2023-09-28 23:00 UTC)