If I correctly understand that the logic levels of the signals on the outputs of the SAMD21 processor do not match TTL, but CMOS.
In other words, if I want to connect the usual TTL peripherals, do I need to put a logic level converter on each data pin?
And ISP? And JTAG too?
Regarding logic levels, it's usually possible to connect a +3.3V output to a +5V input directly, however a +5V output should be level shifted for a +3.3V input.
To level shift, I just use a simple I2C bi-direction logic converter like this one: 4-channel I2C-safe Bi-directional Logic Level Converter [BSS138] : ID 757 : $3.95 : Adafruit Industries, Unique & fun DIY electronics and kits.
It's good for serial, I2C and SPI up to around 2MHz.
If I need to interface to a +5V device, I usually level shift all the signals. This way I know that the logic levels are safe for the microcontroller, even if I get the accidently get my wires crossed. Something that happens more often than I care to admit.