Hi Watcher,
So my inderstanding now is that it wont be possible to access simultaneously two separate hardware SPIs from the arduino IDE. Only the one that matches the arduino chosen. Correct?
No, actually it's possible to call on two (or even three) separate hardware SPI ports from the Ardiuno IDE. Calling on the SPI library with the line:
#include <SPI.h>
...will automatically create an SPI C++ object on the default pins, defined in the "variant.h" file. However, it's possible to use one of the SAMD21's spare SERCOM (serial communication) modules to create further hardware SPI, Serial or I2C ports.
Creating additional hardware SPI, Serial or I2C ports is described in this Adafruit tutorial: Overview | Using ATSAMD21 SERCOM for more SPI, I2C and Serial ports | Adafruit Learning System.
Which arduino config would you advice me to adopt? The zero or maybe the zero mkr ? Or maybe some other?
In your schematic, it looks like you're currently following the Arduino Zero pattern. I noticed that TXD and RXD are using SERCOM5 on PB22 and PB23, I think this should be fine, if there are issues on this port with the bootloader, it would be possible modify it in any case.
In general, if you're planning on using most of the microcontroller's pins, I'd go with the Arduino Zero, but this can depend on other factors such as board layout constraints. Also, most of the SAMD21 boards from Sparkfun (SAMD21 Dev and Mini Breakout boards) and Adafruit (Metro, Isty Bitsy and Feather M0) match the pinouts of the Arduino Zero as well. Arduino started to diverge from this standard layout later on with their MKR family.
In my opinion, having standard layout is important. It means that code developed on the Arduino Zero can then easily be ported to a smaller board such as an Adafruit Itsy Bitsy M0. Unfortunately, Adafruit's SAMD51 boards (Itsy Bitsy, Metro and Feather M4), now each have different pin assignments making this impossible.