So I've had a schematic drawn up for a microcontroller project I am working on, for some time now. Built it on a breadboard, write the code, and it works. Now comes PCB layout, because I need dozens of these and I'm not going to point to point wire them all.
Having some trouble getting it laid out in a logical manner, minimal back and forth between layers with vias, keeping the power section short and away from data lines, etc.
Then it hit me, lounging in the pull the other day. Why am I using the pin assignments on the micro that I am? I took another look at the pinout of the micro. Wait a second - if I just switch around some pin assignments, I can orient the micro such that almost no lines need to cross from one side of it to the other, and few traces have to cross . Why was I so stuck on the original pin assignments? There are no usage restrictions that made me chose the order I did, and the few that were driven by such things are able to remain unchanged in the new scheme of things. Anything flexible was moved around in a more logical layout order instead of some function grouping - I guess I was looking at it more as a programmer than a circuit designer. This will make layout of the board MUCH easier and keep the noisy bits like relays and servos far away from the inputs. Heck even the schematic should look cleaner, if I replace the micro model with one that uses the actual pinout instead of grouping all the IOs on one side of the block and the support stuff *VCC, GND, crystal, reset) on the other.
And I envision most people looking at this and thinking "Well, DUH!"