Let's build it right.
Over the last few years I have started to appreciate added ease using a custom PCB adds to a project.
Yes, it takes time and a usually a few prototypes to get them right, but then you end up with a much neater finished product.
I usually start by getting an idea on paper of what exactly we need to achieve.
One of my biggest hurdles has been the sudden loss of component availability. I designed some SFX boards and now the processor is almost impossible to obtain. Very annoying, but not much you can do.
The most popular base for most projects at the moment seems to be the ESP32. Available is a whole host of options, I usually try and incorporate one of my breakout boards in a project if I can.
I will breadboard the whole system out first, and make sure the PCB will act the way I am expecting. The ESP32 does have some temperamental pins!
Then I will design the PCB once I am happy with the base configuration.
I am moving to SMD (surface mount device) components as much as I can, but I do sometimes put dual footprints for both SMD and DIP (Dual in line) components if there is space.
This gives far more options on the purchasing front if the part is particularly difficult to source.
I have a few items I tend to always add to my PCBs. Oled screen with a couple of buttons (usually select and enter), a Piezo and a heartbeat led. The heartbeat isn't really required if pins are short on the ground, as you can usually use the processors 'on board' led (if it has one).