Comment by owenversteeg

6 months ago

I could be wrong, but that looks like autoroute to me just based on the aesthetics of it, autoroute has a bit of a "smell" that you can recognize if you pay attention. For example see the via and traces to the left of SW2. No human I know, even a total noob designing their first ever PCB, would do that.

Also, it certainly wasn't the LLM; atopile doesn't allow you to specify routing as far as I'm aware, their docs seem to tell you to route in KiCad.

> even a total noob designing their first ever PCB

As said noob, do you have any resources for basic PCB design/routing? Along the lines of a simple list of things to look out for?

I've only ever done one, and for routing I basically did the "make two ground pours, then keep clicking until everything is connected" process that others have described in this thread. Probably about the same as I'd imagine an autorouter would have. And it seems like it worked fine in the end. But I'm wondering what obvious things I probably missed, and what the consequences are to missing them? PCB layout articles online seem to quickly get into topics like differential pair length matching, high-frequency / RF circuits, optimizing current return paths, controlled impedance, and so on... none of which I imagine will ever be relevant to me as a hobbyist.

  • There are some absolute masters of PCB design on this site, I am far below that level, so take this all with a heap of salt. A lot of what follows is generally good advice but not everything is universally applicable.

    Basics: learn to use your EDA software, properly configure it with your board house's capabilities, get correct footprints, read and re-read and re-re-read the datasheets for everything you use. Study other similar designs and try to understand everything they're doing and _why_.

    - Place mounting holes and critical components first. Tiny boards and tiny components look bigger on-screen, zoom out to 1:1 real life scale as a sanity check!

    - Use as many of the largest decoupling caps you can get. You don’t need multiple caps in different sizes; this comes from the old days of leaded caps when parasitics would be bad

    - For power: use planes when possible; use a trace width calculator; always have a ground plane.

    - Generally speaking, use the widest traces you can.

    - There is a huge asterisk on this one, but most traces should be made as short as possible. Decoupling caps should be super close to where they're needed. This is one of the more common noob mistakes, but it can also lead you astray (making overly complex or compact PCBs on the first try.)

    - Do not put capacitors or inductors close to the edges of a board, they will fail because of flexing!

    - Check clearance between parts for pick and place and hand-soldered parts

    - Always run DRC checks (there are also secondary DRC check tool websites/downloads aside from the one in your EDA software)

    - Before sending it off, manually check for obvious common blunders (forgot the ground plane, no copper pour on ground plane, dead short, forgot to drill holes, wrong units, used the wrong footprints) - manually measure a few things on your design including footprints and pad sizes and cross reference this with an independent source. Check your files in different gerber viewers and hand-trace through the copper path from one component to the next. Visually preview the PCB and ensure you're not missing any copper anywhere.

    - Don’t make things as small as possible right away! Make it big, test points, connectors, break out sketchy features into daughterboards etc, then shrink when it works

    Beyond the basics:

    - Understand your components. There are countless types of resistors and capacitors, to say nothing of the other component types. Getting more advanced, try to understand the various types, their lifespans, failure modes, heat tolerance. Pay attention to physical component sizes, if some capacitors of type X and rating Y are one volume and the others are half the volume by being half the height... why?

    - Understand heat. For the most basic calculations: "With only natural convection (i.e. no airflow), and no heat sink, a typical two sided PCB with solid copper fills on both sides, needs at least 15.29 cm2/2.37 in2 of area to dissipate 1 watt of power for a 40°C rise in temperature. Adding airflow can typically reduce this size requirement by up to half. To reduce board area further a heat sink will be required." - from Thermal Design By Insight, Not Hindsight by Marc Davis-Marsh

    - Get a better understanding of electricity and RF in general. This really pays dividends in terms of understanding why the "rules" are what they are.

    For some interesting stuff beyond the basics, or to get yourself thinking, these links are great:

    https://resources.altium.com/p/2-the-extreme-importance-of-p... by Rick Hartley

    https://codeinsecurity.wordpress.com/2025/01/25/proper-decou... by Graham Sutherland

    The "PCB Review" threads on r/PrintedCircuitBoard are great places to learn as well.

    Beyond that... well, it's like any skill, learning the theory and best practices is great but the way to really improve is to get out there and look at (and design) tons of PCBs.

Few other thoughts:

- impressive that this worked so well with LLM-generated atopile, given that atopile is about a year old!

- the hardest part of a PCB is still the routing and nonstandard parts of the design; what this did is basically "find a reference design, pick components that match the reference design, and put them on the correct nets" which is the easiest part of the process for people designing PCBs today

- much like with code, 99% of PCBs designed are fairly basic boards implementing the reference design with some small tweaks, and then there is a tiny amount of envelope-pushing designs/crazy complex stuff. Obviously you can't design some fancy PCB with complex RF with this, but give it some time and I'd bet you can probably make a lot of the basic stuff...

  • > 99% of PCBs designed are fairly basic boards implementing the reference design with some small tweaks

    This may be true of hobbyists, but is very much not true in industry.

    Maybe all those millions of IoT devices skew the number of PCBs made that look a bit like an ESP32 plus a button and an LED, but most unique designs probably aren't those. Endless march of things like new super-dense PC/mobile motherboards and all the weird hyper-specific industrial electronics takes far more effort, say.

    And no one is sweating the few days to design and lay them out to meet the constraints for a simple ESP32 + a button. Primarily the size and shape and power usage. That's not the hard bit of slinging mass-market IoT trinkets, the software side is.

    • I did work for a while in/with a small hardware company, and basically how we did things was we integrated a complex off-the shelf CPU board, to a custom 'host' board that housed application specific logic.

      Signals integrity analysis used for integrating DRAM is a difficult skillset, requires trial and error, and if you manage all the design complexity somehow, manufacturing is likewise difficult. If you show up with a 8 layer PCB littered with BGA components, most manufacturers won't talk to you if you don't have volume or aren't willing to pay astronomical prices.

      And let's not get into wireless - antenna design and interference testing is its own dark art, and even if you manage to make something that works, you have to certify it in every single country/economic block you want to sell to.

      And all this to supplant a ready-made Pi Zero or ESP board. that costs basically nothing.

      Clearly much bigger shops than ours have realized this - there are many high-volume commerical products that use a Raspberry PI as brains, or smart speakers using ESP32.

      1 reply →

    • It is absolutely true for industry.

      It's not just IoT. Look around you in your daily life. Your average person has a few super-dense complex PCBs around them (laptop, phone, maybe a TV etc) but they have at the absolute minimum a few hundred simple PCBs. Your average household doodad these days requires multiple PCBs (power, control, and communications are typically separate.) How many things do you own with LEDs in them (including your lightbulbs?) How many modern cables do you own - because they all have PCBs in them now! I recently tore down a popular non-smart home appliance that's basically a fan, and it has five PCBs - one power, one control, one for the buttons on the top, one for the buttons on the side, and one for a sensor, none of those were off-the-shelf, and this is not unusual. If you really want to lose your mind, look at cars or children's toys, you'll go insane. Your average American with a car and an apartment, or a modest selection of modern children's toys, will own well into the four figures of simple PCBs. I think it's quite rare for your average person to own more than a handful of phones and laptops.

      Beyond consumer products, still the overwhelming majority of PCBs are very simple. You say "all the weird hyper-specific industrial electronics" yet go into a sheet metal shop or a train factory or a refinery and count the ratio of simple PCBs to complex. Every sensor, every lightbulb, every cable, every scanner, every connected device... look at how simple process control is for most processes, or how simple most PCBs in most motorized devices are. The employees' smartphones will be the majority of the complex PCBs on the floor.

      Now that I think of it - I don't think it's possible to buy or use a complex PCB without multiple accompanying simple PCBs. They virtually never take 110v, they typically take 110v->USB-C->5v DC, so that's two simple PCBs for power conversion plus two USB-C PCBs. You might use the device with a display (countless simple PCBs, its own power etc) or a mouse (yet more...) or some earbuds.