5

I'm very new to using Arduino! I'll be using Ocean Controls KTA 259 thermocouple multiplexing shield AND a Sparkfun microSD shield on my UNO--to log temperature data for a study I'm doing. The KTA 259 has a library and the integral SD library should work for the SD shield.
Q1: I believe they physically connect no problem, but how can I be sure there are no pin conflicts, disastrous or otherwise? In other words--what conditions MUST I avoid using shields and multiple shields?
Q2: Can (or must) a single data pin be used by both shields, eg from thermo as output to SD as input, or does Arduino juggle all that? Q3: Can (or must) a single function, eg CS, be mapped onto the same pin on BOTH shields, or do they have to be separate allowing Arduino to handle that? Thank you; I appreciate the help!

2

You will have to consult a source like this one: http://shieldlist.org There are no simple rules for which pin conflicts are OK and which ones are not, it all depends on the concrete protocol (i.e. I2C is designed for all bus participants to share lines, while in SPI, each participant needs their own select line, while the other lines are shared).

In your concrete case, both shields you want to use are addressed by SPI, which means D13 (SCK) and D12 (MISO) are shared between the shields by design, while they MUST have different slave select pins. In your case, the SS pin for the microSD shield is fixed as D8, while the one for the KTA shield seems to be selectable, so either D9 or D10 should be OK.

Peripherals generally don't have facilities to become an SPI master, so all data has to be transferred through the Arduino.

1

I have used these exact two shields myself and can confirm they definitely work together. I can find my datalogger code to confirm if desired.

0

Q1: If its a well established source of Arduino compatible boards you can be pretty confident (in my experience) that there are no design flaws regarding pin use. A search on comments by other developers will also help confirm that for you further.

When you go to multiple shields you would need to look at fanout (driving more than one input from an output). The reverse problem is even more of an issue: driving one input from several outputs. In other words, an input on the Arduino would be connected to output pins on two shields providing different signals.

Q2: The answer relates to how I ended in Q1. By avoiding the use of certain pins on a shield the conflicting inputs could be avoided. The headers would simply pass through the signal. I don't think there is any rule that a shield has to use or touch every pin.

Q3: I'm not quite sure what you are asking in this question.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.