Arduino Uno shield design conventions

Hi, I'm in the middle of designing an Arduino Uno shield and have a couple of questions about design conventions.

1) I'll be using every input/output pin on the Uno. I can't see any feasible reason why you'd want to stack another board on top. Is it the convention to still use stackable headers anyway? Nearly every shield I've seen uses stackable headers.

2) The R3 Uno has longer headers than the R2 and R1. I'm not using the extra pins (I don't even know what they actually do!). Is it generally the convention to use the R3 header lengths, even though I'm not using those pins?

3) I'm not going to be able to fit all the components within the Uno footprint. Are there any dos/don'ts about which ways I can extend the PCB?

cheers Paul :)

  1. If you will leave no usable pins, then stackable would not make sense. However - I2C is a bussed signal, so cards that are I2C only could be stacked. Then stackable would make sense. If you are using A4/A5 or D18/D19 and not I2C, then stacking would not make sense again. In the end, it's your call as the designer.
  2. The 'extra pins' present the I2C signals at another location, and provide 5V (or 3.3V) at another location as a reference level. You do not need to connect to them. In the end, it's your call as the designer.
  3. Once agian, it's your call as the designer. I would refrain from extending past the barrel jack/USB connector end, your card would just get in the way of plugging in cables there.

Great thanks. I'm not using the I2C bus for this, so will probably go non-stackable. I'll probably extend on the opposite end to the USB connector. Thanks for the advice - very handy to get a second opinion! Paul

You're welcome.