Beginers questions regarding ARM development.

  I am just starting out developing with ARM and am really enjoying learning about these processors. I have a few questions that have been on my mind as a newbie that I'm hoping some people can answer.

 From my understanding, the ARM cortex m0 series is for ultra-low power devices and the m3 being capable of moderate complex computations mostly suitable for IoT devices or rather- recently employed by them. The newest being the m7 which is the heftier of the M series being more suitable for complex computation(s).

 Now for my question; I am building a board that takes a photo sends it the users phone via. Bluetooth ( sending & receiving )  this board should also be capable of powering an LCD  touch screen, powering a small audio speaker( playing the single file) running a bare metal OS- I am leaning more towards the m7 because this seems complicated to me and requires more computational power? But I also do not want to use something more expensive and something also that may be overkill for this project.

 My second question, I am using tools such as STMCubeMX along with Kicad to complement my development experience - the things that are immediately getting in my way are the pins, when I look at the datasheets it's not immediately obvious what these different PIN names mean are there some tips to remember these PIN names? are they pretty static throughout the different CPUs? for example, particularly are there certain pins just dedicated for UART or I2C communication that have specific names pins that are fairly static throughout the ARM family.

Additionally, if you have any other information/ tips that would be beneficial for a newbie to get started when designing ARM schematics or developing with ARM feel free to throw it out there, thank you in advance.