Take the 2-minute tour ×
Arduino Stack Exchange is a question and answer site for developers of open-source hardware and software that is compatible with Arduino. It's 100% free, no registration required.

I did some basic Arduino examples in the recent past, but I have never actually seen a shield for Arduino firsthand.

So I wonder: If I put a shield on an Arduino (for example, the Adafruit Motor Shield), does it "block" the entire Arduino, including all input and output pins?

Is it possible to use a shield, and still connect additional components that would usually connect directly to the Arduino (say, a potentiometer, or anything similar)? Does this depend on the type of Arduino, or on the type of the shield, or is it not possible at all?

share|improve this question

5 Answers 5

up vote 10 down vote accepted

Normally, yes, you may plug other components to your setup after you plug your shield, but it depends on the shield exposing the unused Arduino pins through additional female headers.

Some shields even provide a little protoboard or perfboard to make it convenient for plugging or soldering additional components. Below are some examples:

Example of an Arduino protoboard shield Example of an Arduino perfoboard shield

Arduino shields are normally designed to be stackable, so you can plug one on top of the other. See more on Arduino shields from this WikiPedia article. See below one example of stacked shields, shamefully stolen from this great answer by RedGrittyBrick.

Example of many Arduino shields stacked together
Photo by John Boxall

But note that you need to study carefully what pins each of the shields use to avoid conflicts between the boards. Such conflicts may lead to damages.

share|improve this answer

There are several distinct concerns to consider:

  • Physical interference: are headers provided to make it possible to stack the two shields on top of one another? Do any protruding components block stacking? Do any components have metal shield cans (for example the USB connector on the Uno itself) which can short out an adjacent PCB?

  • Pin assignments: generally you cannot use the same pin for two different purposes. Many shield provide a way to alter the pins used in order to avoid those used by another shield. Sometimes you can share a pin, for example two SPI devices can usually share their clock and data lines provided they have separate selects, and you may be able to even use those signals for other purposes while the SPI select is de-asserted. Sometimes you can move a part from an unavailable hardware peripheral to a software emulated one, for example using software serial, bitbang SPI, or interrupt based PWM.

  • MCU resources: Not specifically the shields themselves, but driver libraries may end up consuming large amounts of program memory or RAM, using up timer channels, needing interrupts frequently services with low latency, etc, so combinations may not be possible or may require alterations to library code.

share|improve this answer

As long as the shield uses stackable headers (or provides alternate headers) it doesn't block any (broken out) pins, either input or output. It is possible to add more shields or components, but the circuit must still be "valid" (all inputs must be either be connected to an output or have the pullup enabled, no more than one push-pull output connected together, etc.), otherwise components may be damaged.

share|improve this answer

Yes, But sometime it interfere with The output and in input pin, and most shield use up the CS, MOSI, MISO, SCK pin. Even through on some shield like wireless SD sheild you can switch form USB to MICRO, This is going to interfere with your program. Say, when you want to access the info on your SD card to run your Motor Shield.

share|improve this answer

Yes, you can stack shields up to 4, because of power limitations. Only one this to be consider is the Pin configuration. You should make sure that the pins does not overlaps.

Example,

If I am using a gsm shield, It uses Pins 2 & 3 for Rx and Tx. I cannot mount on another shield with uses the same pin. Then we need to go for jumpers and other stuffs. A simpler way is to check the pin configuration and make sure that it does not overlaps.

share|improve this answer
2  
4 is not a specific limit, as power draw varies widely depending on what a shield does and with what technology. –  Chris Stratton May 6 at 11:48
    
Exactly, but on average it can carry 3 to 4 shields without any problem. –  Manihatty May 6 at 14:04

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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