One of the things I like to use KiCAD for is reverse engineering boards from the 70s and 80s to restore vintage audio gear. I’ve read a few posts here from others struggling with the same issue I am, and that is how to place and route what’s essentially a “1.5 layer” design: top-side-only parts attached with bottom-side-only pads (with NPTH holes), and plated vias connecting to the top, where routing that was otherwise impossible to achieve on the bottom side was added. Some of these old boards have actual copper on top, but others used conductive ink to “paint” the topside routing, and the via holes, which goes bad over time.
I found that starting out with a 1-layer design was useful to a point, allowing me to route to pads without the tool complaining about routing to a non-plated component hole. However, once it’s time to add in the top-side routing, the design must become two layers, and KiCAD insists on defining all electrical pins as plated holes with pads on both sides. It seems like the obvious choice would be to add a feature to extend the “connected layers only” setting to suppress not only unused inner layer pads, but unused outer layer pads as well.
Adding pads to the top side where the original design didn’t have them isn’t always desirable for a couple of reasons - one is that it for rework, it needlessly requires you to suck solder out of the hole, which takes more time, and more importantly, heat, which can damage components made of plastics that easily melt. The other is that due to the rather large size of one-layer component pads (for better adhesion), some vintage designs will use the top side to route a trace very close to the part’s holes, essentially right over where the bottom pad is, so adding a top-side pad steals away valuable routing space.
Someone suggested placing a non-plated hole in the center of an SMD pad, and that was the best compromise I could find. It avoided manually editing the text in design files externally to remove top pads (and their plated hole definitions) but KiCAD makes it impossible to start a route from my SMD pins, or routing into them. It just flashes the error “cannot start routing from a non-plated hole.”
You can get a trace onto the outer edges of the pad to complete the connection, but it can’t snap to the center, so pad entry can end up looking misaligned and trashy. The only option was to get close and then edit the info for the final segment so it shares the same coordinate as the center of the destination pad.
If something is in the works to help address this, great! Otherwise, something to think about adding in a future release.