In your opinion, what's the difference between a GOOD and BAD PCB?

In our hobby, many have PCBs made to accommodate their custom projects. Many of us have purchased custom boards with custom PCBs.

As you are going through your keyboard adventures, I’m sure you’ve seen/used some PCBS you thought were good, and some you thought were bad.

To you, what makes a good or bad PCB?

Is it the path of the traces?
Quality of the pads?
PCB color?


Lots of people look at the path of traces, but honestly I’m mostly concerned with:

  • Quality pads, solder flows onto them better

  • ESD protection

  • USB-C because it’s more secure (or USB on a daughterboard)

  • VIA compatibility or if I can’t have that then I want reset somewhere in the default layout from the factory so I don’t have to dissemble my board to flash it

Could care less about silk screen or color, unless the PCB is designed to be exposed.


As with any electronics, the first order of business is reliability. Any PCB that breaks, bricks or ESDs is an issue. Following reliability would be ease of repair, and perhaps programmability and case compatibility


First and foremost, it needs to be properly documented. I don’t want to have to search the corners of the internet to find out how to program this thing.

After that, I don’t ask for much, but there are a few nice things to have.

ESD protection. Gets dry in the winter here.

Larger pad size does help. I noticed this while soldering my TX pcb. The pads were a bit larger around the holes. Really helped to solder faster.

Also, labels on the bottom row! Label 1.5u or 1.25u etc. same for space bar. Helps a lot.

Another thing I noticed about the newer TX pcb was that the resistors were place conveniently further away from the switch pins.

Any type of GUI is nice for programming.


Labels on the bottom row is hugely convenient!


IMO, the best PCBs are the ones you can replace. Obviously I’d love to never screw one up during a desoldering job but personally, I’d much rather buy a new one than try to add wires in lieu of traces that don’t work anymore. Whether it’s the ubiquity of 60% boards or just open source, I want to be able to buy a replacement. I hope I never see the day where I can’t use one of my boards because the cheapest part broke and I just can’t do anything about it.

Flex cuts are also a big plus for me. You can’t really do a flex build without them and if you don’t want that you can just not use a flexible plate. As much as I like the idea of half plates, I feel like they’re wasted on boards that don’t have a somewhat flexible PCB.

  • QMK
  • Documentation
  • High quality pads / parts
  • Well manufacturered
  • Reliability
  • ESD
  • Documentation
  • Breakouts for unused pins (RGB is a perk for fun mods)
  • Documentation
  • Open source

Things I don’t particularly care for:

  • Color
  • Via/vial
  • Reset button / on default firmware (first thing I do is flash a new layout)
  • Hot swap

In no particular order…

  • Quality.
  • Functionality.
  • Compatibility with common, open source programming tools.
  • RGB (I’m a huge fan).
  • Hotswap (a bonus, but not a deal breaker).
  • Aesthetics.

On that last point, I’ve been impressed with some the artwork and even beautiful layout designs. A lot of PCBs get buried inside a case and will likely never again see the light of day, but I really appreciate folks willing to go that extra mile. Hat tip to Senseless Clay for being a stellar example of this.

Bad PCBs?

  • Poor quality.
  • No initial testing.
  • No labeling.
  • Requires use of bloated, closed source drivers or utilities.
  • Swiss cheese PCBs, or attempting to be too flexible to all possible layouts.

No hate for the omnibus, but this is the new image that comes to mind when I hear swiss cheese.


Holy cow.

Get it? :smiley:

1 Like

To be properly done from electronics engineering perspective. I.e.:
- Properly matched traces for the signal/voltage they need to carry.
- To follow the specifications (USB and such)
- To have the needed protections (For one, the USB spec requires various protections)
- Not just generic value decoupling capacitors or capacitors (and resistor) on the crystal, but actually calculated according to the crystal and the datasheet, etc.
- Actual hardware USB implementation, not implemented in software on MCUs that don’t have USB
- Have the MCU and everything on the PCB, instead of just slapping a slot for a Pro Micro

Basically, to have the same quality as if it’s going to be a commercial product that needs to pass various certifications and what not. Not just making it work and calling it a day.

1 Like

Agree that Hadi 60% PCB is a beautifull piece of hardware.

1 Like

Pretty much agree with everyone so I won’t repeat


  • A quick way to get into bootloader mode like under a keycap so I don’t need to take the whole thing apart
  • USB C


  • Proprietary software for keyboard (Razor, Glorius etc). I hope it isn’t like this now but when I had my Ducky I had to download their software from Google Drive and it was unsigned… SUS
  • Not doing prototype PCBs after making changes and expecting customers to cut traces to make the PCB function.
  • Green PCB (its purely cosmetic and there is a reason PCBs originally came in green. But I automatically don’t think custom when I see that)
1 Like

I’d say there are requirements and nice to have feature for a good PCB.


  1. Reliability
    Most known PCB designers have very good track record for providing rock solid PCBs that are known to work well and for a long time: Hiney, Wilba, AIO3, Gondolindrim, Yancar, …
    They are an example of how a good PCB should be.
    As said @ifohancroft, having the default 22pF capacitors for the crystal (that we see as a place holder in schematics) is often a sign that little effort has been made to match the right capacitors to the crystal model, and probably not much more for other parts of the PCB as well.

  2. Idiot proof and/or ease of use
    No user should have to flash a firmware to have a working PCB. This in order to facilitate the life of the user (that can be a total beginner) and the seller who has to make the support if the PCB does not work out of the box.
    VIA/VIAL support is a definite plus (json file can be separately provided if no official support yet).
    A key (ESC commonly used) should be mapped in the firmware for soft reset feature.

Nice to have

  1. Coherent routing and/or nice looking traces
    Globally pick a routing method for all your PCB, like column wiring on the top and row wiring on the bottom.

  2. Replacements commonly available in stock, or open source.
    Hiney and Wilba PCBs can be purchased easily.
    Gondolindrim PCBs are all opensourced.
    The holygrail would be to be able to order assembled replacements yourself (on JLCPCB for ex).

  3. ESD and other protections (overcurrent, overvoltage, …)
    This is a debate.
    Some designers like Wilba do not put anything protection related on their PCBs and have a very good track record.
    Gondolindrim is on the other end of the spectrum and puts a truckload of protections.
    I myself add at a minimum an ESD protection chip and resettable fuse for overcurrent protection.

  4. ICSP/SWD programming ability.
    This is to be able to flash the bootloader if some problem happens on it (never happened to me).
    You need special hardware (USBASP or STLink) to be able to do that, most standard users don’t have them and it often cost more or less the price of a new PCB.
    Wilba, Hiney and Gongolidrim have such headers but I suspect them to be more for development purposes than for the end user.

  5. Bottom row labelling
    So nice for beginners and distracted people.