1

Basically, if I put a shield on my Arduino (mine is Uno, but I'm asking generally), can I freely use all the pins that are there on the shield?

I have an Ethernet shield and almost all of the pins that the original Uno has, are available on the Ethernet too.

The best results that I could get from googling are this and this which describe that if a shield uses a certain pin, putting another shield that uses the same pin causes conflict.

But what about using them myself? Can I use all the pins on a shield as Input/Output?

If some pins are unusable, then why are they available on the board? For example why doesn't the Ethernet have pins 10-13 blocked so you can't put any jumper wires in them?

Additional info:

  • There was also this article which didn't seem very credible to me.

  • Also I've tried using pins 10-13 to light an LED while the Ethernet was busy transferring data. The result was the LED connected to pin 10 was very dim, 11 was less dim and so on. So my guess is yes, they are unavailable. But the fact that this was so rarely mentioned on the internet and that the pins aren't physically blocked made me doubtful.

1

Short answer: NO.

Each shield adds some feature to the base Arduino Uno board and to do that it's more than probably going to use some of the PINs. I say more than probably because Arduino do have support for certain protocols which can share the same pins (I2C and OneWire just from the top of my mind), but they are not the most commonly used approaches for shields.

The only reason the shields expose the same set of pins is for stackability, but not every shield is compatible with any other: it depends on the used PINs.

Some shields provide some level of configuration, usually via jumpers, in order to make them usable in more contexts they would usually be.

shield jumper configuration

Documentation regarding the pins used by each shield is generally available along with the shield, but if you buy cheap clones it's no surprise you might have difficulties finding documentation...

The article you were pointing is somewhat creditable because most of what the author says is actually true and real, including the risk of short circuits.

As an example, the test you run with LEDs connected to the Arduino SPI interface (pins from 10 to 13 are used by SPI) could have damaged your board if you didn't use current limiting resistors.

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.