General guides for shields and arduino

First of all I enjoy the Arduino platform greatly!

The thing I think you have missed in the design - it the compatibility guidelines.

The xbee shield can only sit directly on the arduino. Most larger shields cannot sit on the Ethernet shield - or the Ethernet board and so on.

The principle of shields looses their power.

I know it is hard to forth see if the Ethernet is higher than the USB part - but this should be incorporated into the design - or at least the design guidelines.

It must be a goal that you can "stack" all shields on all arduinos....

Just my take....

IMO this is a flaw in the Arduino design, there appears to have been no thought about pin clashes with multiple shields, or at least nothing done to handle it.

Trouble is an addressing scheme would make things more complicated and require tristate buffers on shields etc.

Some manufactures allow jumpering of the pins they need and that helps, but in general if two shields clash you're out of luck.

You can check by going to shieldlist.org but that doesn't fix the fundamental problem.

I haven't seen this raise many times (if at all) so I assume most people only use 1 or 2 shields and/or are lucky.


Rob

Graynomad:
Trouble is an addressing scheme would make things more complicated and require tristate buffers on shields etc.


Rob

Not to threadjack, but would you mind expanding on this concept Graynomad. What would this do, how would you see it working?

Here's one I prepared earlier. :slight_smile:

http://quub.robgray.com/index.php

I think it would be practical to retro fit addressing to the Arduino design but only for new shields that supported whatever mechanism you came up with. It's too late for the 250-odd existing shields I think although I haven't put my mind to the problem.

I used SPI for comms between the boards because it's a lot faster than I2C, and a custom control chip on each stacked board that did the addressing (up to 16 slave boards) and also allowed the master board to reset any slave or give a slave access to a debug bus that gives them access to some simple IO for debugging. The basic interface required just 5 wires.

I also allowed for addressable dumb boards with tri-sate buffers so they could share the backplane and finally non-addressable dumb boards that were of course subject to the same issues that Arduino shields are.

I was interviewed about this for Electronic Design

http://electronicdesign.com/article/embedded/QUUB-An-Experiment-In-Tiny-Computing.aspx

But have done nothing more with the design due mostly to having not enough money and too many ideas :slight_smile:


Rob

Oooh, got that one bookmarked!
Now to find something interesting to do with Mini-uino's ...