Arduino Forum

Forum 2005-2010 (read only) => Hardware => Development => Topic started by: graynomad on Sep 20, 2010, 08:09 am

Title: Shield pin usage list
Post by: graynomad on Sep 20, 2010, 08:09 am
Is there such a thing as a list of pins used by available shields from all manufacturers?

For example the DFRobot Arduino shield manual details quite well what pins are used by their shields, but that's just one manufacturer. If there was a nice big list in tabular form a designer of a new shield could pick some pins that either aren't used at all (unlikely) or aren't used by other shields that are likely to be used with the new design.

It's a big ask but you never know.
Title: Re: Shield pin usage list
Post by: Coding Badly on Sep 20, 2010, 08:43 am

Something like this...
http://www.arduino.cc/playground/Main/ShieldPinUsage
Title: Re: Shield pin usage list
Post by: graynomad on Sep 20, 2010, 08:54 am
Exactly like that, but more comprehensive as there must be 100s of 3rd party shields out and about.
Title: Re: Shield pin usage list
Post by: Coding Badly on Sep 20, 2010, 09:17 am

It's the only one I know about.
Title: Re: Shield pin usage list
Post by: graynomad on Sep 20, 2010, 09:23 am
OK thanks, maybe there's a project for a bright young lad, if only I knew one.
Title: Re: Shield pin usage list
Post by: mowcius on Sep 20, 2010, 10:52 am
http://www.duinoaday.co.uk/shields.html
The pin usages are not all defined as you will see but that is the best list of shields.

Some shields are still on my list to add too.

If anyone wants to find out what all the pins are on all the shields then I will happily add it on/create a table for it.

The problem is that often, that info is not stated, they just work. If you want to know what pins they use, you have to work it out.

Mowcius
Title: Re: Shield pin usage list
Post by: graynomad on Sep 21, 2010, 09:38 am
Thanks for that list Mowcius.

I've tabulated that, looked at a stack of schematics, and generally faffed around to come up with this.

http://www.robgray.com/temp/Arduino-shield-pins-used.xls

If you don't trust an XLS file here's a screen shot

http://www.robgray.com/temp/Arduino-shield-pins-used.png

Coding badly: I've done the ones from the Arduino site as well, although most were also on Mowcius' list.

Many still have ? in their row, sometimes this is because there doesn't appear to be a public schematic, with others it's because I had to download a ZIP and haven't got around to extracting the schematic yet.

I've had enough for the moment, gone cross-eyed looking at this lot. But if it's worthwhile I can verify more over time, or maybe others can chip in or the owners of these boards can tell us exactly what pins they use.
Title: Re: Shield pin usage list
Post by: mowcius on Sep 21, 2010, 11:42 am
Quote
I've tabulated that, looked at a stack of schematics, and generally faffed around to come up with this.

www.robgray.com/temp/Arduino-shield-pins-used.xls

If you don't trust an XLS file here's a screen shot

www.robgray.com/temp/Arduino-shield-pins-used.png

Well I can trust it when I'm not on my computer  ;D
I have saved that, looks very nice, just need a way to get that as a nice looking table on a website now. If I get the time, i might see what I can come up with.

Quote
But if it's worthwhile I can verify more over time, or maybe others can chip in or the owners of these boards can tell us exactly what pins they use.

Well if we can get some kind of permenant web-based version (not google docs...) then it will definitely be useful to a lot of people.

Mowcius
Title: Re: Shield pin usage list
Post by: graynomad on Sep 21, 2010, 11:58 am
Thanks Mowcius,

A lot of schematics just have signals coming from small 1, 2 or 4-way headers with no real indication of where the signal comes from. You would have to check out the PCB to see where the header is physically located.

Also many schematics show all the Arduino signal names on a header but don't actually use them so you have to trawl the schematic looking to see if the signal was used or not.

Still it's a start, treat it with a grain of salt for the moment, but if you can figure out how to present it on a web page when we're happy that it's pretty right it would be a useful resource I think.

When/if you get around to it, may I suggest a "verified" column that indicates that the info is almost certainly right.

Rob
Title: Re: Shield pin usage list
Post by: mowcius on Sep 21, 2010, 12:36 pm
Quote
When/if you get around to it, may I suggest a "verified" column that indicates that the info is almost certainly right.

Sounds like a good plan.  :)

Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Oct 06, 2010, 02:29 pm
GrayNomad, that's a great idea. I really like the idea of making it an online resource, and since that's the sort of thing I do in my day job (my actual job is CTO of a web app development company: www.ivt.com.au) I'd love to have a go at it.

Mowcius, do you mind if I have a go at setting up an online shield database or have you already started work on it?
--
Jon
Title: Re: Shield pin usage list
Post by: mowcius on Oct 06, 2010, 10:24 pm
Quote
Mowcius, do you mind if I have a go at setting up an online shield database or have you already started work on it?


Go right ahead. I have been too busy with my current electronics project to do any web based stuff (and my websites need it  :().

If you do sort one then I would love to whack it up on my website:
http://www.duinoaday.co.uk/shields.html

Mowcius
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Oct 07, 2010, 08:51 am
I've made a little bit of progress on this. I now have the database structure in place with a few shields inserted for testing, and I've created a basic public UI that lets you browse through a list of brands, then through a list of shields for each brand, then see the details of each shield including a description, a link to the manufacturer's site, an image of the shield, the pin assignments, and notes. There's no visual style applied at all so far, just black text on a plain white page.

While it's still under early development I have it showing nothing publicly unless it's accessed by my IP address, but ultimately it will live here:

http://shieldlist.org

The system already accepts arguments of brand and board in the URL, so for example to view a list of all shields manufactured by Gravitech I can do this:

http://shieldlist.org/gravitech

Or to see details of a specific shield I can do this:

http://shieldlist.org/gravitech/7seg

Right now you won't be able to see anything at those URLs since it only works for me until I remove the IP restriction.

Next up I'll suck in the data compiled by GrayNomad so there's a good base dataset to work from, then try to neaten up the display a bit with some CSS applied to it.

Following on from that I'll add the ability to search by various criteria (such as pins used), compare shields, and submit new shields for inclusion. If anyone has ideas about other features they'd like to see please speak up.

I'm hoping to make it publicly visible this weekend, even if it's just in a crude form.
--
Jon
Freetronics: www.freetronics.com
Title: Re: Shield pin usage list
Post by: mowcius on Oct 07, 2010, 09:48 am
Quote
Following on from that I'll add the ability to search by various criteria (such as pins used), compare shields, and submit new shields for inclusion. If anyone has ideas about other features they'd like to see please speak up.

I'm hoping to make it publicly visible this weekend, even if it's just in a crude form.

Sounds good.

Mowcius
Title: Re: Shield pin usage list
Post by: graynomad on Oct 08, 2010, 04:33 pm
Good one Jon, can't wait to see the results.

BTW, here's a shield just mentioned on another thread

http://www.skpang.co.uk/catalog/product_info.php?cPath=140_142&products_id=706

I won't add it to the table because you've probably already grabbed it.

Rob
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Oct 09, 2010, 11:16 am
I pulled the spreadsheet on Friday and imported it into the database, so any additions now I'll make through the DB itself.

I've just removed the IP restriction from the site so you can now poke around in it:

http://shieldlist.org/

There's a *lot* missing, particularly in relation to display of which pins are used (it's just a list at the moment) but the basic infrastructure is now in place so I can start adding the funky stuff.
--
Jon
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Oct 09, 2010, 11:27 am
Oh, and forgot to mention that I'll add more information about each shield as well including an image, description, etc. Right now most of them are just minimal information. For an example of one that looks mostly complete (except for the non-functional pin usage display on the right) see this one:

http://shieldlist.org/gravitech/7seg
--
Jon
Title: Re: Shield pin usage list
Post by: mowcius on Oct 09, 2010, 01:06 pm
Quote
Wise Time (1 shield)

Florin Chiperi who makes this shield does not have a company name as far as I know so not sure how this should work but that seems wrong...

The website looks very neat. You going to have some way to compare shields?

I thought before that the best way would be to have a page with them all listed and tickboxes by the side (or similar), then you can select shields to compare and it'll show which pins are the same on the shields, and what their requirements are.

Is the generic board image going to show something (pcb file?)

Mowcius
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Oct 09, 2010, 01:45 pm
Yes, I puzzled a bit over how to handle the situation where a shield is produced by an individual without a company name. I settled for using their personal name in a couple of cases, for example:

http://shieldlist.org/andreconcalves/hbridge

I figure I'll just take it on a case by case basis depending on what the shield creator prefers.

Regarding comparing shields, that's definitely my intention. Right now I'm just getting the basic data structure right and some content in there plus display of details for individual shields, but then it'll be easy to add a table that lists shields in a spreadsheet-like format.

I also have a vague idea of having a "compare shields" thing where you can browse through and add them to a comparison table or something (a bit like adding products to a shopping cart), then view the table with just those shields included. Don't know the best way to handle that yet.

My priority right now is adding a form to let new shields be inserted into the DB, then fixing the shield details page so it shows pin usage properly.
--
Jon
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Oct 10, 2010, 03:41 pm
Made some progress over the weekend. The shield detail pages now have a semi-visual representation of the pins used. It didn't quite work out as well in reality as it did in my head, unfortunately, but it still looks OK I think.

I've also added a form for submitting new shields (including uploading a pic). Anything submitted via the form goes straight into the DB, but with a flag that keeps it hidden until I've reviewed it. The form isn't very well tested but it seems to work and it's time I got some sleep.
--
Jon
Title: Re: Shield pin usage list
Post by: graynomad on Oct 10, 2010, 04:20 pm
Hi Jon,

It's starting to look the business, did you eat or sleep over the weekend?

On the "enter new shield" dialogue with my browser (IE7) the longer signal names (D11/MOSI etc) wrap around and throw the alignment out for all checkboxes below.

On the Jimmie Rodgers page

http://shieldlist.org/jimmierodgers

The link to his home page

http://jimmierodgers.com/

Doesn't appear to have anything to do with shields or Arduinos.

Also the spacing between D7 and D8 should be .16"  :)

Rob
Title: Re: Shield pin usage list
Post by: graynomad on Oct 10, 2010, 04:36 pm
Quote
The link to his home page

http://jimmierodgers.com/

Doesn't appear to have anything to do with shields or Arduinos.


Just worked it out, should be

http://jimmie[glow]p[/glow]rodgers.com/
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Oct 10, 2010, 11:35 pm
Oops, thanks for the fix for http://jimmieprodgers.com. I've updated the DB now.

Quote
did you eat or sleep over the weekend?


Not much! In the end I decided to write the whole thing from scratch (right from the basic database connectivity and template parsing up) rather than base it on an existing CMS, because I have a vague idea that it could be good to release the entire source code for the system at some point. I'm already thinking about exposing the underling data in some way, either a basic on-demand CSV export or a proper API. I want this system to be as open as possible.

Quote
On the "enter new shield" dialogue with my browser (IE7) the longer signal names (D11/MOSI etc) wrap around and throw the alignment out for all checkboxes below.


Thanks, I'll check that out. I haven't even started on cross-browser testing yet: the only thing I've used to look at it so far is Chrome on Linux, and getting that shield representation to work nicely across all browsers is going to be a pain. But it was very late when I get it half-working, so I went to sleep instead   ;-)
--
Jon
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Oct 11, 2010, 08:15 am
We've hit 61 shields now, and thanks to the assistance of a few people I've now retrospectively added images and descriptions to many of the imported shields as well. My goal is to hit 100 shields listed by the end of this week and to have completed filling in the missing info for all the existing entries.

Still lots of UI stuff to be done, of course.

http://shieldlist.org/
--
Jon
Title: Re: Shield pin usage list
Post by: nocheinAndi on Oct 13, 2010, 12:36 pm
Thanks Jonathan, great work :)


PS:
Firefox 3.6.10 on W2k just looking fine :)
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Oct 14, 2010, 02:32 am
Arduino Shield List now has a simple search feature. Just stick in one or more keywords and it'll search across shield names, maker names, shield descriptions, and shield tags.

 http://shieldlist.org/
--
Jon
Title: Re: Shield pin usage list
Post by: macegr on Oct 14, 2010, 03:26 am
Awesome!

OK, now we need the same thing, except for libraries ;)
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Oct 14, 2010, 03:32 am
@macegr: That's a great idea! Give me a few mins ...

/me slaps himself

It wouldn't take much to modify the shieldlist code ...

/me slaps himself harder

(mumbles) I won't take on new projects, won't take on new projects, won't ...
Title: Re: Shield pin usage list
Post by: graynomad on Oct 14, 2010, 04:42 am
There's nothing else for it Jon, you'll just have to give up the day job  :)

______
Rob

Title: Re: Shield pin usage list
Post by: Yot on Oct 15, 2010, 08:59 am
Would it be a problem that the 'Shield Image' form accepts a link to an image as well? Saves me (us) a download and upload of the image.

Added 1 shield.

Thanks,
Jeroen
Title: Re: Shield pin usage list
Post by: liuzengqiang on Oct 15, 2010, 03:47 pm
Graynomad,  Jonathan Oxer

You both did an excellent job! A lof of people will benefit from this.

[glow]One quick thing: arduino.cc says the ethernet shield uses pin 4 (found in multiple locations on arduino.cc) for the sd card but your website has pin 2.[/glow]BTW, what are analog 0 and 1 used on this shield? I don't have this shield but would like to know.
Title: Re: Shield pin usage list
Post by: graynomad on Oct 15, 2010, 06:29 pm
Thanks liudr, I started it but Jon's done the hard work.

Looking at the ethernet shield schematics we have

A0 -> WP - write protect
A1 -> DETECT - probably used to detect if the card is inserted
D2 -> SS
D10 -> PD2
D11 -> MOSI
D12 -> SD_CS/MISO
D13 -> SCK

Whether that matches the site I don't know (too late to check now) but it looks like the Arduino site is wrong. There's two revisions of this board, maybe the text refers to the earlier version.
______
Rob

Title: Re: Shield pin usage list
Post by: liuzengqiang on Oct 15, 2010, 07:09 pm
Graynomad,

I re-read the latest schematic. J1 in the schematic is pins D8-13, J3 is pins 0-7. SS is marked on J1-3, which is pin 10. This is for the ethernet controller. PD2-, an interrupt, is marked at J3-3, which is pin 2 (hopefully the jumper is not connected). SD-CS is marked at J3-5, which is pin 4.

Could you re-check? I'm trying to design a shield compatible with the ethernet shield, which I don't have.
Title: Re: Shield pin usage list
Post by: graynomad on Oct 16, 2010, 03:12 am
Hi liudr,

Just ckecked the schematics (arduino-ethernet-shield-05-schematic.pdf), I get is this

J1-3 -> SS -> D2

J2-1 -> WP -> A0
J2-2 -> DETECT -> A1

J3-3 -> PD2 -> D10
[glow]J3-5 -> SD_CS -> D12[/glow]

[glow]ISP-1 (J3-5) -> MISO -> D12[/glow]
ISP-3 (J3-6) -> SCK -> D13
ISP-4 (J3-4) -> MOSI -> D11

I don't see them using D4 (I assume by pin 4 you mean digital 4)

What I don't understand is the two highlighted signals. They get MISO from the ISP header, but on the Arduino that's connected directly to J3-5 which they also use for SD_CS. Qué ???

So although these signals do different things on the shield they are connected together on the Arduino.

MISO and SD_CS are electrically the same, so how can the SD card's data output also be it's chip select?  :-/

Have I missinterpreted something here?

_____
Rob (confused)



EDIT: Just checked this against shieldlist.org, and it matches.
Title: Re: Shield pin usage list
Post by: davekw7x on Oct 16, 2010, 06:50 am
Quote
Have I misinterpreted something here?


For starters:

J3-3 is Arduino digital pin 2 (not 10)
J3-5 is Arduino digital pin 4 (not 12), and is used as the SD Chip select.

From the schematics, it doesn't look like pin 2 is connected to the W5100 interrupt pin, but I don't have a new Shield to inspect.  Just look to see whether there is a solder bridge across the contacts of the "INT" component.  The Arduino Ethernet library does not use an interrupt from the Wiznet chip, so it doesn't have to be connected here.

The pins used as ICSP connections for MISO, MOSI, and SCK for a Duemilanove or UNO are different than those for a Mega1280 or Mega2560.

If the Shield is plugged onto a board with an ATMega328 (or 168) here are the connections:

MOSI is Arduino digital pin 11
MISO is Arduino digital pin 12
SCK  is Arduino digital pin 13


If the Shield is plugged onto one of the Mega boards they go like this:

MOSI is Arduino digital pin 51
MISO is Arduino digital pin 50
SCK  is Arduino digital pin 52


For the new Ethernet shield, Arduino digital pin 10 is used as Ethernet Chip select, no matter which board it is plugged into.  For a '168 or '328 chip, this pin (the SS pin) is also set (by the Ethernet library) to the output mode to initialize the hardware SPI interface circuit in the SPI master mode.

If the Shield is plugged into one of the Mega boards, Arduino digital pin 53 is the SS pin that the Ethernet library sets to the output mode to initialize the hardware SPI interface on the ATmega chip, but is not used on the Ethernet shield (so it can be used for whatever output functionality you would like; just don't make it an input).


Regards,

Dave

Footnolte:
The old Arduino Ethernet Shield used pins 10, 11, 12, and 13 as the SPI port signals (from the digital pin connector, not from the ICSP connector) and, therefore was not compatible with a Mega board without modifications that would bend pins or cut traces to these pins and connect jumpers from the Mega connector way at the end of the board to the signal points on the Shield.  It could be done (I did it), but the new way, using the ICSP connector, is (obviously) cleaner.  Chalk one up for the Arduino Hardware Design team.
Title: Re: Shield pin usage list
Post by: graynomad on Oct 16, 2010, 07:24 am
Quote
MOSI is Arduino digital pin 11
MISO is Arduino digital pin 12
SCK  is Arduino digital pin 13

Agreed, same as my post, but


Quote
J3-3 is Arduino digital pin 2 (not 10)
J3-5 is Arduino digital pin 4 (not 12), and is used as the SD Chip select.

Are we looking at the same schematic? I'm using

http://arduino.cc/en/uploads/Main/arduino-ethernet-shield-05-schematic.pdf

The Arduino and the shield schematics have J1 and J3 swapped on the page.

______
Rob


Title: Re: Shield pin usage list
Post by: davekw7x on Oct 16, 2010, 08:31 am
Well...I don't have a way to open the Eagle board file just now, so I can't see how the headers line up with a Duemilanove or a UNO or a Mega board, but regardless of the component designations on the various schematics, here's the deal:

There are two eight-pin headers on that Shield schematic.

Position 6 of J1 is clearly marked "PIN13" and position 7 is marked "GND" and position 8 is marked "AREF."  Therefore, I infer that position 3 of J3 is "PIN2" and not "PIN10."  Similarly, position 5 of J3 must be "PIN4" and not "PIN12."

In other words, J1 on the Shield plugs into J3 on the Duemilanove and J3 on the Shield plugs into J1 on the Duemilanove.  (The same designations appear on the old Ethernet shield schematic, and I do have a couple of those, and I can verify that that's the way it is.)


Regards,

Dave
Title: Re: Shield pin usage list
Post by: graynomad on Oct 16, 2010, 09:12 am
Deary me you're right, J1 = J3 and J3 = J1.

I latched onto the designations assuming that they would be a defined standard not left up to the whim of every PCB designer. I know you normally designate components in a logical progression across/down a PCB but with a standard all important components should be called the same thing by everyone and Arduino is arguably a standard.

You live and learn eh? Sorry for the confusion.

______
Rob



Title: Re: Shield pin usage list
Post by: liuzengqiang on Oct 17, 2010, 02:31 am
Alright! Then it's arduino digital pin 4 then. Thank to both of you! I will attach a button to arduino digital pin 2 since it's unlikely used.
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Oct 17, 2010, 11:47 pm
Quote
Would it be a problem that the 'Shield Image' form accepts a link to an image as well? Saves me (us) a download and upload of the image.


That's possible, it just means that I would have to download and upload it instead. None of the fields on that form are required though so for shields where people don't include an image I just look for one myself. In fact in some cases the images uploaded by submitters are very poor quality so I go and find a better one myself anyway.

Thanks for the suggestion!
--
Jon
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Oct 18, 2010, 12:02 am
The official Ethernet shield came up as an early problem for me when adding to @GrayNomad's list, because it's been available in several versions. The latest one is (I think) version 5, and the record in the DB is mostly a reference to v4 (including the photo) but the pinouts are for v5.

I'm intending to duplicate the record and have separate entries for v4 and v5.
--
Jon
Super-cheap prototyping shields: www.freetronics.com/protoshield-basic
Title: Re: Shield pin usage list
Post by: mowcius on Oct 18, 2010, 09:25 am
Quote
The official Ethernet shield came up as an early problem for me when adding to @GrayNomad's list, because it's been available in several versions. The latest one is (I think) version 5, and the record in the DB is mostly a reference to v4 (including the photo) but the pinouts are for v5.

I'm intending to duplicate the record and have separate entries for v4 and v5.

Maybe have one page for the latest version but then have links off that for previous versions. Saves filling the site up with lots of versions of shields.

Mowcius
Title: Re: Shield pin usage list
Post by: robtillaart on Oct 20, 2010, 09:25 pm
Thanks for the great list, now it's far easier to create my Xmas wish list :)

An idea came into my mind when reading this discussion. Could shield manufacturers place a mark which pins the shield uses? e.g. a square or a circle around the pinnumbers or just inverse print the number on the shield itself, or don't print the numbers used as these pins are not available? As I have no experience in designing boards I do not know what's possible or easy to do. Are there reasons not to mark the pins? e.g. some pins are optional and others aren't? Different markings?

Just thinking out loud,
Rob
Title: Re: Shield pin usage list
Post by: mowcius on Oct 20, 2010, 09:27 pm
Rob, sounds like an easy thing to do. Maybe some companies would take it on board. I would put a box around them or some kind of other indication like you said.

Mowcius
Title: Re: Shield pin usage list
Post by: robtillaart on Oct 20, 2010, 09:41 pm
Hi Mowcius,
Could it be standardized in some way? e.g. in the shield development guidelines? Does such a doc exist? only saw http://arduino.cc/en/Main/ArduinoShields

Rob
Title: Re: Shield pin usage list
Post by: mowcius on Oct 20, 2010, 10:33 pm
Quote
Could it be standardized in some way? e.g. in the shield development guidelines?

Possibly but nobody would ever read it. People always do what they like.

It's a good idea though. I will pass it round...

Mowcius
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Oct 21, 2010, 02:43 am
Good idea Rob, that's something I've been telling people for a long time! There's been some discussion of shield design standards in places like this:

http://www.practicalmaker.com/blog/arduino-shield-design-standards
http://www.practicalarduino.com/news/id/701
http://www.practicalarduino.com/news/id/661

One of my personal irks (and one of the reasons for http://shieldlist.org) is not being able to figure out what pins are used on a shield simply by looking at it. I mentioned it in the video review I did mid last year for the WiShield v1, and asynclabs subsequently fixed it in v2. The original video is embedded here:

http://shieldlist.org/asynclabs/wishield-v1

I'm doing a talk about "Arduino Shield Design Considerations" at the Arduino Miniconf in Brisbane, Australia next January, too:

http://lca2011.linux.org.au/wiki/Miniconfs/ArduinoMiniconf
--
Jon
Arduino-compatible "TwentyTen" with built-in prototyping area: www.freetronics.com/twentyten
Title: Re: Shield pin usage list
Post by: graynomad on Oct 21, 2010, 03:53 am
On a similar note, that's why I came unstuck looking at the Etthernet shield schematic the other day, P1 and P3 where "swapped" between the shield schematics and the Arduino but I assumed that there was a standard and "P1" was the same on all schematics.

Usually you name components in order on a board so they are easy to find but for important, common, and static components like these headers I think they should have standard names. If not P1 etc then "Power", "Analogue" etc. This is often done on the PCB as mentioned, but they they should have standard names on the schematics.

This is a good argument for the Apple model whereby a single entity defines what will be done and there's little room for interpretation. That's not the model we want here I guess but some standardisation should be striven for.

______
Rob
Title: Re: Shield pin usage list
Post by: robtillaart on Oct 21, 2010, 08:48 am
Hi Jon,
Thanx for these sites, lot of good info.  these sites should be mentioned on   http://arduino.cc/en/Main/ArduinoShields but I have no rights :(
Furthermore you might put a link "Shield Design Considerations" on the homepage of http://shieldlist.org/ and teach the world :)

Rob
Title: Re: Shield pin usage list
Post by: ThatBozGuy on Oct 21, 2010, 09:24 am
Quote
One of my personal irks (and one of the reasons for http://shieldlist.org) is not being able to figure out what pins are used on a shield simply by looking at it. I mentioned it in the video review I did mid last year for the WiShield v1, ....


;D I used pet peeve in my write up here (http://www.musheen.com/arduino-shield-list-1093.html) last week

Quote
If you have ever seen Jon Oxer, author of the book Practical Arduino, discuss a shield, as he does in this video review of AsyncLabs WiShield for Arduino, you would probably easily observe that one of his pet peeves is designs that dont let you know shield pin assignments when using the shield.


Because I couldn't catch the term you used, what was the term at
4:42 was it bug bears?Video 4:42 (http://www.youtube.com/watch?v=EunS2cdTyKo#t=4m42s)

One of my concerns has been I would like to add more to the list but just can't tell what pins are used on some boards I have found, that aren't in the database, but I just I dont know how to enter them.

My concern was if I entered them with the wrong pins(as in guesses) it might stop someone who would know would then not enter the right info, so I just chose not to enter them.

Would you still like the info entered?
Title: Re: Shield pin usage list
Post by: mowcius on Oct 21, 2010, 11:01 am
Om nom nom free stuffs :)

Do I get something for each shield I submit or just the one? :D

Would it be tricky to add the ICSP header onto your pin usage diagram? Quite a number of shields use it now (especially to become mega compatible).

What about Mega shields, you accepting those too?

Mowcius
Title: Re: Shield pin usage list
Post by: mowcius on Nov 02, 2010, 09:09 pm
Hmm no free stuffs yet...

Mowcius waits patiently.
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Nov 02, 2010, 11:04 pm
Hi Mowcius, I emailed asking for your postal address but I don't think I ever got a reply. I've just searched my email again to make sure and I can't find anything.

Could you please email your postal address to jon@oxer.com.au again?

Cheers
Title: Re: Shield pin usage list
Post by: mowcius on Nov 03, 2010, 09:37 am
Quote
Hi Mowcius, I emailed asking for your postal address but I don't think I ever got a reply.

Hmm, didn't receive anything but it might have been due to my end. My email program had a phase of sending out random reply email addresses...

I'll send it.  ;)

The website's coming on great.

Mowcius
Title: Re: Shield pin usage list
Post by: RobotPower on Nov 03, 2010, 11:07 pm
You should make sure you have a way to handle optional pin usage.  

My new motor shield http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1288647984/0#0 can use any of the 6 PWM outputs, several of the digital outputs for enable and any of the 6 analog inputs - all user selectable via jumpers.  

Further different numbers of pins can be used for this shield in different operational modes.  The minimum number is 1 and the maximum is 5.

It doesn't seem fair to say the unit uses all of the possible pins and yet it should be indicated somehow those CAN be used.

Just a comment, hard coding particular pins seems dumb to me if you want your shield to be able to work with others.

/me
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Nov 03, 2010, 11:38 pm
Quote
You should make sure you have a way to handle optional pin usage.


That would be nice, but I haven't figured out a nice way to handle it. It would add a lot of complexity to the user interface (both current and intended) for the site because there are so many possible scenarios.

It's not as simple as adding a third pin option so they can be flagged as "used", "not used", or "optional". Often the options are tied together, so a shield may use one combination of pins in one mode and another combination of pins in another mode. A good example of this is the Spikenzie Labs Button 64 Shield (http://shieldlist.org/spikenzie/b64) because it can use either:

D0

OR

D2, D3, and D4

but not both groups at the same time.

So if I just marked D0, D2, D3, and D4 as "optional" it would be technically correct, but just as misleading as marking them as all used. People might think they could use any one of them or even none of them when that's not the case. D2-4 would really need to be bound together into a group, and D0 defined as another group, and those groups be defined as mutually exclusive but with one or the other required. But how would that be represented visually?

Mutually-exclusive-but-required groups is one scenario. Then there are others such as optional pins that are required by some features that may not be used by others such as the SD card slot on the new Ethernet shield that may not be used by many people (http://shieldlist.org/arduino/ethernet-v5). Or shields that are nothing but breakouts, so they could use *all* the pins or *none* of them, depending on what else is attached (http://shieldlist.org/seeedstudio/brick-chassis).

Showing optional pin usage sounds good in theory, but when you try to figure out how to actually store / represent that information it suddenly becomes a surprisingly difficult problem!

For now I'm handling it by marking the "default" or basic pin use in the DB, and adding a text note about alternative assignments. At least having all this info in text form in one place is a huge improvement on how things were a month ago.
--
Jon
Freetronics: www.freetronics.com
Title: Re: Shield pin usage list
Post by: mowcius on Nov 04, 2010, 10:28 am
As a minimum I'd say we need the SPI header as some shields now use that and some bring it up with through headers too.

Mowcius
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Nov 05, 2010, 02:22 am
Quote
I'd say we need the SPI header


I assume you mean the ICSP header? I planned for that right from the start and the fields are included in the DB, but when I was putting together the form with the pins represented by checkboxes it was late at night and I couldn't be bothered adding them in. I planned to get back to it, but I just haven't yet  :-(

By the way, there's now a parcel heading your way. It will probably take a week or so to the UK though.
--
Jon
Title: Re: Shield pin usage list
Post by: mowcius on Nov 05, 2010, 12:12 pm
Quote
I assume you mean the ICSP header? I planned for that right from the start and the fields are included in the DB, but when I was putting together the form with the pins represented by checkboxes it was late at night and I couldn't be bothered adding them in. I planned to get back to it, but I just haven't yet

Yeah that's what I meant  ;D

Quote
By the way, there's now a parcel heading your way. It will probably take a week or so to the UK though.

Great!
Title: Re: Shield pin usage list
Post by: mowcius on Dec 10, 2010, 01:09 pm
Hey, Jonathan, you mentioned that you would release the source code for the website.
I'm looking to do something with a database like you have but I have never dealt with them before so it'd be nice to have something to start off from.

Thanks,

Mowcius
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Dec 10, 2010, 02:21 pm
That's right, I'd forgotten I was going to do that. I'll do a bit of a cleanup and put it on GitHub.

I wouldn't take it as an example of a great way to do it though!
--
Jon
Title: Re: Shield pin usage list
Post by: mowcius on Dec 10, 2010, 02:29 pm
Quote
I wouldn't take it as an example of a great way to do it though!

Well it seems to work ok :D

I've used one of my protoshields now ;) Well, almost. I have it reserved for something...
Title: Re: Shield pin usage list
Post by: jmrobert on Dec 10, 2010, 03:09 pm
Hi,

I love the site, but PLEASE get the tabular form up.

Also, since I view this from a developers side,
IF a shield uses I2C, please list the ADDRESS or ADDRESS Range usable.

Also how might one develop a spi shield and give a few choices for CS/SS pins?  Everyone can't be on 10 or whatever the default CS is.
What if a user wants to use >1 spi device?

Thanks.
Title: Re: Shield pin usage list
Post by: Jonathan Oxer on Dec 11, 2010, 09:03 am
Quote
IF a shield uses I2C, please list the ADDRESS or ADDRESS Range usable.


For things like that I list it in the "notes" section that appears directly below the shield diagram, but only if I know what it is. I've spent many, many hours going through circuit diagrams and documentation for shields trying to find info like that but I can't do it all myself! If you have information about any particular shields please click the link at the bottom of the page to send me a correction.

Quote
Also how might one develop a spi shield and give a few choices for CS/SS pins?


That's entirely up to you. The easiest is probably to run something like a 2x3 male header, with all pins on one side connected to the chip CS and the other three pins connected to three digital lines. Then users can put a little 2-way jumper header in place to select which digital line to use.
--
Jon
Security Sensor Shield: www.freetronics.com/secsense
Title: Re: Shield pin usage list
Post by: NRG_WILL on Jan 20, 2011, 07:10 am
Ok, you guys are the pin experts... I have found 100 different takes on this... so what is the answer:

I have an Arduino Mega 2560 and and EthernetSD- V5 it looks like from your "Shield" website.

Does one have to run jumpers and bend out the pins for 10,11,12 and 13 and jump them to 50,51,52 and 53??? :'(

please help the noob!  ::)
Title: Re: Shield pin usage list
Post by: remspoor on Jan 20, 2011, 10:37 pm
Hi,

Version 5 is compatible with the Arduino Mega 2560. The PCB has an ICSP connector at the bottom to reach the right pins i believe.

This is from the shield page (i couldn't post a link, 1st post?)
- 8< ----
It is compatible with the Arduino Duemilanove and Mega (using the Ethernet library coming in Arduino 0019)
- 8< ----

I'm using these 2 boards myself without modifying anything

Sooo.... _NO_ pin bending needed ;-)

Rinus