Shields and carriers can extend the functionality of your Arduino board. Learn how to find boards, shields, and carriers that are compatible.
Using only two devices
Make sure you are using devices from within the same family. You can check this in Arduino Docs.
These configurations use only two devices:
- One board, with one shield connected.
- One board, with one carrier connected.
For these, you can open the page for the shield or carrier (not the board) in Arduino Docs, and find compatible boards under the Compatibility tab.
Using more than two devices
For more complex configurations (i.e. stacking more than one shield and/or carrier), compatibility is less straightforward. A set of devices are compatible if the following conditions are met:
- They have the same footprint (part of the same product family)
- Except for SPI and I2C, they do not communicate on the same pins, or can be configured not to.
The following resources can be used to determine which pins are used, and check for conflicts.
Pinouts, datasheets, and tech specs
In Arduino Docs you can find pinout diagrams and datasheets for many devices.
- Go to Arduino Docs.
- Open the documentation page for the device.
- Check if a Pinout or Datasheet button is available.
Pinouts and datasheets may not be available for some devices.
On the device Arduino Docs page, pins may also be specified in the Tech specs section.
Additional information may be available on the product page in the Arduino Store.
Resolving device conflicts
- Remap pins using a perfboard, jumper wires, or a specialized product such as the Proto Shield. For digital pins, don’t forget to update
digitalWrite()function calls in your sketch.
- Some shields, such as the Motor Shield Rev3, have optional functionality that can be disabled by cutting the respective jumpers on the shield.