The Aduino is a 5 V system. AFAIK SD cards are 3.3 V and would thus need level shifters. It would be easier with a 3.3 V powered board / µC.
Thanks for noting this, I forgot about that. For the Arduino I was thinking of just placing it on this board (making my own Arduino onboard basically). I could just change it to 3.3V, I don't if the Leonardo comes with 3.3V variant but I will look more into this. Could be done using other uC, I was thinking it would be easy to use the Leonardo since it has built-in USB support.
The USB on the mentioned board is directly connected. So the is no isolation towards the USB / PC. This can be limiting.
Yeah, that is true. I will add in a USB isolator.
The MAX31855 uses the SPI bus, not I2C. So using multiple chips for the temperature inputs is possible (would be tricky to use several of the same chips on an I2C bus). Still temperature usually does not need to be measured so fast and one could use use just one chip and external switched. I would not use mechanical relay but more like a CMOS MUX like 74HC4052.
For multiple channels there is also the option to use just 1 cold junction sensor and than maybe amplifier and a normal ADC. The µC could do the cold do the cold junction correction in software.
Thanks for noting this as well, I will update the block diagram. I wanted to use mechanical relay to completely isolate the different thermocouple inputs. There could be leakage current when using a MOSFET or MUX.
For DAQ from external inputs one may want some extra protection. So it may not be such a good idea to directly connect external input to the ADC chip. This can be a problem especially with possible ground loops via USB.
Yes, I will add a resistor divider with a diode clamp on it. I was wondering if I should buffer the inputs to the ADC chip using op-amps.