Shields


Team Shields aims to provide and support development for shield components. Click on the team logo to check the compatibility status and testing progress for all supported platforms and shields.

You are viewing an older revision! See the latest version

Shield Design Guide

Many development boards for sensors and microcontrollers have adopted the Arduino Uno R3 header configuration. There are plenty of derivatives to this but some commonallity does exist. When designing a Shield whether it be for a MCU (target) or a sensor/radio/peripheral (device) using the following guidelines will ensure the most cross target compatibility.

Pinnout

Peripheral Mapping

I2C – D14, D15 SPI – D10-D13 Serial – D0, D1 Analog – A1-A5 NOTE: Avoid A0, on other platforms this is a 32KHz clock

Target Notes

  • Avoid wiring a single MCU pin to multiple breakout headers
  • SDK should resolve names to MCU specific pins (PinNames.h)
    • A0 ... A5
    • D0 ... D13
    • I2C_SCL ... I2C_SDA
  • Order of prescience for IO is 0 ... 13 (analog and digital). If not enough pins are available, connect starting at 0

Device Notes

  • Provide a well documented C++ library for all on board components
  • Provide a well documented demo application that uses the provided libraries in a simple but meaningful way
  • Test you design on as many platforms as possible and document known incompatibilities. These should be the minority and easier to maintain

All wikipages