There are a fair number of variables to consider. A few of the more important ones:
- Power. Where does it come in, what voltages and currents are needed, how does it get distributed.
- Connectivity. Do the boards stack, or connected via a cable. What side of the board should the connector be on. What signals are on each connector.
- Compatibility. Touch panel and RF both require special care in locating them in the system.
- Pin allocation. AVR controllers have a lot of special pin functions. What is the best use of the pins to get the functions I need.
In working on those errors, some other choices came tumbling down, no longer the best fit. My core problem is that I am trying to design too optimally, too close to the edge. For example, I needed to put one more function in an ATmega that was out of pins. If I had chosen an ATxmega device, I'd have plenty of pins to work with.
The good news is that having done the system design once, the second iteration was a lot easier, and it is now a better, "rev 2", design. But I worry that I may have missed something else, and I don't have time to juggle the system around repeatedly.