I know this is ultra-basic so it might be a “cry for help” to make you point me at an FAQ that covers it, but…
If I purchased multiple shields - say a CAN BUS and an LCD shield, how do I ensure that the pin uses don’t overlap? I assume it must matter, but some shields don’t even list what pins they need. Or is there some way of selecting which shield has access to the pins at any particular point in time?
Unless there is some arbitration scheme, is it possible to stack two shields that, as an example, both want D0 and D1?
Your problem can be a tough one and not uncommon. Either the shield lists what pins it uses or you’re forced to look at it’s schematic to determine them … and then any conflict between 2 or more shields. In the case of a conflict over simple DIO pins, say 2 shields need to use D4, there is a “go between” shield that allows you to reroute what incoming pins (to it) are connected to it’s outgoing pins.
For example the bottom shield might use D4 but then you’d put the Go-Between shield between it and the other shield (on top). The GB shield would reroute an unused pin, say D5, to the D4 pin for that top shield. Of course you’d have to modify the top shield’s software to use D5 in place of D4.