How to access SPI on Arduino Due with Uno Proto Shield

This seems to be a known problem, eg: http://forum.arduino.cc/index.php?topic=197083.0

But I do not like the advice given in that thread (unsoldering the SPI connector).

I found a simple solution, just bend the three pins not available on shield (ICSP.1, .3 and .4) with a nipper to a degree of 45 degrees. That allows plug connection that stays below the proto shield: |500x375

I needed the SPI pins to connect a ILI9341 320x240 display. The border of the display does not allow to use a connector directly besides the display connector, therefore I made one connector a bit sloped with two little spacers: |500x415

3.3V was available once, but needed for LED and VCC of display. For that the 5x1 connector on the left side was added.

Finally I added two 3x8 connectors for a motor controller.

This is the connected and working result (Arduebot with ILI9341_due library "graphicstest" running): |500x375

The display on Arduebot will be used for PID controller constants determination while Arduebot is trying to drive fast parallel to a dentless long wall..

For me bending 3 pins seems to be less invasive than unsoldering the whole connector, and easier to revert.

Hermann.

The official Arduino Protoshield connects to the 3x2 SPI header. So does the current Adafruit Protoshield.

It appears that you are using the old obsolete Adafruit Protoshield which does not mate.

Yes, I think it is an excellent idea to solder headers onto a Protoshield to suit your motors or ILI9341 display. You end up with a robust physical sandwich that has reliable electrical connections.

I really dislike the idea of bending the Due SPI header. It makes all proper shields inoperable.

David.

david_prentice: The official Arduino Protoshield connects to the 3x2 SPI header. So does the current Adafruit Protoshield.

It appears that you are using the old obsolete Adafruit Protoshield which does not mate.

Yes, I think it is an excellent idea to solder headers onto a Protoshield to suit your motors or ILI9341 display. You end up with a robust physical sandwich that has reliable electrical connections.

I really dislike the idea of bending the Due SPI header. It makes all proper shields inoperable.

David.

david_prentice,

afaik, all the Arduino AVR boards have connected the Atmega8 SPI (3x2) pins to D10, D11, D12, D13, GND and 5V and consequently, most (if not all) of the Arduino shields (including the official) connect also the SPI (3x2) pins to D10, D11, etc. Arduino Due doesn't use D10, D11, etc.. for SPI purposes and has its SPI pins connected directly to the SPI connector, thus, AVR and ARM Arduino boards don't match their SPI connectors. That's why we are forced to do the turnaround like HermannSW. Regards.

-p

EDIT: Arduino Due uses the SPI connector for its SPI signals. By contrast, Arduino AVR boards use the SPI connector as a bridge for its SPI signals hardwired to D10, D11, etc.

-p

OK, this is the Uno Prot Shield I bought (photo below):

David was 5/6 correct, I just measured which connections exist for the 6 pins labeled ICSP on Uno shield at photo bottom corner:

ICSP.1 - D12 (MISO)
ICSP.2 - 5V
ICSP.3 - D13 (SCK)
ICSP.4 - D11 (MOSI)
ICSP.5 - Reset (not D10)
ICSP.6 - GND

As David said SPI pins are only available on SPI connector on Due, I was surprised when I encountered this as well:

I am happy with the solution (using Uno Proto Shield for Due), the female connectors are really firmly attached to the bended pins (which is really needed for Arduebot, fast moving autonomous robot). I do not plan to use any other shields and ordered 4 more shields yesterday, for 5$ in total with free shipping to Germany …

Hermann.

I did buy these cheap double sided copper prototype boards for no dedicated project.

But especially the 4x6 board seems to be a perfect addition to an Uno Proto shield for Arduino Due ...

Hermann.

|500x375

Yesterday I went to aliexpress.com and did what I do sometimes, search for “Arduino”, sort by price and look for everything <1$.

This time it was good not having stopped early, one of the last items (0.99$) was the proto shield board shown below, and it seem to have Arduino Due SPI connector at the exact right place! I ordered 4 and will update when I can verify, but visually the female 3x2 block should fit exactly on Due’s SPI1 block.
http://www.aliexpress.com/item/Free-shipping-Standard-Proto-Screw-Shield-Board-For-Arduino-Compatible-Improved-version-support-A6-A7/32219287394.html?spm=2114.01010208.3.284.SSIEte&ws_ab_test=searchweb201556_9,searchweb201602_3_10034_507_10032_10020_10001_10002_10017_10010_10005_10011_10006_10021_10003_10004_10022_10009_401_10008_10018_10019,searchweb201603_8&btsid=cb283113-e3cb-4ffa-838a-83e188fa55ad

Hermann.

Got new Due and new Uno proto shields and realized for the first time that Uno Proto shield has 3 holes exactly over SPI.1, SPI.3 and SPI.5 pins. SPI.2 (5V) and SPI.6 (GND) are not really needed because of 5V and GND rails on proto shield. Drilling a single hole for SPI.4 (MOSI) would avoid the need for bending.

Hermann.

|500x375

With this shield:

http://www.ebay.com/itm/1x-Prototype-PCB-for-Arduino-UNO-R3-Shield-Board-DIY-/131350540308

|500x307

|500x307

|500x396

Thanks, the shields are quite similar: |297x500

This seems rather an odd discussion. Surely you would use a Mega2560 Protoshield with a Due.

However, there is a lot to be said for Uno Prototype shields. They fit on all the regular Arduino boards. TFTLCDCyg's green board looks attractive. You can buy 10 for $12. So a lot more convenient than those boards without a full area of 0.1" plated through holes.

It is a lot more reliable to make a hand wired shield than to have lots of trailing wires. Both electrically and mechanically.

David.

Just from the postman, four 0.99$ Proto shield​s arrived, WITH Arduino Due SPI access! |500x375

I did put the pieces together (w/o soldering), and the 2x3 block for SPI access sits perfectly.

Still waiting for the green boards to arrive,

Hermann.