Arduino shield compatibility?

Discussion in 'General Discussion' started by evancharlton, Dec 30, 2014.

  1. evancharlton

    evancharlton New Member

    Joined:
    Dec 30, 2014
    Messages:
    3
    Likes Received:
    0
    Hey everyone!

    I recently got a Udoo, and I'm really excited about it. However, I noticed that my Arduino shields don't fit--are they supposed to?

    It seems like a manufacturing defect placed the header pins too far apart; I've attached pictures that try to show it. The breadboard shield fits on my Arduino Due just fine, but the pins don't quite line up.

    Is this something that is a) intentional, b) I can fix, or c) something I should contact support about?

    Here are the pictures: http://imgur.com/a/5QmTa
    (Sorry for the washed-out pictures; I forced the flash so you could see the pins)

    Thanks!
     
  2. extream96

    extream96 New Member

    Joined:
    Jun 27, 2014
    Messages:
    48
    Likes Received:
    0
    Hi,
    the pin of the arduino due should match, because the pins are the same.
    Can you take other photos and tell what is the shield ?
     
  3. fetcher

    fetcher Member

    Joined:
    Mar 9, 2014
    Messages:
    166
    Likes Received:
    20
    I think that first photo is actually an Arduino Duemilanove (8-bit AVR based, 5V), which despite the name is much more like an Uno than a Due (32-bit ARM, 3.3V, many more pin headers).

    The fit problem with your shield is its extra "ICSP" header, which doesn't match up with any standard Arduino pinout-- its designers just assumed that space underneath would be vacant. You'd have the same trouble trying to plug it into a Due (rather than Duemilanove), or Arduino MEGA, which both have the same extra header for PWM signals that gets in the way of this particular shield.

    Unless you have a spacer shield to put in between, clipping off or desoldering the ICSP block from your shield may be the only solution. If that's needed to program an on-shield microcontroller, maybe it could be reattached to the end of a ribbon cable? Just be careful to get all the pins correct-- e.g. putting it on the opposite side would reverse even/odd pins.

    Before resorting to that, please double check to make sure your shield is even compatible with a Due in the first place-- if it has components blocking the Due's extra pin headers, there's a good chance it won't play well with 3.3V signal levels either, and might damage your Udoo by putting 5V on the I/O pins. The fit problem might have helped protect you from this...
     
  4. evancharlton

    evancharlton New Member

    Joined:
    Dec 30, 2014
    Messages:
    3
    Likes Received:
    0
    Thanks for the (very detailed!) response! You're right; that's a Duemilanove.

    I don't think that the extra ICSP header is my issue, unless I'm misunderstanding things (entirely likely). I think that the first two blocks of pin-receptacles aren't spaced correctly. I've updated the album (http://imgur.com/a/5QmTa) with a third image to show what's going on.

    And to clarify: this problem isn't exclusive to this particular shield. I have three, and none of them fit (though one has slightly different pins and can be forced)
     
  5. fetcher

    fetcher Member

    Joined:
    Mar 9, 2014
    Messages:
    166
    Likes Received:
    20
    I missed this before, but I think you have your shield over the wrong set of pins. It needs to be moved to the right by about 8 pin positions, or one full header, which might be why you're seeing the alignment problem. Please take a look at these photos, especially the pin labels, and note exactly which pins are in common between the Duemilanove and Due:

    Arduino Duemilanove: http://www.adrirobot.it/arduino/arduino_duemilanove/immagini/ArduinoDuemilanove lato 1.jpg
    vs. Arduino Due: http://arduino.cc/en/uploads/Main/ArduinoDue_Front.jpg

    The Due pins are more clearly labeled than on a Udoo, with no huge heatsink in the way, but their arrangement is identical.

    Note the discontinuous numbering, where pins 14 and higher begin next to pin zero. 14 and beyond are newly-added Due pins that didn't exist on smaller Arduinos, and which your shield therefore isn't designed to mate with. Most new Due pins are on that side, next to the long double-wide header, but a couple of extra ones were also added on the opposite side (SCL1, SDA1 next to AREF), so if I'm counting right, your shield will only use 8-pins of that 10-pin header, its final pin matching up with the AREF position. The same goes for the opposite side, where you'll use 6 pins of the two 8-pin headers over there, spanning from RESET to Analog-In #5 -- this area is where the power voltages connect, so it's especially important to get the alignment right.

    That ICSP header I mentioned is the 2x3 one on the righthand side of your photo, beyond the resistor and LED, which seems to be hitting another header. With the shield correctly aligned, that may no longer be a problem, unless the Udoo's power jack and/or heatsink get in its way.

    Is that a breadboard/protoboard shield? If so, I guess it has minimal onboard circuitry and should be safe to use on a Udoo (when placed on the correct pins)-- just be careful that whatever circuit you build on it is 3.3V-safe.

    good luck,
     
  6. evancharlton

    evancharlton New Member

    Joined:
    Dec 30, 2014
    Messages:
    3
    Likes Received:
    0
    Sorry, I saw this and completely forgot to reply. The short version is that I'm an idiot and fetcher is right; I was trying to put the shield on the wrong set of pins.

    Next time I'll read the board before I go around plugging things in :)
     

Share This Page