Not quite a PCB review, some wisdom requested

The design pictured is going to be scrapped and redone completely, but I’m bringing it to show that I did the homework. First ever PCB design… if you couldn’t tell :laughing:.

It is the original design for a quad LFO, which was meant for a home etching on a one sided CCL board. All of the traces on B.cu were going to be manually connected with wire beneath the board, which is why they’re so haphazard. That’s also why both boards are on one sheet, and all the things that go with that.

For reasons of exceeding my budget (now I need a drill press too??), I’ve decided to forget the at-home PCB for this one and go through JLCPCB instead.

I want to start over again in order to make it tidier, reduce the footprint, and laugh at myself for how much time I would have saved learning about filled zones before I was finished.

Before I did, I wanted to know if there were any other rules of thumb regarding PCB design for synth formats, just based off of questions that popped up while making this.

Here are some of the questions I had:

  1. Are the dimensions of the edge cut (in this case, the HP) of the module decided before the PCB is designed? I kept having to resize it during the design process, leading to the next question:

  2. are the circuits put together separately, then placed on the board? Take for example, the TLO74 at the bottom of the board on the lefthand side. Would I arrange all the resistors and caps around it to see how much space it occupies before adding it inside of the edge cut with the other parts?

  3. When designing to send to a PCB fab place, is it common/default to put the ground plane on B.cu?

  4. Is the way that I connected the traces beneath the power connector correct?

Those are my most specific questions. Most of my other questions are something to the effect of “How do other people do this”. As I’ve heard, it’s an art not a science, but what are some ballpark guidelines of PCB design?

I’ve also seen great advice to study mutable PCBs but those are all eagle files and I’m running KiCad :sleepy:

Also, some things I know now that aren’t reflected in the design pictured:
- thinner traces, except for direct power lines
- less wacky zig zag traces
- sticking with a 2.54 mm grid

Thanks in advance!

1 Like

Yes except when no. Usually I like to try to design the front panel before anything else, and then try to figure out how to fit the board(s) behind it — allowing about 2 mm clearance on each side so adjacent modules’ PCBs aren’t bumping into each other. So I’ll probably have a width I try to stay within, and of course a maximum height, but then if I find can fit it in something smaller I’ll probably shrink it. Figuring it all out sometimes involves moving parts of the design around or redoing them, and sometimes it involves rethinking how many boards I’m going to use, whether they’ll be parallel or perpendicular to the panel, etc. So the one is not strictly enforced by the other.

I don’t usually do that but sometimes do. Whatever works.

I nearly always have a ground plane on both front and back. Unless it’s something like a little breakout board that doesn’t even have ground connected to it. It does make layout easier, not having to route ground traces.

It’s hard to tell because I can’t tell which end is + and which end is -. I recommend using a footprint that shows that clearly. I have a custom one (which you can find in my GitHub) which has the ends labeled with +12V and -12V and “RED STRIPE” but at least I’d say use Connector_IDC:IDC-Header_2x05_P2.54mm_Vertical, which shows the shrouded header with its key notch on the silkscreen. Assuming you got the ends right, I’d say you got everything correct (though I’d use the ground plane instead of routing a trace for the ground connection).

My habit is 0.25 mm and 0.75 mm respectively.

Definitely — as much as I like metric, and I do generally design my panels in mm, but not for laying out PCBs. I usually use a 0.05" grid, though. 0.1" is a little too coarse for my taste. That’s for placing parts, when routing traces I switch to 0.005".

Oh, one more thing!

1 Like

Screenshot 2022-04-15 at 22.53.37

I’m not an expert by any means, but I always try to avoid 90 degree traces. It’s usually easy enough to turn them into 2x45 degrees. I think there is ancient lore and I don’t know if it’s still relevant with modern manufacturing.

4 Likes

:rofl: understood.

the biggest slip up the first time around was the aforementioned not knowing that i could make a ground plane, which hurt in more ways than one. i planned it out meticulously beforehand, and was still running into walls. literal game of snake!

since that problem is solved it will make applying your advice much easier, thanks again!

for sure, this is another one I’m avoiding the next go around. you’re right, when i was drawing it, the thought occurred that you never really see hard angles like this on pcbs.

Found a couple links:

3 Likes

If you look at PCBs in old devices, you will find that is has never been relevant for low frequency applications.

2 Likes

What I’m hearing is that the world is ready for the first fully-square particle accelerator.

1 Like

Update: A little proud of this one.

Reduced to 14 HP (could have definitely gone smaller, but it’s okay). Discovered “mouse bites”. made generous use of vias as things were upside down from the top board to the bottom one.

Flipped the position of the connectors for the top and bottom board since they’re going to be facing opposite directions. For example, the pots all go into the top right connector on the front facing pcb and come out the left side of the back facing one. That would have been an unfortunate oversight.

@analogoutput didn’t use the connector in your github for this go around, but realized in the process that you were also responding with the Mutable files for KiCad which is incredible!!! Thanks for that. I did end up using a shrouded header footprint though.

Most obvious question ever, but if my schematic is right and all the connections in the PCB design are good, I should be good to send this one out for creation right? Are there any last minute checks to make aside from a final careful look with my own eyes?

Those jack sockets look awfully close to each other. Will you be able to pull any of the middle jacks?

3 Likes

when you say pull how do you mean? as in pull out a cable?

Yep, indeed. Will it be possible to manoeuver ones fingers between jack plugs if many are plugged in?

1 Like

You’re right, it will probably be a tight squeeze. I may still take the risk ‘for science’. Knowing me, you’ll probably get a follow up when these arrived confirming this ha.

I have a few modules with some very close together jacks which work well enough, but I have little skeleton fingers. I will definitely take this into account if/when I ever make commercial modules though!

1 Like

I often put the jacks right up against each other without issues, at least to my taste. This layout doesn’t even look close to too snug to me. I would worry more about the proximity of the pots unless you are planning to use tall trimmers or at least very small knobs.

how’s this?

jk mark these pots under “litany of dumbassery”. this is what you get if you don’t read that the product description may not match the image.

this is a legitimate concern though so I’m now making adjustments for that. thanks for bringing this to my attention! funny how distorted the perspective of size gets using a screen.

Required reading:

Well, the first 1/3 of it or so. After that it kind of goes off in the weeds.

4 Likes

Yeah, but you would put knobs on those. I meant these:

https://www.thonk.co.uk/product-category/parts/pot/9mm/9mm-trimmer-pots/

2 Likes

You’re right I definitely need some of these.

Did a little adjustment. Got ~22mm between the pots now. I got as far as drilling all the holes in my previous attempt which had roughly the same spacing for pots, so I dropped some pots in that and it works fairly well with some of the knobs I have. Going to do one last all over check of everything and hopefully order this bad boy.

1 Like

Best of luck! Looks nice

3 Likes

Raise your hand, all those who’ve forgotten to do these things:

  • Run ERC on the schematic and DRC on the board :person_raising_hand:
  • Check to make sure no op amps have reversed inputs (if there’s a feedback path from output to + input, it’s probably wrong) :person_raising_hand:
  • Check power connections to chips for reversal :person_raising_hand:
  • Check orientations of polarized caps and diodes :person_raising_hand:
  • Check capacitor footprints for lead spacings and body sizes :person_raising_hand:
  • Check pots to make sure they’re not connected backwards (usually pin 1 to the lower voltage if a voltage divider; usually pin 2 connected to pin 3 if a variable resistor. Usually. And those are if using footprint where pin 1 is counterclockwise, which is not true of some footprints, so check that too.) :person_raising_hand:
  • Check pin headers and sockets to make sure connections are consistent on both sides :person_raising_hand:
  • Do track cleanup (KiCad PCB tools menu) :person_raising_hand:
  • Make sure silkscreen isn’t garbled with e.g. references/values on top of each other, off the edge of the board, on top of a pad, etc. :person_raising_hand:
  • Check connections and orientation of board mounted toggle switches :person_raising_hand:
  • Check if adequate information shown on the silkscreen. Maybe your name, credit to circuit designer, license information, GitHub URL… :person_raising_hand:
  • Is there anything confusing about the build that could be mitigated with some notes added to the silkscreen? :person_raising_hand:
  • Check mechanical matching between sandwiched boards, board and panel, etc. — do mounting screw holes line up? Headers/sockets? Board mounted components and panel holes? :person_raising_hand:
  • Check for adequate clearance on all four sides of PCBs, allowing gaps between adjacent modules and allowing enough space at top/bottom to mount the module :person_raising_hand:
  • Verify everything routed :person_raising_hand:
  • Verify all fills updated and filled :person_raising_hand:
  • Order number location marker on silkscreen, if appropriate :person_raising_hand:
  • Look at the Gerbers in a Gerber viewer to verify they look right :person_raising_hand:
6 Likes

Fucking this. Is there a way to make KiCad auto re-fill after every time I move something?

1 Like